Development/Algorithm, DataStructure(95)
-
이진 트리(Binary Tree), 이진 트리(Binary Tree)의 코드화
이진 트리(Binary Tree)· 링크드리스트(Linked List)처럼 여러 개의 노드(node)가 서로 연결된 구조입니다.· 루트(root)노드에서 시작해서 계속 확장하면서 트리 구조를 만들어 갑니다.· 모든 노드가 최대 “2 개”의 자식을 가질 수 있는 트리 구조이며, 한 부모노드가 단 두개의 자식노드만 가질 수 있습니다.· 위 아래로 연결된 두 노드는 '부모-자식'관계에 있으며 위의 노드를 부모노드, 아래의 노드를 자식노드라고 합니다. '부모-자식'관계는 상대적인 것입니다.· 트리(tree)는 노드들이 나무와 같이 계층적인 구조로 연결되어 있어서 붙여진 이름입니다. class TreeNode{ Object element; //객체 저장 참조변수 TreeNode left; // 왼쪽 자식node ..
-
이진 검색(binary search)
이진 검색(binary search)· 배열의 검색할 범위를 반복적으로 절반씩 줄여가면서 검색하기 때문에 검색속도가 상당히 빠릅니다.· 배열의 길이가 많이 늘어나도 검색 횟수는 몇회 밖에 늘어나지 않으므로 큰 배열을 검색할 때 유용합니다.· 하지만 배열이 정렬이 되어있어야 사용할 수 있습니다.
-
이진 탐색 트리(Binary Search Tree), 이진 트리 구조 도식도, 이진 검색 트리 저장 원리
이진 탐색 트리(Binary Search Tree)모든 노드는 최대 두 개의 자식노드를 가질 수 있습니다.바이너리 서치 트리는 어느 노드에서든 그 노드의 왼쪽 부분 트리의 모든 원소는 그 노드의 값보다 작거나 같고, 오른쪽 부분 트리에는 해당 값보다 큰 값이 저장되어 있습니다.정렬, 검색, 범위 검색(range search)에 높은 성능을 보여주는 자료구조입니다. 8, 5, 20의 순서로 저장된 이진 트리 구조 도식도간단하게 도식화한 이진 트리 구조 실제로 저장되는 이진 트리 구조 이진 검색 트리 원리첫번째로 저장되는 값은 root노드가 됩니다.두번째 저장되는 값은 트리의 root부터 시작해서 값의 크기를 비교해서 트리를 따라 내려가게 됩니다. 비교해서 작은 값은 왼쪽에 큰 값은 오른쪽에 저장하게 됩니다..
-
Comparable의 compareTo 구현 사례 -Integer 랩퍼클래스
Comparable의 compareTo 구현 사례 -Integer 랩퍼클래스 Integer 클래스의 코드C:\CodeLab\src\java\lang\Integer.java Comparable의 compareTo(T o)추상메소드를 구현하고 있습니다.두 Integer객체에 저장된 int값(value)을 비교해서 작으면 -1, 같으면 0, 크면 1을 반환하는 것을 알 수 있습니다.TreeSet에 Integer인스턴스를 저장했을 때 정렬되는 기준이 compareTo()메소드에 의한 것입니다.
-
The Sound of Sorting - "Audibilization" and Visualization of Sorting Algorithms - 15 Sorting Algorithms in 6 Minutes
The Sound of Sorting - "Audibilization" and Visualization of Sorting Algorithmshttp://panthema.net/2013/sound-of-sorting/ Source code archivehttp://panthema.net/2013/sound-of-sorting/sound-of-sorting-0.6.5/src/ https://github.com/bingmann/sound-of-sorting 15 Sorting Algorithms in 6 Minuteshttps://www.youtube.com/v/kPRA0W1kECg