问题描述 记得刚学习数据结构的时候,就容易混淆二叉堆和二叉搜索树,其实虽说堆也是一种完全二叉树,但二者差别还是挺大的,本文试做分析。 逻辑结构 二叉堆和二叉搜索树都是结点带权重,并在父子结点间满足某种规则的数据结构。 二叉堆是一种完全二叉树,分大根堆、小根堆两种,子结点总是大于或小于父结点。 大根堆,顾名思义,根是最大的,每个子结点都要小于父结点,不区分左右儿子谁大谁小,也不必保证某个“孙子结点”一定要小于另一个“儿子结点”。 小根堆恰恰相反,根是最小的,每个子结点都要大于父结点,不区分左右儿子谁大谁小,也不必保证…

2020年2月18日 0条评论 89点热度 阅读全文

基本的查找技术: 线性表的查找技术 顺序查找 分块查找 二分查找(折半查找) 插值查找 树表的查找技术 二叉排序树 平衡二叉树 B树(B+树、B-树等) 散列表的查找技术 开散列表 闭散列表 顺序查找和其他查找技术相比,缺点是平均查找长度较大,特别是当查找集合较大的时候,查找效率较低(线性增长)。然而,顺序查找的优点也很突出:算法简单+适用面广。它对表中记录的储存无任何要求,顺序和链接都可;对表中数据有序性也无要求,可以顺序可以乱序。 对比顺序查找,二分查找性能较好,但它要求线性表中的记录必须是有序的,而且必须是顺…

2019年10月11日 0条评论 5点热度 阅读全文