- 博客(3)
- 收藏
- 关注
原创 二叉树的四种遍历方式
系列文章目录 历史文章: 平衡二叉树 红黑树 目录系列文章目录前言一、四种遍历方式二、代码实战 前言 本文主要讲述二叉树的几种遍历方式,以及代码实战 一、四种遍历方式 1.前序遍历:先访问根节点,后访问左节点,最后右节点 2.中序遍历:先访问左节点,后访问根节点,最后右节点 3.后续遍历:先访问左节点,后访问右节点,最后根节点 4.层次遍历:一层一层访问,广度优先 总结:前中后序遍历采用DFS思想,即压栈,先进后出,层次遍历需要采用BFS思想,利用队列,先进先出的思想实现 二、代码实战 package
2021-04-22 16:13:01
826
原创 红黑树及代码实战
红黑树详解及代码实战 历史文章回顾: 平衡二叉树 目录红黑树详解及代码实战前言一、红黑树特性二、插入节点三、代码实战 前言 本文主要讲解红黑树的插入实现,从原理到代码实战 一、红黑树特性 1.任何节点非黑即红 2.根节点是黑色, 3.新节点是红色,叶子空节点是黑色 4.红节点不能相连 5.从任何一个节点出发经历的黑色节点数要一样 由此:红黑树非绝对平衡树,但由3、4点特性,可保证最大高度差不会超过两倍(最短全黑,最长红黑相间) 二、插入节点 新插入得节点因默认红色,所以只可能打破特性4,即父节点是红色
2021-04-22 15:58:41
168
原创 平衡二叉树及代码实战
平衡二叉树详解平衡二叉树的插入1.特性2.旋转3.代码实战 平衡二叉树的插入 本文主要讲解平衡二叉树的节点插入时,怎么保证平衡,理解其旋转原理,对后续红黑树的学习也很重要 1.特性 对于树中任意一个节点,其左节点比右节点小,左子树高度与右子树高度差绝对值不能大于1。为此在插入元素时,AVL树使用左旋以及右旋来保证这个特性 2.旋转 AVL树插入时涉及四种旋转:右旋、左旋、先左后右、先右后左 2.1.右旋:左子作父,父为右子,右孙变左孙 通俗讲:当前节点因左子树高不平衡后,需要拉升左子树,即将其左子升为父,自
2021-04-22 15:18:25
181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人