随笔分类 - 树
摘要:堆排序 堆排序基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序。 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有要求结点的左孩子的值和右孩子的
阅读全文
摘要:线索化二叉树 先看一个问题 将数列 {1, 3, 6, 8, 10, 14 } 构建成一颗二叉树. n+1=7 问题分析: 当我们对上面的二叉树进行中序遍历时,数列为 {8, 3, 10, 1, 6, 14 } 但是 6, 8, 10, 14 这几个节点的 左右指针,并没有完全的利用上. 如果我们希
阅读全文
摘要:二叉树-删除节点 思考题(课后练习) 如果要删除的节点是非叶子节点,现在我们不希望将该非叶子节点为根节点的子树删除,需要指定规则, 假如规定如下: 如果该非叶子节点 A 只有一个子节点 B,则子节点 B 替代节点 A 如果该非叶子节点 A 有左子节点 B 和右子节点 C,则让左子节点 B 替代节点
阅读全文
摘要:二叉树 为什么需要树这种数据结构 数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 [示意图] 画出操作示意图: 链式存储方式的分析 优点:在一定程度上对数组存储方式有优化(比
阅读全文