数据结构
文章平均质量分 65
一户董
专注后端技术分享!!!
展开
-
数据结构之系列
。。。原创 2024-08-12 16:15:44 · 208 阅读 · 0 评论 -
数据结构之数组
看下数组。原创 2024-08-13 16:43:01 · 289 阅读 · 0 评论 -
数据结构之链表
链表是一种常用的线性数据结构,在jdk中也提供具体的实现类。本文来看下其相关内容。原创 2024-08-12 17:15:14 · 317 阅读 · 0 评论 -
数据结构之前缀树
思想:空间换时间,因为需要维护非常多的引用,所以比较占用空间,但能够快速定位所以时间较短时间复杂度:log特点:根节点不包含字符每一条路径所有节点的字符拼接在一起就对应一个字符串拥有相同前缀的多个字符串共享相同前缀。原创 2024-06-25 15:58:28 · 386 阅读 · 0 评论 -
数据结构之跳表
跳表,链表版本的二分查找,具备高效的数据插入,查找,删除,范围查询等优点。是一种高效的数据结构。本文一起来看下。我们知道数组具备随机访问的特性,因此使用其可以很方便的实现二分查找算法,但是链表是不支持随机访问的,但是如果我们对链表增加索引,让其支持随机访问(这里的随机是一定程度上的随机,也可以说是假随机),那么这种经过了一定改造之后的链表,我们就可以称之为跳表。接下来看下这个索引是怎么加的,又是如何实现高效的查找的,假设我们有一个链表,如下:此时如果是我们要查找16,则需要查找10个节点,为。原创 2022-09-29 15:13:19 · 519 阅读 · 0 评论 -
数据结构之阻塞队列
写在前面本文一起来看下Java中阻塞队列相关内容。1:队列队列是一种先进先出FIFO的数据结构,是一种线性数据结构,一般有两种实现方式,一种是基于数组实现,另外一种是基于链表实现。接下来分别来看下。1.1:基于数组实现基于数组实现的队列叫做顺序队列,比较重要的点如下:1:使用一个指针head指向下一个可以出队的位置。2:使用一个指针tail作为下一个可以入队的位置。3:队列空条件,head和tail重合。4:队列满条件,tail的下一个位置是head。如下图是从一个队列空到满的过程示意原创 2022-03-15 16:47:26 · 677 阅读 · 0 评论 -
数据结构之哈希算法
1:什么是哈希算法?将一个任意长度的二进制串映射为固定长度的二进制串的算法,我们叫做是哈希算法,其中固定长度的二进制串结果叫做哈希值。比如md5算法就是一种哈希算法,md5算法将任意长度的二进制串映射为长度128bit的二进制串。2:一个合格的哈希算法需要满足哪些条件?1:哈希冲突概率极低2:差别很小的原始串哈希的结果差别也要很大3:哈希计算速度快(如md5算法加密4000个字左右的汉字只需要1ms左右)4:无法反向从哈希值推到出原始值3:哈希算法都有哪些应用?A:加密(密码存储)原创 2022-03-04 18:18:33 · 3370 阅读 · 0 评论