
数据结构
文章平均质量分 88
打造通往数据结构的道路
一代...
时刻准备好
展开
-
【数据结构】栈的实现以及数组和链表的优缺点
如果数据已经在缓存中(缓存命中),那么CPU就可以直接从缓存中读取数据,而不需要从主存中读取,从而提高了程序的运行效率。由于数组的物理地址是连续的,因此数组中的数据在缓存中的命中率更高,减少了从主存中读取数据的次数,从而提高了缓存利用率。但是,链表的节点在物理存储上是不连续的,因此链表中的数据在缓存中的命中率相对较低。在访问一块数据内存空间时,要先把内存加载到缓存,在对其进行访问,而其并不是没此访问一个内存就将其加载到缓存,而是访问一块内存时将其后面的连续的内存一起加载到缓存,然后在对其进行访问。原创 2024-05-10 12:44:18 · 4226 阅读 · 128 评论 -
【面试经典题】环形链表
那么这是怎么得出来的呢?其中E为环的入口点,M为快慢指针的相遇点,L为环之前的链表的长度由于从slow进环时在到与fast相遇,fast一定不会运动一个环的长度就可以追上slow假设在slow到环入口时,fast已经转了N圈,环的长度为R。原创 2024-05-13 20:35:09 · 1576 阅读 · 103 评论 -
揭秘数据结构的魔力:用堆(Heap)打造高效排序
int size;}HP;原创 2024-05-30 16:31:36 · 1791 阅读 · 155 评论 -
【数据结构】数组循环队列的实现
队列只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。假设当前队列分配的空间最大为6,则当队列处于上图的最后一个状态时,就不可以在继续插入新的队尾元素,否则会出现溢出的情况,即因数组越界而导致程序的非法操作错误。队列的实现方式有多种,包括基于数组的静态队列、基于链表的动态队列等。操作受限:队列只允许在队尾插入元素(入队),在队头删除元素(出队),其他位置的元素无法直接访问或修改。那么怎么解决这个问题呢?原创 2024-05-14 00:12:31 · 1952 阅读 · 139 评论 -
数据结构之顺序表的实现(C语言版)
1.首先在讲顺序表之前我们先来了解什么是数据结构数据结构是由“数据”和“结构”两词组合⽽来。什么是数据?常见的数值1、2、3、4.....、教务系统⾥保存的用户信息(姓名、性别、年龄、学历等等)、网页里肉眼可以看到的信息(文字、图片、视频等等),这些都是数据什么是结构?当我们想要使⽤⼤量使⽤同⼀类型的数据时,通过⼿动定义⼤量的独⽴的变量对于程序来说,可读性⾮常差,我们可以借助数组这样的数据结构将⼤量的数据组织在⼀起,结构也可以理解为组织数据的方式。概念:数据结构是计算机存储、组织数据的⽅式。原创 2024-04-23 14:43:29 · 1731 阅读 · 77 评论