이진트리 3

클래스와 이진트리 구현 - 백기선 자바라이브스터디

클래스와 객체 클래스는 인스턴스 생성을 위한 청사진 또는 템플릿 역할을 합니다. 인스턴스가 보유하게 될 구조와 동작을 정의합니다. 인스턴스가 생성되면 해당 클래스에 정의된 데이터와 동작으로 초기화 됩니다. 클래스와 인스턴스 간의 이러한 관계는 코드 재사용성을 가능하게 하고 캡슐화, 상속, 다형성의 원칙을 촉진합니다. 클래스 정의하는 방법 클래스의 구조 멤버변수(member variable) : 멤버변수는 해당 클래스 객체의 속성이며, 두가지 형식이 있습니다 클래스 변수: 클래스의 모든 인스턴스간에 공유되는 static 변수 입니다. 그렇기 때문에 heap영역이 아닌 data의 static영역에 할당되고 gc의 관리를 받지 않습니다. 인스턴스 변수: 각 인스턴스가 고유한 값 집합을 유지할 수 있도록 합니다..

공부방/JAVA 2023.08.12

트리(이진 탐색 트리) 삽입연산,삭제연산

이진탐색트리는 탐색을 효율적으로 하기 위해 만든 이진 트리 기반의 탐색을 위한 자료구조입니다. 이진탐색트리를 알기 위해 정의를 살펴봅시다. 이진 탐색 트리의 정의 모든 원소의 키는 유일한 키를 가진다. 왼쪽 서브 트리 키들은 루트 키보다 작다. 오른쪽 서브 트리 키들은 루트의 키보다 크다. 왼쪽과 오른쪽 서브트리도 이진 탐색트리이다. 위에 있는 정의들을 만족시키며 이진 탐색 트리는 완성이 됩니다. 아래에 있는 영상은 어떻게 하면 이진탐색트리를 좀더 쉽게 정의를 지키며 구현할 수 있을까 해서 가져온 영상입니다. https://www.youtube.com/watch?v=9ZZbA2iPjtM 이진탐색트리의 삽입연산 이진 탐색 트리에 원소를 삽입하기 위해서는 먼저 탐색을 수행하는 것이 필요하다. 이유는 이진 탐..

자료구조 <트리>

트리란? 계층적인 구조인 트리는 가족의가계도, 회사의 조직도, 컴퓨터의 디렉토리 구조, 인공지능 문제에서도 사용됩니다. 대표적인 것이 결정트리 트리의 용어들 루트(root) : 계층적인 구조에서 가장 높은 곳에 있는 노드 : (A) 서브트리(subtree) : 루트노드를 제외한 나머지 노드들 : { (B,D,E,H,I,J) , (C,F,G) } 간선(edge) : 트리에서 루트와 서브트리는 선으로 연결됩니다. : 10개 (공식::노드의 개수-1) 부모노드(parent node) : 데이터 구조의 트리에서 모든 노드의 선행 노드인 노드를 부모 노드라고 하거나 자신에서 다른 연속 노드로 분기하는 노드를 부모 노드라고 합니다. : (A),(B),(C),(D),(E),(F),(G) 자식노드(children no..