数据结构与算法
文章平均质量分 81
其中包括常用的数据结构知识点的总结以及一些常用的算法的详细介绍等
IronmanJay
十年饮冰,难凉热血。
展开
-
数据结构之冒泡排序算法(图解+分析+代码调优)
1、冒泡排序的介绍冒泡排序是一种比较简单的排序算法,其基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,可以形象的理解为像水底下的气泡一样逐渐向上冒。2、图示冒泡排序...原创 2020-02-25 19:36:44 · 5504 阅读 · 1 评论 -
线索化二叉树详解与代码实现
文章目录一、问题提出二、线索二叉树基本介绍三、线索二叉树应用案例四、中序线索化二叉树代码实现五、代码运行结果一、问题提出当我们对上面的二叉树进行中序遍历时,数列为{8,3,10,1,6,14}但是6,8,10,14这几个节点的左右指针(红色箭头),并没有完全的利用上如果我们希望充分的利用各个节点的左右指针,并且让各个节点可以指向自己的前后节点,怎么办?二、线索二叉树基本介绍n个节点的二叉链表中含有n+1个空指针域。利用二叉链表中的空指针域,存放指向该节点在某种遍历次序下的前驱和后继节点的原创 2021-01-17 11:33:35 · 512 阅读 · 0 评论 -
堆排序详解与代码实现
文章目录一、堆排序基本介绍二、大顶堆和小顶堆2.1 大顶堆2.2 小顶堆三、堆排序基本思想四、堆排序代码实现五、代码运行结果一、堆排序基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,他的最好、最坏、平均时间复杂度均为O(nlogn),它也是不稳定排序堆是具有以下性质的二叉树:每个节点的值都大于或等于其左右孩子节点的值,称为大顶堆。注意:没有要求节点的左孩子和右孩子的值的大小关系每个节点的值都小于或等于其左右孩子节点的值,称为小顶堆一般升序采用大顶堆,降序采用小顶堆原创 2021-01-17 11:57:20 · 971 阅读 · 0 评论 -
赫夫曼树和赫夫曼编码及赫夫曼编码应用之数据文件压缩与解压详解与代码实现
文章目录一、赫夫曼树1.1 赫夫曼树基本介绍1.2 赫夫曼树的重要概念1.3 构建赫夫曼树的步骤1.4 赫夫曼树代码实现1.5 运行结果二、赫夫曼编码2.1 赫夫曼编码基本介绍2.2 通信领域中信息的处理方式2.2.1 定长编码2.2.2 变长编码2.3 赫夫曼编码原理剖析2.4 赫夫曼编码应用之数据文件压缩与解压代码实现2.5 运行结果一、赫夫曼树1.1 赫夫曼树基本介绍给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也成为哈夫曼树原创 2021-01-17 12:34:04 · 292 阅读 · 0 评论