
数据结构
数据结构
陌隋
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
哈希情史知多少
简介hash是我们工作中经常听到的词,比如哈希表、哈希函数、hashCode、HashTable、HashMap等等,那么它们之间到底有怎样的爱恨情仇呢?来一起看一看吧~~数组讲哈希表之前,我们先来看看数据结构的鼻祖——数组。数组比较简单,我就不多说了,大家都会都懂,见下图。数组的下标一般从0开始,依次往后存储元素,查找元素也是一样,只能从头(或从尾)依次查找元素。比如,要查找4这个元素,从头开始查找的话需要查找3次,从尾的话也需要2次。早期的哈希表上面讲了数组的缺点,查转载 2020-06-03 08:36:02 · 235 阅读 · 0 评论 -
什么是跳表
什么是跳表跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。跳表详解有序链表考虑一个有序链表,我们要查找3、7、17这几个元素,我们只能从头开始遍历链表,直到查找到元素为止。上述这个链表是有序的,但是不能使用二分查找,是不是很捉急?(P.S.数组可以实现二分查找)那么,有没有什么方法可以实现有序链表的二分查找呢?答案是肯定的,那转载 2020-05-16 19:58:08 · 2802 阅读 · 0 评论 -
什么是哈夫曼编码
在上一篇,我们介绍了一种特殊的数据结构“哈夫曼树”,也被称为最优二叉树。没看过的小伙伴可以点击链接:什么是哈夫曼树那么,这种数据结构究竟有什么用呢?我们今天就来揭晓答案。计算机系统是如何存储信息的呢?计算机不是人,它不认识中文和英文,更不认识图片和视频,它唯一“认识”的就是0(低电平)和1(高电平)。因此,我们在计算机上看到的一切文字、图像、音频、视频,底层都是用二进制来存储和传输的。从狭义上来讲,把人类能看懂的各种信息,转换成计算机能够...转载 2020-05-14 16:14:48 · 1635 阅读 · 1 评论 -
什么是哈夫曼树
————— 第二天 —————概念1:什么是路径?在一棵树中,从一个结点到另一个结点所经过的所有结点,被我们称为两个结点之间的路径。上面的二叉树当中,从根结点A到叶子结点H的路径,就是A,B,D,H概念2:什么是路径长度?在一棵树中,从一个结点到另一个...转载 2020-05-14 14:35:50 · 2343 阅读 · 5 评论 -
什么是堆
堆是一种特殊的树,只要满足下面两个条件,它就是一个堆:(1)堆是一颗完全二叉树;(2)堆中某个节点的值总是不大于(或不小于)其父节点的值。其中,我们把根节点最大的堆叫做大顶堆,根节点最小的堆叫做小顶堆。堆详解满二叉树满二叉树是指所有层都达到最大节点数的二叉树。比如,下面这颗树:完全二叉树完全二叉树是指除了最后一层其它层都达到最大节点数,且最后一层节点都靠左排列。比如,下面这颗树:可见,其实满二叉树是一种特殊的完全二叉树。那么,使用什么结构存储完全二叉树最节省空转载 2020-05-14 18:40:19 · 8038 阅读 · 0 评论 -
关于hash冲突的初步理解
理解哈希函数关键字和它在表中存储位置之间存在一种函数关系。这个函数我们称为为哈希函数。hash:散列、杂凑 就是把任意长度的输入,通过散列算法,变成固定长度的输出,这种是一种压缩映射.转载 2020-05-08 15:15:05 · 825 阅读 · 0 评论 -
什么是红黑树
一、在理解红黑树之前,先看一些二叉查找树二叉查找树特性:左字数上所有的节点的值都小于或等于他的根节点上的值 右子树上所有节点的值均大于或等于他的根节点的值 左、右子树也跟别为平衡二叉树 举个二叉树的例子: 可以看到如果要...转载 2020-05-08 13:59:56 · 444 阅读 · 0 评论