![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 83
lambda.
不积跬步无以至千里。
展开
-
程序员必会10种算法
代码一道,源远流长,短短几句代码中,往往蕴含着完美的逻辑和精妙的算法!这正是我们程序员追求的东西。我们程序员就应该外修语言,内修算法,数据为根基,算天算地算自己~原创 2021-11-22 22:57:49 · 15237 阅读 · 0 评论 -
数据结构-图(Graph)案例代码Java/Python均有实现
数据结构-图(Graph)图(Graph)也是一种数据结构,在计算机科学中除了线性表和树结构,还有一种图结构!这种结构节点可以具有零个或多个相邻的元素,非常适合表示多对多的关系!1、为什么要有图?我们已经学过了线性表和树结构,它们都有各自的应用场景。然而线性表局限于一个直接前驱和一个直接后序的关系,也就是说集合中必存在唯一的一个"第一个元素",必存在唯一的一个"最后元素",除了最后一个元素之外,均有唯一的后继。除了第一个元素之外,均有唯一的前驱。而树(Tree)的局限就是只能有一个直接的前驱原创 2021-11-15 23:10:26 · 2189 阅读 · 0 评论 -
多路查找树(MuitlWay Search Tree)
多路查找树多路查找树(MuitlWay Search Tree)1、二叉树的不足我们都知道普通树或二叉树等操作效率较高,如删除、添加、查找、修改等,但是因为一个节点只能存储一个元素,所以在某种场合也存在一定的问题!二叉树节点个数 = 2n - 1二叉树是需要加载到内存的,如果二叉树的节点少,没有什么问题!但是如果二叉树的节点有很多(极端的情况下比如 1 亿),就会存在如下问题:在构建二叉树时,需要多次进行 i/o 操作(海量数据存在数据库或文件中),海量的节点也会在构建二叉树时,速度有影原创 2021-11-14 18:16:27 · 1960 阅读 · 1 评论 -
平衡二叉树(Balanced Binary Tree)
平衡二叉树(Balanced Binary Tree)平衡二叉树(Balanced Binary Tree)又称AVL树。AVL 树得名于它的发明者 G. M. Adelson-Velsky 和 Evgenii Landis,他们在1962年的论文《An algorithm for the organization of information》中公开了这一数据结构。这种结构完成一系列集合操作时,时间复杂度与空间复杂度比其他树要低,一系列操作始终保存平衡!为大型数据库的组织、索引提供了一条全新的的道路!原创 2021-11-10 23:01:59 · 3019 阅读 · 0 评论 -
二叉排序树(Binary Sort(Search) Tree)
二叉排序树(Binary Sort(Search) Tree)二叉排序树(Binary Sort Tree)又称二叉查找 / 搜索树(Binary Search Tree),也是树的一种特殊数据结构,这种树结构最大的特点就是查询效率高,很多情况下甚至比链表结构还要高。这种结构不仅查找高效,在动态插入、删除、修改等地方同样高效,因此这种结构在查找、插入算法、删除节点等地方被大量应用。1、引子现有一组数列[7, 3, 10, 12, 5, 1, 9],要求能够高效的完成对数据的查询和添加。解决方案分原创 2021-11-09 19:48:55 · 650 阅读 · 2 评论 -
使用数组模拟环形队列 - Java版
环形队列示意图:代码如下:CircleArrayQueue.javapackage com.laizhenghua.data_structure;/** * @description: 环形数组队列 * @author: laizhenghua * @date: 2021/5/7 22:17 */public class CircleArrayQueue { private int maxSize; // 队列的最大容量 /** * front 变量的含义做一个原创 2021-05-08 22:59:30 · 95 阅读 · 1 评论 -
赫夫曼树的应用:赫夫曼编码(Java版实现)
赫夫曼编码1、基本介绍赫夫曼编码也翻译为:哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,。也属于一种程序算法!赫夫曼码是可变字长编码(VLC)的一种。Huffman于1952 年提出一种编码方法,称之为最佳编码。需要了解的是赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。另外赫夫曼编码也广泛地用于数据文件压缩。其压缩率通常在20%~90%之间,大大减少了我们存储文件的空间。2、通信领域中信息处理的三种方式方式1:定长编码。言外之意就是根据信息原有的长度和字符进行进原创 2021-11-06 11:34:48 · 388 阅读 · 0 评论