数据结构
文章平均质量分 92
qfbt
所谓万丈深渊,下去,也是前程万里
展开
-
散列表及统计文本字符次数练习
文章目录一、散列表是什么?二、散列函数三、散列冲突1.开放寻址法2.链表法小练习 一、散列表是什么? 散列表的英文为“Hash Table”,也叫哈希表,ta 用的是数组支持按照下标随机访问数组的特性,所以说散列表就是数组的一种拓展。 我们通过散列函数把键值映射为下标,然后将数据存储在数组中对应下标的位置当我们按照键值查询元素时,我们相同的散列函数将键值转化为数组下标,从相应的数组下标位置取出数据。 二、散列函数 散列函数,我们可以将其定义成hash(key),其中key表示元素的键值,hash(k原创 2021-10-13 19:25:37 · 353 阅读 · 0 评论 -
队列
所谓队列,就是一种特殊的线性表,插入和删除操作都在线性表的两端进行。特点就是先进先出,形象点就是可以联系人们排队的情景,先等待的人先完成目的。 而如同栈一般,队列也分为顺序和链式两种存储结构。 1.顺序队列 对于顺序队列而言,若使用顺序表,则出队效率低,为O(n);若使用数组,则会存在假溢出。所以综上所述,可考虑使用顺序循环队列,即在逻辑上首尾相原创 2020-09-10 21:04:57 · 116 阅读 · 0 评论 -
栈以及进制转换问题
说好的在暑假对数据结构进行一个通盘复习,结果还是没能做到。现在只能趁着学习间隙补上。 栈 栈原创 2020-09-03 19:25:57 · 754 阅读 · 0 评论 -
数组和链表与Josephus问题(Java)
#序言 ##这算是我在CSDN里的第一篇文章,希冀着以此来纪念我的学习生涯并加深学习相关的专业知识。给自己加油打气,希望能坚持下去! 好了,那正式开始! #数组和链表 ##数组 它的最大特征就是用一组连续的内存空间来存储一组具有相同类型的数据,正因如此,它才有“随机访问”的特性,但这也让删除、插入操作变得非常低效(平均时间复杂度为O(n)). ##链表 它通过“指针”将一组零散的内存块串联起来使用,不需要一块连续的内存空间。接下来讲一下几种基本的链表类型。 ###单链表 链表通过指针将零散内存块串联,而内存原创 2020-08-04 20:26:59 · 296 阅读 · 0 评论