>  기사  >  이진 트리를 구현하는 방법에는 여러 가지가 있습니다.

이진 트리를 구현하는 방법에는 여러 가지가 있습니다.

藏色散人
藏色散人원래의
2020-06-29 09:55:043279검색

이진 트리를 구현하는 방법에는 두 가지가 있습니다. 1. 순차 저장은 이진 트리를 저장하기 위해 시퀀스 테이블을 사용하는 것을 말하며 완전한 이진 트리에만 적용 가능합니다. 2. 이진 트리를 저장할 때 체인 저장; 링크 모드에서는 각 노드를 제외하고 노드 자체의 데이터를 저장하는 것 외에도 두 개의 포인터 필드 lchild 및 rchild도 설정해야 합니다.

이진 트리를 구현하는 방법에는 여러 가지가 있습니다.

이진 트리

다섯 가지 기본 형태: 빈 이진 트리, 루트 노드만 있는 이진 트리, 루트 노드만 있는 이진 트리와 왼쪽 하위 트리 TL, 루트 노드만 있는 이진 트리, 오른쪽 하위 트리 TR, 루트 노드 이진 트리, 왼쪽 하위 트리 TL 및 오른쪽 하위 트리 TR

기타 이진 트리: 왜곡 이진 트리, 전체 이진 트리, 완전 이진 트리

구현 방법: 순차 저장, 체인 저장

이진 트리의 순차 저장 순차 테이블(배열)을 사용하여 이진 트리를 저장하는 것을 말합니다. 순차 저장은 완전한 이진 트리에만 적용된다는 점에 유의해야 합니다. 즉, 순차 테이블을 사용하면 완전한 이진 트리만 저장할 수 있습니다. 따라서 일반 이진 트리를 순차적으로 저장하려면 사전에 일반 이진 트리를 완전한 이진 트리로 변환해야 합니다.

이진 트리의 각 노드에는 최대 2개의 자식이 있습니다. 링크 모드에서 이진 트리를 저장할 때, 노드 자체의 데이터를 저장하는 것 외에도 각 노드는 각각 노드의 왼쪽 자식과 오른쪽 자식을 가리키는 두 개의 포인터 필드 lchild 및 rchild를 설정해야 합니다.

위 내용은 이진 트리를 구현하는 방법에는 여러 가지가 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.