摘要: tip:这里对多路查找树是简单介绍和讲解,因为这部分属于深入学习了 二叉树存在的问题 二叉树的操作效率较高,但是也存在问题,如下图所示 当二叉树的节点较少时,不会出现什么问题。但是当节点过多时(海量,如 1 亿),就会出现如下的问题: 构建二叉树时,需要进行多次 I/O 操作 节点较多时,一般会存储 阅读全文
posted @ 2021-09-20 08:32 海绵寳寳 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 二叉排序树存在的问题 一个数列 {1,2,3,4,5,6},创建一颗二叉排序树(BST) 创建完成的树如上图所示,那么它存在的问题有以下几点: 左子树全部为空,从形式上看,更像一个单链表 插入速度没有影响 但查询速度明显降低 因为需要依次比较,不能利用二叉排序树的折半优势。而且每次都还要比较左子树, 阅读全文
posted @ 2021-09-18 15:36 海绵寳寳 阅读(305) 评论(2) 推荐(0) 编辑
摘要: 给你一个数列 7, 3, 10, 12, 5, 1, 9,要求能够高效的完成对数据的查询和添加。 在 为什么需要树这种数据结构 中讲解了数组、链表数据结构的优缺点,简单说: 数组访问快,增删慢 新增或移除时,需要整体移动数据 链表增删快,访问慢 只能从头开始遍历查找 那么利用 二叉排序树(Binar 阅读全文
posted @ 2021-09-16 17:18 海绵寳寳 阅读(430) 评论(1) 推荐(0) 编辑
摘要: tip:学习本篇需要懂得赫夫曼树(哈夫曼树),数据结构与算法——赫夫曼树(哈夫曼树) 基本介绍 赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种 编码方式,是一种用于无损数据压缩的熵编码(权编码)算法 赫夫曼编码是 赫哈夫曼树 在电讯通信中的经典的应用之一。 赫 阅读全文
posted @ 2021-09-14 22:05 海绵寳寳 阅读(780) 评论(0) 推荐(0) 编辑
摘要: 基本介绍 赫夫曼树(Huffman tree): 给定 n 个 权值 作为 n 个 叶子节点,构造一颗二叉树,若该树的 带权路径长度(WPL)达到最小,称这样的二叉树为 最优二叉树,也称为 哈夫曼树(Huffman Tree),还有的叫 霍夫曼树 赫夫曼树是带权路径长度最短的树,权值较大的节点离根节 阅读全文
posted @ 2021-09-12 22:11 海绵寳寳 阅读(831) 评论(0) 推荐(1) 编辑
摘要: 注意:学习本篇需要学会二叉树 关于二叉树的学习 请看 数据结构与算法——二叉树 基本介绍 堆排序(英语:Heapsort)是利用 堆 这种 数据结构 而设计的一种排序算法,堆是一个近似完全二叉树的结构,它是一种选择排序,最坏 、最好、平均时间复杂度均为 O(nlogn),它是不稳定排序。 堆是具有以 阅读全文
posted @ 2021-09-12 10:57 海绵寳寳 阅读(351) 评论(1) 推荐(0) 编辑
摘要: 为什么需要树这种数据结构? 数组存储方式的分析 优点: 通过 下标 方式访问元素,速度快 对于 有序数组,还可以使用二分查找提高检索速度 缺点:如果无序数组要检索具体某个值,或插入值(按一定顺序)会整体移动,并且数组的大小固定,如果该数组已经满了但又想插入数据,那就必须对该数组进行扩容,效率较低,如 阅读全文
posted @ 2021-09-08 21:39 海绵寳寳 阅读(533) 评论(6) 推荐(2) 编辑
摘要: 哈希表是一种数据结构,不是算法。 Google 上机题场景 有一个公司,当有新的员工来报道时,要求将该员工的信息加入 (id,性别,年龄,住址..), 当输入该员工的 id 时,要求查 找到该员工的 所有信息。 要求:不使用数据库、尽量节省内存、速度越快越好。 那么这道题,就可以使用哈希表 基本介绍 阅读全文
posted @ 2021-09-04 14:16 海绵寳寳 阅读(222) 评论(0) 推荐(0) 编辑
摘要: **tip:**在学习该篇前,建议去搞懂 二分查找,关于 二分查找 请看 数据结构与算法——查找算法-二分查找 基本介绍 斐波那契(黄金分割法)搜索(Fibonacci search) ,又称斐波那契查找,是区间中单峰函数的搜索技术。 斐波那契搜索就是在**二分查找的基础上**根据斐波那契数列进行分 阅读全文
posted @ 2021-09-03 14:41 海绵寳寳 阅读(679) 评论(0) 推荐(0) 编辑
摘要: 在讲插值查找前,我们先来看一个二分查找的场景。 **tip:**建议先搞懂二分查找再来看本篇。关于二分查找请看 数据结构与算法——查找算法-二分查找 先来看一个场景 /** * 先来看一个场景,在二分查找中查找需要几次 */ @Test public void binary2Test() { int 阅读全文
posted @ 2021-09-03 13:05 海绵寳寳 阅读(116) 评论(0) 推荐(0) 编辑