数据结构与算法
樊小樊
这个作者很懒,什么都没留下…
展开
-
数据结构与算法之B树与B+树的概述及特点
B树中的特例:2-3树的概述2-3树是B树中的特例:在B树中所有的页节点都在同一层,有两个叶节点的的叫二节点;二节点要么有两个子节点,要么没有子节点;有三个叶节点的叫三节点;三节点要么有两个子节点,要么没有子节点;2-3树的排序规则注:2-3树和2-3-4树的原理是相同的B树和B+树B树的数据存在于所有的节点上;B+树:非叶子节点只存储索引信息,不存储数据即所有的数据存在于叶节...原创 2019-11-27 18:39:04 · 286 阅读 · 0 评论 -
二叉排序树转换为平衡二叉树
二叉排序树的缺点二叉排序树是在插入数据是一个一个对比然后进行插入,如果给出一串数字为[1,2,3,4,5,6,7,8]则它的排序结果为:这样的二叉树不仅性能会降低(没有链表存储的性能高),而且针对于增删查改都比较麻烦平衡二叉树的概述AVL树也叫平衡二叉树,如果一个树是平衡二叉树那么他也是一个二叉排序树。平衡二叉树分为:左旋转、右旋转以及双旋转特点:左子树和右子树的高度差的绝对值不超过1。...原创 2019-11-27 15:20:33 · 5539 阅读 · 0 评论 -
二叉排序树的概述及实现
二叉排序树的概述及实现概述特点代码实现概述 二叉排序树:二叉排序树也叫二叉查找树、二叉搜索树(简称:BST)对于二叉树中的任何一个非叶子节点要求左子节点比当前节点值小,右子节点比当前节点值大(一个空树也可以称为一个二叉排序树)。特点1.线性结构树的缺点线性结构树特点顺序存储不排序时查找困难;排序时删除困难链式存储无论是否排序查找困难2.二叉排序树的基...原创 2019-11-22 15:19:48 · 254 阅读 · 1 评论 -
数据结构与算法之编码、解码、文件压缩、文件解压
数据结构与算法之编码、解码、文件压缩、文件解压实体映射代码实现实体映射public class Node implements Comparable<Node>{ Byte data; // 构造的节点树 int weight; // 权值 Node left; // 左节点 Node right; // 右节点 public Node(Byte data, int w...原创 2019-11-20 15:45:47 · 319 阅读 · 0 评论 -
赫夫曼编码原理分析
赫夫曼编码原理分析通信领域中信息的处理1 – 定长编码例:can you can a can as a can canner can a can.第一步:将上面的字符转化成ASCII码99 97 110 32 121 111 117 32 99 97 110 32 97 32 99 97 110 32 97 115 32 97 32 99 97 110 32 99 97 110 110 1...原创 2019-11-12 18:46:16 · 1857 阅读 · 0 评论 -
数据结构与算法之赫夫曼树的概述
数据结构与算法之赫夫曼树的概述基本概念创建赫夫曼树的流程实现代码实现基本概念 1. 赫夫曼树也称之为最优二叉树,它是几个带权叶子节点构成的所有二叉树中带权路径最小的二叉树。 2. 叶结点的带权路径:例如:(a) A结点权为9,经过2个结点 即:2*9 = 18 从根节点出发经过几个节点的数量 * 该节点的权 3. 树的带权路径WPL:树的带权路径长度WPL(weight path...原创 2019-11-12 16:10:48 · 443 阅读 · 0 评论 -
约瑟夫算法之问题解决(文字游戏:录入N个数,在录入M个点,从N个数中的M个点开始删除)
约瑟夫算法问题解决提出问题模拟实现代码实现提出问题文字游戏:录入N个数,然后再录入M点,从N个数里面数第M个点的数删除,然后从删除的下一位继续,数到M点再删除,然后以删除的下一个数开始,一直到删除剩余最后一位;模拟实现举个例子:N=1,2,3,4,5;M=3;result=4;第一轮:去掉了数字 3 组成了新数组:1,2,4,5第二轮:去掉了数字 1 ...原创 2019-11-05 17:05:21 · 183 阅读 · 1 评论 -
排序算法之冒泡排序
public class testDemo { //排序算法之冒泡排序 public static void main(String[] args) { int[] arr = new int[] {2,5,8,6,4,21,0,3,4,6,1}; System.out.println(Arrays.toString(arr)); bubbltSort(arr); System...原创 2019-08-15 17:33:31 · 78 阅读 · 0 评论 -
八种常用的排序算法
原创 2019-08-15 17:14:42 · 66 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度
算法的时间复杂度和空间复杂度1)如何衡量一个算法的优劣2)相关定义:3)常见的时间复杂度4)计算时间复杂度的方法5)平均时间复杂度和最坏时间复杂度6)案例-->语句频度1)如何衡量一个算法的优劣时间复杂度空间复杂度2)相关定义: - 语句频度:一个算法中语句执行的次数称为语句频度,记为T(n)。 - 时间复杂度:一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个...原创 2019-08-15 17:09:08 · 212 阅读 · 0 评论