![](https://img-blog.csdnimg.cn/direct/f32d5731e8bc4777b312a8e2f5d04b3b.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 78
数据结构的知识
若无心_.
人生无处不青山
展开
-
数据结构:堆的两种算法、堆的基本功能实现
如果有一个关键码的集合K={k0,k1,k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足ki=k2i+2),其中i=0,1,2,…,则称该集合为堆。:将根结点最小的堆叫做小堆,也叫最小堆或小根堆。:将根结点最大的堆叫做大堆,也叫最大堆或大根堆。原创 2024-05-28 17:12:08 · 848 阅读 · 0 评论 -
数据结构:树和二叉树
树是一种的数据结构,它是由n(n>=0)个有限节点组成的一个具有层次关系的集合。原创 2024-05-20 14:51:05 · 608 阅读 · 1 评论 -
数据结构:队列
队列:只允许在一段进行插入数据操作,在另一端进行删除数据操作的特殊线性表。具有先进先出的特点。a.入队列:进行插入操作的一端称为队尾。b.出队列:进行删除操作的一端成为队头。队列可以由数组和链表的结构实现。,因为如果使用数组的结构,出队列,效率会比较低。原创 2024-05-14 15:41:37 · 146 阅读 · 1 评论 -
数据结构:栈
栈 :一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO ( Last In First Out ) 的原则。入栈:栈的插入操作叫做进栈 / 压栈 / 入栈, 入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。原创 2024-05-07 14:39:28 · 301 阅读 · 0 评论 -
数据结构:带头双向循环链表
前面说到,链表的结构一共有8中:带头单向循环、带头单向非循环、带头双向循环、带头双向非循环、无头单向循环、无头单向非循环、无头双向循环、无头双向非循环。在这8中结构中,我们只挑两种来剖析:即无头单向非循环和带头双向循环。:结构简单,一般不会用来存储数据。实际上是作为其他数据结构的子结构,入哈希桶、图的链接表等等。此外,这种结构在笔试面试中出现很多。:结构最复杂,一般用在单独存储数据。实际使用的链表数据都是带头双向循环链表。原创 2024-05-23 19:08:35 · 795 阅读 · 1 评论 -
数据结构:单链表专题
单链表的英文:single linked list,简称SLT}SListNode;原创 2024-05-23 14:58:00 · 338 阅读 · 1 评论 -
数据结构:顺序表
1.静态顺序表---->所占内存空间固定---->空间给少了不够用,给多了浪费2.动态顺序表---->可以动态扩容3.顺序表本质上就是数组(加了增删查改等操作),数组就是最简单的数据结构, 顺序表是线性表的一种。4.线性表物理结构不一定连续,逻辑结构一定连续顺序表物理结构一定连续, 逻辑结构也一定连续。原创 2024-05-01 13:09:06 · 93 阅读 · 0 评论 -
数据结构:时间复杂度
即为F(N)=N^2。双指针法:时间复杂度为O(N),因为每次移动指针的操作都是O(1)的,而在最坏情况下,我们可能需要遍历整个数组,所以时间复杂度为O(N)5.给定一个整数sum,从有N个有序元素的数组中寻找元素a,b,使得a+b的结果最接近sum,最快的平均时间复杂度是( )3.设某算法的递推公式是T(n)=T(n-1)+n,T(0)=1,则求该算法中第n项的时间复杂度为()c.若最高阶项存在且不为O(1),则去除常数,保留1 eg.F(N)=N^2+2N+1。你有办法在O(N)时间内完成吗?原创 2024-04-29 11:35:36 · 446 阅读 · 1 评论