비선형자료구조 4

비선형 자료구조 - 이진 탐색 트리 (Binary Search Tree) 정의 및 탐색, 삽입, 삭제 구현

시작하며. 앞서 트리가 무엇인지 이진 트리는 무엇인지 이진 트리의 성격에 따라 포화 이진 트리, 완전 이진 트리, 정 이진 트리, 편향 이진 트리 등등 어떤 종류가 있는지 그리고 어떻게 순회할 수 있는지 등을 알아봤습니다. 오늘은 이진 트리의 종류 중 하나인 이진 탐색 트리에 알아보며 데이터를 삽입하고 삭제하는 방법도 정리하고자 합니다. 이진 탐색 트리(Binary Search Tree, BST)를 알아야 하는 이유 탐색 효율성: 이진 탐색 트리는 데이터를 효율적으로 탐색할 수 있는 구조입니다. 각 노드는 특정한 값을 가지고 있으며, 왼쪽 서브트리에는 작은 값의 노드가, 오른쪽 서브트리에는 큰 값의 노드가 위치합니다. 이를 통해 탐색 시 비교를 통해 탐색 범위를 반씩 줄여나가므로, 탐색 속도가 빠릅니다...

비선형 자료구조 - 이진 트리(Binary Tree)란 무엇이고 여러 가지 종류를 알아보자

시작하며. 지난 글에서 트리 자료구조는 어떤 것인지 왜 이진 트리가 중요한지 등 정리했었다. 이진 트리는 성격에 따라 여러 가지 종류로 분류되며 오늘은 이진 트리란 무엇이고 종류와 특징에 대해서 알아보고자 한다. 이진 트리(Binary Tree). 각 노드는 최대 2개의 자식을 가질 수 있는 트리 자식 노드는 좌우를 구분하여 값을 저장 (왼쪽 자식 : 부모 노드의 왼쪽 / 오른쪽 자식 : 부모 노드의 오른쪽 아래) 이진 트리의 서브 트리는 공백이 될 수도 있고 하나의 서브트리만 가지거나 두 개 모두 가질 수도 있다. 이진 트리의 종류. Perfect binary Tree : 포화 이진 트리 - 모든 레벨의 노드들이 2개씩 다 채워져 있는 트리 - 모든 리프 노드가 같은 레벨에 있어야 함 Complete ..

비선형 자료구조 - 트리(Tree)란 무엇이고 왜 이진 트리를 알아야 하는가?

시작하며. 자료구조를 공부하면서 선형 자료구조는 어떻게 어떻게 이해하겠는데 비선형 자료구조는 정말 멘탈 바사삭이다. 그래서 트리부터 천천히 정리하며 기록하려 한다. 트리(Tree)란 무엇인가? 노드와 링크로 구성된 자료구조, 그래프의 일종, Cycle 없음 계층적 구조를 나타낼 때 사용(폴더 구조, 조직도, 가계도 등) 데이터가 순차적으로 저장되지 않기 때문에 비선형 자료구조 트리의 요소가 여러 수준으로 배열되는 계층 구조 트리는 나무. 나무에는 잎, 가지, 뿌리 및 줄기가 있다 잎을 따라가면 줄기가 있고 이 줄기는 결국 뿌리로 향한다. 트리 구조는 이런 나무의 모습을 그대로 구조화한 모델이다. 뿌리에 해당하는 제일 상위의 노드는 루트 노드라고 하며 줄기에 해당 하는 에지(링크, 브랜치)는 노드 간의 연..

자료구조란 무엇이고 선형/비선형 자료구조란?

시작하며. 선형 / 비선형 자료구조 공부하면서 이해 안되는 부분도 많고 머리속에서 두둥실 떠다니는 개념들을 자리잡기 위해 자료구조란 무엇이고 어떻게 분류되는지 어떤 것들이 있는지 간단하게라도 정리하고 넘어가려 한다. 비선형 자료구조는 아직 모르는게 많아서 제대로 정리가 안된거 같다. 자료구조란. 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현방법들 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨. 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음 여러 자료구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 해 자료구조에 대한 이해가 중요 자료구조 형태에 따른 분류. 선형 자료구조 데이터 요소가 순차적 또는 선형으로 배열되고 일대일 관계에 있으며 각 요소..