개인 재정 알고리즘에서 사용되는 바이너리 힙 및 이진 검색 트리 - 더미

알고리즘에서 사용되는 바이너리 힙 및 이진 검색 트리 - 더미

비디오: Data Structures: Crash Course Computer Science #14 2024

비디오: Data Structures: Crash Course Computer Science #14 2024
Anonim

특별한 종류의 트리 구조는 바이너리 힙 ()으로 각 노드 요소를 특별한 순서로 배치합니다. 검색 트리를 사용하여 데이터를 빠르게 찾을 수 있습니다. 데이터 항목을 가져 와서 트리에 정렬 된 순서로 배치 한 다음 해당 트리를 검색하는 것이 정보를 찾는 더 빠른 방법 중 하나입니다.

바이너리 힙에서 루트 노드는 항상 가장 작은 값을 포함합니다. 브랜치를 볼 때 상위 레벨 브랜치는 항상 하위 브랜치와 브랜치보다 작은 값을가집니다. 그 효과는 검색이 매우 효율적으로되도록 균형 잡힌 예측 가능한 순서로 나무를 유지하는 것입니다. 비용은 나무 균형을 유지하는 것입니다.

응용 프로그램에서 수행하는 모든 작업 중에서 검색은 시간이 많이 걸리고 가장 많이 요구되는 작업입니다. 데이터를 추가하고 나중에 정렬하는 데 약간의 시간이 걸리지 만 데이터 집합을 만들고 유지하는 이점은 데이터 집합을 사용하여 유용한 작업을 수행하는 것에서 비롯됩니다. 이는 중요한 정보를 검색하는 것을 의미합니다. 결과적으로 CRUD 기능의 효율성이 떨어지거나 정렬 루틴이 적합하지 않은 경우도있을 수 있지만 가능한 한 효율적으로 검색을 진행해야합니다. 유일한 문제는 절대적인 효율성으로 모든 작업을 수행하는 검색이 없으므로 검색 루틴의 일부로 수행 할 것으로 예상되는 것을 기준으로 옵션을 평가해야한다는 것입니다.

BST를 사용할 때의 키 배열.

키가 작은 숫자가 왼쪽에 나타나고 큰 숫자가 오른쪽에 나타나는 순서를 따르는 것에 유의하십시오. 루트 노드에는 키 범위의 중간에있는 값이 들어있어 BST가 키를 저장하는 데 쉽게 이해할 수있는 균형 잡힌 접근 방식을 제공합니다. 이 배열을 여기에 표시된 바이너리 힙과 대조하십시오.

바이너리 힙을 사용할 때 키 배열.

각 레벨은 이전 레벨보다 작은 값을 포함하고 루트는 트리의 최대 키 값을 포함합니다. 또한이 특별한 경우에는 왼쪽에 작은 값이 표시되고 오른쪽에 큰 값이 표시됩니다 (이 순서는 엄격하게 적용되지는 않지만). 그림은 실제로

바이너리 최대 힙을 묘사합니다. 루트가 가장 낮은 키 값을 포함하고 각 레벨이 더 높은 값으로 빌드되고 가장 높은 값이 리프의 일부로 나타나는 2 진 최소 힙 을 작성할 수도 있습니다. 앞서 언급했듯이 BST는 검색을 수행 할 때 바이너리 힙보다 몇 가지 장점이 있습니다. 다음 목록은 이러한 장점에 대한 몇 가지 주요 내용을 제공합니다. 요소 검색은 O (log n) 시간이 필요하며 이진 힙의 O (n) 시간과 대조됩니다.

요소를 순서대로 인쇄하려면 O (log n) 시간 만 필요하며 이진 힙의 경우 O (n log n) 시간과 대조됩니다.

  • 바닥과 천장을 찾으려면 O (log n) 시간이 필요합니다.
  • K 번째 가장 작은 / 가장 큰 요소를 찾으려면 트리가 올바르게 구성되어있을 때 O (log n) 시간이 필요합니다.
  • 시간이 중요한지 여부는 신청서에 따라 다릅니다. BST는 검색에 더 많은 시간을 보내고 트리를 만드는 데 드는 시간을 줄이는 데 가장 적합합니다. 바이너리 힙은 키가 규칙적으로 변경되는 동적 상황에서 가장 잘 작동하는 경향이 있습니다. 바이너리 힙은 다음 목록에서 설명하는 것처럼 이점을 제공합니다.
  • 바이너리 힙은 배열에 의존하기 때문에 필요한 구조를 만드는 데 필요한 리소스가 더 적습니다.

바이너리 힙을 구축하려면 O (n) 시간이 필요하며 BST와는 대조적으로 O (n log n) 시간이 필요합니다.

  • 포인터를 사용하여 트리를 구현할 필요가 없습니다.
  • 바이너리 힙 변형 (예: 피보나치 힙)은 O (1) 시간의 키 시간을 늘리거나 줄이는 것과 같은 이점을 제공합니다.
알고리즘에서 사용되는 바이너리 힙 및 이진 검색 트리 - 더미

편집자의 선택

자동으로 단어 채우기 Word 2003 자동 텍스트 - 더미

자동으로 단어 채우기 Word 2003 자동 텍스트 - 더미

로 자동 채우기 Word 2003의 상용구 기능은 자동으로 단어 쓰기를 완료합니다. 철자하기 시작 했어. 당신이 영웅으로 크리스토퍼를 특징으로하는 다음 Great American Novel을 쓰고 있다고합시다. Christopher 철자를 반복해서 쓰는 대신 이름의 몇 글자 만 입력하면 팝업 상자가 나타납니다. 그것은 말한다 : 크리스토퍼 : (삽입하려면 Enter 키를 누릅니다). ...

의 기본 사항 인 > Word 2013의 파일 메뉴 - 더미

의 기본 사항 인 > Word 2013의 파일 메뉴 - 더미

의 기본 사항은 파일 탭을 클릭하면 파일 메뉴가 열립니다. Backstage보기라고합니다. Backstage보기는 작업중인 데이터 파일과 관련된 명령 (예 : 저장, 열기, 인쇄, 우편 발송 및 속성 확인)에 대한 액세스를 제공합니다. Backstage보기를 종료하려면 다른 탭을 클릭하거나 ...

Word 2007에서 SmartArt의 빠른 스타일 변경 - 더미

Word 2007에서 SmartArt의 빠른 스타일 변경 - 더미

당신은 여러모로 그 모양을 조정할 수 있습니다. 가장 쉬운 방법은 다이어그램에 적용된 빠른 스타일을 변경하는 것입니다. 빠른 스타일은 단순히 색상 및 모양 효과와 같은 서식 요소 모음을 구성하는 요소 중 일부에 할당됩니다.

편집자의 선택

실습 초등 교육 시험 - 실습 - 실습

실습 초등 교육 시험 - 실습 - 실습

Praxis 초등 교육 시험에는 commutative, associative, distributive 및 substitution의 4 가지 주요 속성을 이해해야합니다. 교환 가능 속성 및 결합 속성에는 더하기 및 곱하기 버전이 있습니다. 세 개 이상의 숫자가 추가되면 추가되는 순서는 중요하지 않습니다. 그 합계 ...

초등 교육 시험 문장 구조 - 더미

초등 교육 시험 문장 구조 - 더미

초등학교 교사는 문장의 다른 부분뿐만 아니라 문장의 다른 종류. 예를 들어, Praxis 초등 교육 시험에 나오는 문장 구조에 관한 질문은 주제와 술어 또는 화합물과의 차이점을 알아야 할 수도 있습니다.

초등 교육 시험 작문 구조 - 인형

초등 교육 시험 작문 구조 - 인형

학생들은 공통 구조를 사용하여 작문을 구성한다. 인과 관계, 연대순, 비교 및 ​​계약. Praxis Elementary Education 시험은 귀하가 이러한 구조를 잘 알고 있어야합니다. 다음 목록에는 공통 구조 (사용되는 경우)와 자주 사용되는 단어가 링크되어 있습니다. 원인과 결과 ...

편집자의 선택

AutoCAD 2014의 블록 정의 편집 대화 상자 사용 방법 - 인형

AutoCAD 2014의 블록 정의 편집 대화 상자 사용 방법 - 인형

AutoCAD 도면에는 여섯 가지 종류의 시트가 표시됩니다. 한 가지 방법은 모두를 대표하는 세 가지 표준 블록을 만드는 것입니다. 또는 단일 동적 블록을 만들고 세 가지 유형 모두를 포괄하는 가시성 상태를 정의 할 수 있습니다. 다음 단계에서는 블록을 두 배로 만드는 방법을 보여줍니다 (또는 트리플 ...).

AutoCAD 2014에서 MLeaDer 명령 사용 방법 - 인형

AutoCAD 2014에서 MLeaDer 명령 사용 방법 - 인형

AutoCAD 2014를 사용하면 다중 지시선 MLeaDer 명령을 사용하여 동시에 지시선과 여러 줄 문자로 구성된 객체; 다음과 같은 간단한 단계를 따르십시오. 사용자의 필요에 따라 적절한 다중 지시선 스타일을 설정하십시오. 홈 탭의 다중 지시선 스타일 드롭 다운 목록에서 기존 스타일 선택 ...