蓝桥杯算法入门(Python) 课件 3-7二叉树.pptxVIP

  • 1
  • 0
  • 约小于1千字
  • 约 12页
  • 2026-08-23 发布于山东
  • 举报

蓝桥杯算法入门(Python) 课件 3-7二叉树.pptx

罗勇军;高级数据结构之母

效率极高

适合复杂操作:区间(查询、更新、合并)、分治…;每个节点最多有两个子节点:左孩子、右孩子

以它们为根的子树称为左子树、右子树。

二叉树的每个节点不必全有左、右孩子,可以只有一个孩子或没有孩子,没有孩子的结点称为叶子节点。

二叉树的第i层,最多有2i-1个节点

有n个点的平衡二叉树,共有O(logn)层;【满二叉树】

每一层的节点数都是满的

【完全二叉树】

只在最后一层有缺失,缺失的编号都在最后

几乎完美的平衡二叉树;在平衡二叉树上能进行极高效率的访问。例如满二叉树或完全二叉树,二叉树每一层的节点数量按2的倍数递增,能极快地扩展到很大的范围。一棵有N个节点的满二叉树,树的高度是O(logN)。从根节点到叶子节点,只需要走logN步,例如N=100万,树的高度仅有20,只需要20步就能到达100万个节点中的任意一个。

高级数据结构≈基于二叉树的数据结构;“链状”二叉树。

每一层都缺失很多结点,退化成一个长链条状。

失去了二叉树天然的优势。

只有在平衡的二叉树上才能进行高效的操作。

不平衡的二叉树退化成了线性结构,和低效的链表没多大区别。;在算法竞赛中一般用类来定义二叉树。

下面定义一个大小为N的类。N的值根据题目要求设定,有时节点多,例如N=100万。;先(根)序遍历

中(根)序遍历

后(根)序遍历;;;ABCDEFGHI

根节点左边的点都在

文档评论(0)

1亿VIP精品文档

相关文档