이진 트리는 무엇입니까?
이진 트리는 정보를 저장, 정렬 및 액세스하기 위해 컴퓨터 프로그래밍에 사용되는 데이터 구조 유형입니다. 이진 트리는 가장 간단한 트리이지만, 매우 유용하고 구현하기 쉽습니다. 이진 트리의 일반적인 구현은 포인터 변수에 의해 트리 자체를 구성하는 일련의 노드에 연결된 루트 노드에 의존합니다. 이 유형의 트리는 트리 내의 노드가 둘 이상의 하위를 가질 수 없다는 사실에서 그 이름을 얻습니다.
트리 데이터 구조는 다양한 종류가 있습니다. 이들은 서로 다른 노드로 구성되며 계층 적 패턴으로 구성됩니다. 단일 노드 인 루트는 전체 데이터 트리를 검색하거나 조작 할 수있는 액세스 지점입니다. 이 루트 노드는 트리 자체 내의 최상위 노드를 가리 킵니다.
최상위 노드에 대해 저장되는 트리 내의 모든 노드에는 트리의 계층 구조에서 상위 노드가 있습니다. 또한 하위 노드가있을 수 있으며 그 아래에 있습니다. 주어진 노드는 트리에서 그 위의 노드를 통해 액세스되고 그 아래 노드에 대한 액세스를 제공합니다.
이진 트리 데이터 구조는 각 노드가 둘 이상의 하위를 가질 수 있도록합니다. 따라서 주어진 노드에는 0, 1 또는 2 개의 하위 노드가 연결될 수 있습니다. 일반 이진 트리를 사용하면 트리의 어느 시점에서나 많은 수의 자식이있는 노드를 사용할 수 있습니다. 또한 트리를 구성하는 노드에 저장된 값이 배열되는 방식에 제한이 없습니다.
데이터 구조는 컴퓨터에서 데이터에 액세스 할 수있는 속도를 향상시킬 때 가장 유용하며 수정 된 버전의 이진 트리를 사용하여 효율성을 향상시킵니다. 이진 검색 트리는 주어진 노드에서 왼쪽 내림차순 분기에있는 모든 데이터 값이 해당 노드에 저장된 값보다 작거나 같은 값을 갖는 트리입니다. 순서화 된 이진 트리에서 노드의 오른쪽에있는 값은 기본 노드의 값보다 커야합니다. 이 데이터 순서를 사용하면 훨씬 효율적인 검색 알고리즘을 작성할 수 있습니다.
이진 트리의 모양은 검색 알고리즘의 효율성을 결정하는 데 중요합니다. 가장 효율적인 이진 트리는 각 노드에 단일 자식 만있는 트리입니다. 이 구성에서 단일 정보를 찾으려면 컴퓨터가 전체 트리의 모든 데이터 항목을 검사해야 할 수도 있습니다. 반면에 가장 효율적인 이진 트리는 트리의 맨 아래에있는 노드를 저장하는 모든 노드에 두 개의 자식이 있고 트리의 맨 아래 노드 인 모든 리프 노드가 루트와 동일한 거리에있는 트리입니다.