Development/Algorithm, DataStructure(94)
-
Douglas-Peucker 알고리즘 (DP Algorithm)
Douglas-Peucker 알고리즘 (DP Algorithm)· Ramer–Douglas–Peucker algorithm· 벡터 단순화 알고리즘· 다각형 근사에 사용되는 알고리즘· 영상에서 추출한 객체(object)의 경계선은 객체의 모양에 대한 많은 정보를 담고 있지만, 어떤 경우에는 불필요한 정보가 될 수도 있습니다. 이런 경우에 원래의 경계를 충분히 닮은 다각형으로 간략화해서 불필요한 정보를 제거할 수 있게 해주는 알고리즘입니다. https://en.wikipedia.org/wiki/Ramer–Douglas–Peucker_algorithm
-
큐(Queue), Queue 활용 사례
큐(Queue) 대기열 Queue의 구조는 도로에 뚫려져 일정구간의 일방통행인 터널형태와 동일한 원리입니다.요소(Element)가 들어가는 입구와 요소(Element)가 나오는 출구가 따로 준비 되어 있어 가장 먼저 들어간 요소(Element)가 가장 먼저 나오는 선입선출, first-in-first-out(FIFO)방식의 자료구조입니다. Queue 활용 사례OS CPU의 연산 처리시 작업 대기프린터가 출력하는 문서 대기시동영상 스트리밍 서비스에서 컨텐츠 버퍼링시 큐(Queue) 도식도 http://codedragon.tistory.com/4688
-
LinkedList<E>에서 컬렉션 클래스를 HashSet<E>로 변경
LinkedList에서 컬렉션 클래스를 HashSet로 변경IteratorEx01.java에서 LinkedList를 HashSet변경시 반복자를 사용하기 때문에컬렉션 선언만 바뀌고 나머지 부분은 모두 동일하게 사용할 수 있습니다. // 다른 컬렉션으로 변경할 때는 new ArrayList()부분만 변경하면 됩니다. List list = new ArrayList(); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } List에 없고 ArrayList에만 있는 메소드를 사용하는 것이 아니라면 List타입의 참조변수를 생성하도록 선언하는 것이 좋습니다.성능상의 이유이거나 테스트..
-
자료 형태에 따른 자료 구조 분류
자료 형태에 따른 자료 구조 분류
-
Collections
Collections배열과 관련된 메소드를 Arrays클래스가 제공하는 것 처럼, 컬렉션과 관련된 메소드를 제공하는 클래스입니다. Collection vs Collections
-
ArrayList & Vector 사용시 고려사항
ArrayList & Vector 사용시 고려사항· ArrayList 와 Vector는 배열을 이용한 자료구조로 데이터를 읽고 저장하는 데는 효율적이지만 그 크기를 변경해야할 경우 새로운 배열을 생성한 후 기존의 배열의 데이터를 복사하기 때문에 효율성이 떨어지게 됩니다.· 처음 ArrayList 나 Vector의 인스턴스 생성시 저장할 데이터의 개수를 미리 고려하여 충분한 크기의 인스턴스를 생성하는 것이 좋습니다. · ArrayList 클래스는 Vector클래스와 동일하며 성능을 개선한 클래스가 ArrayList 클래스입니다.· Vector 클래스는 ArrayList 클래스와 마찬가지로 List 인터페이스를 상속받습니다. 따라서 Vector 클래스에서 사용할 수 있는 메소드는 ArrayList 클래스에서..