목록소스 (3)
MyCloud
자료구조 - 이진탐색트리 앞서 포스팅했던 이진트리를 활용한 이진탐색트리입니다. 이진탐색트리는 탐색작업을 효율적으로 하기 위한 자료구조입니다! 탐색이란 사전에서 검색하고자 하는 단어를 찾거나, 서점에서 책을 찾는 것과 같이 자료를 속에서 필요한 자료를 찾아내는 것을 말합니다. 탐색구조에서 탐색을 하기 위해서 찾을 자료를 식별할 수 있는 유일한 값을 키(Key) 라고 합니다. 이진탐색트리에서는 저장할 데이터의 크기, 즉 키에 따라 노드의 위치를 정의합니다. 그리고 이진탐색트리를 중위 순회 방법(LVR)으로 순회하면 숫자 크기 순으로 정렬된다는 성질이 있습니다. 이진탐색트리의 정의는 다음과 같습니다. 1. 모든 노드의 키는 유일하다. 2. 왼쪽 서브 트리의 원소의 키는 그 루트의 키보다 작다. 3. 오른쪽 서..
ArrayList에 이어서 LinkedList에 대해 알아보겠습니다. LinkedList에서 가장 중요한 것은 노드입니다.객체 Node는 data 필드와 next 포인터 변수를 가지고 있는 구조입니다.각 노드는 다음 노드를 가리키는 하나의 참조만을 갖기 때문에 접근이 한 방향으로만 가능합니다. 1234567public static void main(String[] args) { LinkedList numbers = new LinkedList(); numbers.add(10); numbers.add(20); numbers.add(30); numbers.add(40); System.out.println("add : " + numbers);cs LinkedList를 사용하기 위해서는 우선 LinkedList ..
변수에 담겨진 데이터는 하나의 데이터유형을 하나만 보관할 수 있습니다. 하지만 배열은 하나의 데이터유형을 여러개 보관할 수 있습니다. 각 요소들은 정수형 인덱스로 접근가능하며 다양하게 활용할 수 있습니다. 리스트는 순서를 가진 항목들의 모임입니다. 일반적으로 리스트는 배열리스트와 연결리스트로 표현되는데 배열리스트는 크기가 제한되므로 삽입, 삭제 시 범위를 넘어가는 문제가 생깁니다. 반면 연결리스트는 크기가 제한되지 않아 삽입, 삭제가 효율적입니다. + 추가 (ArrayList와 Vector의 차이)기능적 측면에서 보면 ArrayList와 Vector의 차이는 거의 없습니다.하지만 Java API 문서에 따르면, ArrayList에는 다음과 같이 정의되어 있습니다."This implementation is..