标签: 完全二叉树

3 个内容

笔记(3)

本文介绍了使用 Rust 实现二叉堆(MinHeap)的数据结构。利用 Rust 的 Vector 作为底层存储,实现了`push`(上浮)和 `pop`(下沉)操作来维护堆的完全二叉树和堆性质。代码示例展示了最小堆的实现细节,包括`bubble_up`和`bubble_down`算法。

Elliot Yang·
103 浏览

本文介绍了二叉树的基本概念和几种特殊类型的二叉树,包括完全二叉树、满二叉树、二叉搜索树和AVL树。讨论了它们的定义、性质和节点关系,以及在连续存储方式下的节点下标关系。重点在于理解不同类型二叉树的特性和适用场景。

Elliot Yang·
102 浏览

本文介绍了堆这种特殊的树形数据结构,它是一种基于数组的完全二叉树,常用于实现优先级队列。堆分为最大堆和最小堆,分别保证根节点为最大值或最小值。文章提供了最大堆的 TypeScript 实现,包括插入元素和弹出元素的 `heapifyUp` 和 `heapifyDown` 操作。

Elliot Yang·
142 浏览