
数据结构
文章平均质量分 85
bryan__ren
这个作者很懒,什么都没留下…
展开
-
自平衡二叉排序树(BBST)
AVL树是二叉排序树的一种变形,所以在插入节点的基础部分上和二叉排序树是一样,都需要先跟已有的节点进行大小比较,小的放左边,大的放右边。二叉排序树,依据左子树的值都小于根节点,右子树的值都大于根节点,如果一组数据是降序的有序序列,这样就会创建出一个左斜树,其实就成为了一个单链表。AVL树删除节点需要分两步,一是按照二叉排序树的方式进行节点删除,二是在删除节点之后,需要递归遍历整棵树查找失衡节点并通过调整使其恢复平衡。调整树的平衡的依据是平衡因子,根据平衡因子计算的结果来确定当前失衡的节点是处于什么情况。原创 2025-04-09 07:11:30 · 508 阅读 · 0 评论 -
二叉排序树(BST)
这里在使用中序遍历之后,得到 [18, 20, 21, 22, 26, 28, 30, 32, 34, 35, 36, 40]。在上一篇中,最后谈到了满二叉树及堆,特别是堆,可以解决数据排序的问题。如果当前节点不为空,就对当前节点与新插入的节点进行比较。如果新插入节点小,就放在当前节点的左侧,否则放入右侧(此为该递归函数的递归条件)。如何找到能顶替数值22的节点,就需要从二叉排序树自身的特性来分析该问题。在插入数据时,先判断该节点是否为空,如果为空就创建并返回该节点(此为该递归函数的基线条件)。原创 2025-03-29 08:28:31 · 426 阅读 · 0 评论 -
二叉树及堆
在数据结构中,树是一种特殊的存在,很多高效率的算法都使用树结构来实现。树结构取自于现实中的树,有根有枝有叶,一个根节点多个叶节点。这就是一个树结构,树结构中有一种特殊的结构,就是二叉树结构,二叉树的根节点下最多只有两个叶节点。二叉树的数据结构表示二叉树的遍历方式这几种遍历方式,主要是以根节点为基础进行数据的输出。前序遍历是先输出根节点,然后输出左子节点,再输出右子节点。中序遍历,先输出左子节点,而后是根节点,最后是右子节点后序遍历,先输出左子节点,再输出右子节点,最后输出根节点。原创 2025-03-21 06:50:47 · 986 阅读 · 0 评论