
数据结构
文章平均质量分 66
麻吉Sama
从零开始Java开发学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
什么是哈希表?
文章目录简介哈希表的结构地址定位(如何选择存入哪个链表?)哈希冲突解决哈希冲突开放地址法单链表法结语 简介 哈希表本质上是根据关键码值(Key value)而直接进行访问的数据结构,关键码是通过数据本身用某些规则处理找到的一个储存位置。数据将直接通过关键码存入数组,而取出也直接通过关键码取出。这种结构普遍用数组+链表,或数组+二叉树组成。通过哈希表可以大大加快查找数据的速度。就拿数组+链表的结构来说,其本质就是一个装了N个链表的数组,根据某些规则(取址)将数据存入不同的链表中,将本来一个巨大列表的查询量,分原创 2022-01-15 22:57:37 · 271 阅读 · 0 评论 -
什么是栈?栈的基本应用有哪些?
栈是一种先进先出的数据结构。 2 2 1 1 1 出栈操作如下: 第原创 2022-01-14 17:15:17 · 2839 阅读 · 0 评论 -
什么是链表?
文章目录链表简介单向链表单向列表基本结构双向链表双向列表基本结构环形链表链表的增删查改节点增加节点删除节点查找节点修改结语 链表简介 链表是一种线性数据结构,就如同链子那般串联而成,可通过链子的头部顺藤摸瓜找到下一个链段,如此套娃就形成了完整的链表。如果我们只是单纯的从头摸♂到尾那么这种链表被成为单向链表。如果可以来回摸索,反复穿梭,这种链表则被称为双向链表。当然,链表也能像项链那般围成圆形,这种链表被称为环形链表。 单向链表 单向链表是最基本的链表结构,由DATA数据和NEXT节点组成。DATA指的是存原创 2022-01-13 16:32:42 · 1019 阅读 · 0 评论 -
什么是队列?
简介 队列是一种先进先出的数据结构,就如同食堂排队打饭一样,先来的同学能先打到饭,而后面先来的同学则要等到最后才能打到饭菜。这里刚去打饭的同学我们成为队尾,这个行为被称为入队。而第一个打到饭的同学则被称为队头,这个行为被称为出队。 顺序队列 顺序队列是指给定长度,整个队列如同一条直线。如果队尾到了末端就会满队。 下表为数据[1,2,3]依次入顺序队列: 空队列 第一次入队 1 第一次入队 2 1 满队 3 2 1 链式队列 链式队列与顺序队列不同的是一但由数据出队,原创 2022-01-12 21:57:02 · 449 阅读 · 0 评论 -
稀疏数组是什么?
文章目录简介稀疏数组的表示普通数组转换稀疏数组示例结语 简介 有时候二维数组中会出现大量的0,而真实值只有寥寥数个。保存该数组会造成大量的数据冗余,而通过稀疏数组只保存其值就可以大大压缩其存储成本。 稀疏数组的表示 稀疏数组说的这么玄乎,其实就是三列N行的表格 行号 列号 值 数组最大行数 数组最大列数 实际值个数 某个值的行号 某个值的列号 具体值 如表所示,稀疏数组的第一行一般记录数组的大小和有效值的个数,用于恢复原数组。而从第二行开始就会记录具体的行列号和值,恢复的时候根据行列原创 2022-01-12 19:54:05 · 282 阅读 · 0 评论