多叉树 多路查找树 多路查找树 二叉树与B树 二叉树的问题分析 多叉树的基本介绍 B树的基本介绍 2-3树基本介绍 2-3树的构建思路 B树、B+树和B*树 B树的介绍 B树的相关概念 B+树的相关概念 B*树的相关概念 二叉树与B树二叉树的问题分析二叉树的操作效率较高,但是也存在问题。 二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如1亿),就存在如 2022-08-03 DataStructure #Java #树 #Tree
平衡二叉树 平衡二叉树(AVL) 平衡二叉树(AVL) 背景引入 基本介绍 实现思路 代码实现 背景引入二叉排序树可能的问题: 给你一个数列{1,2,3,4,5,6},要求创建一颗二叉排序树(BST),并分析问题所在。 BST存在的问题分析: (1)左子树全部为空,从形式上看,更像一个单链表。(2)插入速度没有影响(3)查询速度明显降低(因为需要依次比较),不能发挥BST的优势,因为每次还需要比较左子树 2022-08-02 DataStructure #Java #树 #Tree
二叉排序树 二叉排序树(BST) 二叉排序树(BST) 背景引入 需求分析 解决方案分析 使用数组 使用链式存储(链表) 使用二叉排序树 二叉排序树基本介绍 二叉排序树的创建与排序 二叉排序树的删除 思路分析 代码实现 拓展练习 背景引入需求分析给你一个数列 (7,3,10,12,5,1,9),要求能够高效的完成对数据的查询和添加 解决方案分析使用数组 数组未排序 优点:直接在数组尾添加,速 2022-08-01 DataStructure #Java #树 #Tree #Sort #Srarch
计算机基础 比特(bit)和字节(bytet)(1)一个 0 或者一个 1 存储为一个比特(bit),是计算机中最小的存储单位。 (2)计算机中是最基本的存储单元是字节(byte)。每个字节由 8 个比特构成。 二进制的原码、反码、补码(1)二进制的最高位是符号位:0表示正数,1表示负数(老韩口诀:0 -> 0 1 -> - ,旋转90°) (2)正数的原码,反码,补码都一样(三码合一) (3)负 2022-07-29 CSBase #二进制 #字节
哈夫曼编码 哈夫曼编码 哈夫曼编码 基本介绍 实现思路 特点总结 最佳实践 数据压缩及解压 文件的压缩与解压 哈夫曼编码压缩文件注意事项 基本介绍(1)哈夫曼编码也翻译为哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,属于一种程序算法。 (2)哈夫曼编码是哈夫曼树在电讯通信中的经典的应用之一。 (3)哈夫曼编码广泛地用于数据文件压缩,其压缩率通常在20%~90%之间。 ( 2022-07-28 DataStructure #Java #树 #Tree #Huffman
哈夫曼树 哈夫曼树(HuffmanTree) 哈夫曼树(HuffmanTree) 基本介绍 哈夫曼树几个重要概念和举例说明 构建哈夫曼树的思路 构建哈夫曼树的代码 基本介绍(1)给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(HuffmanTree),还有的书翻译为霍夫曼树。 (2)哈夫曼树是带权路径长度最短的树,权 2022-07-27 DataStructure #Java #树 #Tree #Huffman
堆排序 堆排序堆排序基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序。 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆。注意:没有要求结点的左孩子的值和右孩子的值的大小关系。 每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆 一般升序采用大顶堆,降序采用小顶堆 2022-07-26 DataStructure #Java #Sort #排序
树和二叉树 树和二叉树 树和二叉树 为什么需要树这种数据结构 树 树的概念 树的术语 二叉树 二叉树的形态 特殊二叉树 二叉树的遍历 二叉树遍历的实现思路 前序遍历 中序遍历 后序遍历 二叉树遍历的代码实现 二叉树的查找 前序中序后序查找思路 前序查找 中序查找 后序查找 前序中序后序查找代码实现 二叉树删除结点 二叉树删除结点思路 二叉树删除结点代码实现 顺序存储二叉树 顺序存储 2022-07-21 DataStructure #Java #树 #Tree
哈希表 哈希表 哈希表 应用背景 Google上机题 减少数据库查询次数 基本介绍 实现思路 代码实现 应用背景Google上机题看一个实际需求,Google公司的一个上机题: 有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址…),当输入该员工的id时,要求查找到该员工的所有信息.要求:不使用数据库,尽量节省内存,速度越快越好 这时候就暗示要使用哈希表(散列) 减 2022-07-20 DataStructure #Java #HashTable #哈希表
查找 查找 查找 常用查找 线性查找 二分查找 思路分析 代码实现 递归实现 非递归实现 插值查找 思路分析 代码实现 斐波那契查找 思路分析 代码实现 总结 常用查找 顺序(线性)查找 二分查找/折半查找 插值查找 斐波那契查按 线性查找// 简单的线性查找,找到一个val就返回下标 public static int seqSearch(int[] arr, int 2022-07-17 DataStructure #Java #Search #查找