![](https://img-blog.csdnimg.cn/e15fd370672e4eaabfe02f1a20428a6c.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 89
数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的
集合。
奋斗小温
很认真的人
展开
-
优先级队列(堆)
1️⃣小堆:按完全二叉树的顺序存储方式存储在一个一维数组Ki = K2i + 2孩子节点大于父亲节点)将根节点最大的堆叫做最大堆或大根堆3️⃣堆的性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树(采用顺序方式存储)原创 2023-05-27 16:09:35 · 1272 阅读 · 13 评论 -
二叉树【数据结构】【超详细,一学就会】
结点的度:一个结点含有子树的个数称为该结点的度;如上图:A的度为2树的度:一棵树中,所有结点度的最大值称为树的度;如上图:树的度为2叶子结点或终端结点:度为0的结点称为叶结点;如上图:HI、J、K、G等节点为叶结点双亲结点或父结点:若一个结点含有子结点,则这个结点称为其子结点的父结点;如上图:A是B的父结点孩子结点或子结点:一个结点含有的子树的根结点称为该结点的子结点;如上图:B是A的孩子结点根结点:一棵树中,没有双亲结点的结点;如上图:A结点的层次。原创 2023-01-11 23:08:46 · 1434 阅读 · 55 评论 -
【数据结构】链式存储:链表
链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。而链表分为单向或双向、带头或不带头、循环或非循环,组合起来就有8种链表结构。接下来我们会学习:单向不带头非循环链表(笔试、面试都是这个结构)和双向不带头非循环链表(集合类底层这样操作)原创 2023-01-01 21:16:00 · 1969 阅读 · 10 评论 -
时间复杂度和空间复杂度【一学就会】
在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所耗费的时间理论上来说是算不出来的,因为它不仅仅与你写的算法有关,还与运行这个算法的机器也有关系,如果你的机器很好,那么你所耗费的时间就可能会更少,所以,一个算法耗费的时间是需要放在机器上实际测验才能知道的,但是我们总不能每个算法都拿来上机测试,来记录该算法的时间,所以我们就有了时间复杂度这样的分析方式。原创 2022-11-25 11:01:27 · 481 阅读 · 14 评论 -
【数据结构】栈和队列
➡️栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。➡️队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾(Tail/Rear) 出队列:进行删除操作的一端称为队头 (Head/Front)原创 2023-01-05 17:36:52 · 651 阅读 · 18 评论 -
【数据结构】链式存储:链表(无头双向链表实现)
🌈节点由val域(数据域),prev(前驱),next(后继),对于prev域,其是引用类型,存放上一个节点的地址;对于next域,其是引用类型,存放下一个节点的地址。原创 2023-01-04 15:07:13 · 796 阅读 · 12 评论