二叉树
从二叉树看递归
- 递归条件
- 终止条件
例:二叉树深度(Leetcode.104)
终止条件:树为空时,深度为0
每一级的返回值是当前级对应的树的最大深度。
1 | int Height(TreeNode* root) |
迭代法的三种遍历
1 | // 前序遍历 |
1 | // 中序遍历 |
1 | class Solution { |
优先队列
二叉堆的两个性质:
1.结构性
堆实际上是一棵完全二叉树,底层元素从左到右填入,所以堆的高度为logN,因为完全二叉树的规律性,堆其实可以看作是一个数组,在这个数组中,父节点位于 i /2 位置,则左子节点则在 2i位置,右子节点在 2i + 1上
2.堆序性
让堆操作快速执行的性质是堆序性,最小元位于根上,在一个堆中,对于每一个节点X,X的父亲小于或者等于X,根节点除外。
上滤
1 | void insert(AnyType x) |
I'm so cute. Please give me money.
- Post link: https://github.com/TheBge/TheBge.github.io/2021/04/10/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/
- Copyright Notice: All articles in this blog are licensed under unless otherwise stated.
若没有本文 Issue,您可以使用 Comment 模版新建。
GitHub IssuesGitHub Discussions