![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构笔记
fighting_work
这个作者很懒,什么都没留下…
展开
-
数据结构与算法笔记
队列 队列的规则是先进先出 队列跟栈十分相似,支持的操作也十分有限,基本操作也是两个:入队enqueue(),放一个数据到队列尾部;出队dequeue(),从队列头部取一个元素。 顺序队列和链式队列 队列和栈一样,是一种抽象的数据结构。它具有先进先出的特性,支持在队尾插入元素,在队头删除元素。跟栈一样,队列可以用数组来实现,也可以用链表来实现,用数组实现的栈叫做顺序栈,用链表实现的栈叫做链式栈,就可以得知,用数组实现的队列叫做顺序队列,用链表实现的队列叫做链式队列。 队列的操作需要两个指针,分别是指向队头的原创 2020-09-20 22:10:12 · 149 阅读 · 0 评论 -
数据结构与算法笔记3
链表 数组和链表: 从底层存储结构上来看:数组需要一段连续的内存空间来存储数据,堆内存的要求比较高;链表恰恰相反,他不用连续的一段内存,它可以通过指针指向链表中的下一个元素的位置,从而来进行添加删除等操作。 单链表 链表通过指针将一组零散的内存块串联在一起,吧内存块称为链表的结点,为了可以找到链表的结点的下一个结点,所以每个结点中所存储的除去值之外还有下一个节点的地址,我们把这个记录下一个结点地址的指针叫做后继指针next。单链表中的第一个结点就是头结点,最后一个结点就叫做尾结点,头结点记录了整个链表的基地原创 2020-09-19 20:40:49 · 103 阅读 · 0 评论 -
数据结构与算法笔记2
数组 数组是一种线性表的数据结构,他用的是一组连续的内存空间来存储一组具有相同类型的数据。 定义中的线性表就是数据排列的像是一条线一样的结构每个线性表上的数据就最多有前和后两个方向,链表、队列、栈等也是线性表结构。而非线性结构常见的有二叉树,堆、图等他们里边存储的数据之间的关系不是简单的前后关系 连续的内存空间和相同类型的数据就使得数组可以实现随机访问,但是相对的对数组进行插入和删除操作就比较低效,有时候需要进行大量的平移数据。数组进行查找时,如果是根据下标进行查找的话,那他的时间复杂度是O(1),如果是根原创 2020-09-16 19:17:00 · 59 阅读 · 0 评论 -
数据结构与算法笔记1
可能一开始做不到理解力很强,但是希望通过积累能够获得一些知识 复杂度分析 时间空间复杂度可以用来衡量程序的执行效率,为什么需要复杂度分析呢? 答:测试结果非常依赖测试环境; 测试结果受数据规模的影响很大。 O表示法,之前没有学过这个的时候也会在看到某些题目的时候有提到这个,比如说O(n),等形式,现在就可以系统的学习一下之前的这个代表的是什么意思了 根据题主给出的程序以及解释就可以知道复杂度实际上是跟循环有着密切的关系的,它不代表着代码真正执行的时间,而是表示的是代码执行时间随数据规模增长的变化趋势,所以就原创 2020-09-15 14:44:13 · 62 阅读 · 0 评论