数据结构
文章平均质量分 93
数据结构之旅
9ilk
爱码人士
展开
-
【数据结构】--- 深入剖析二叉树(中篇)--- 认识堆&&堆排序&&Topk
文章目录🏠 初识堆📒 堆的概念📒 堆的性质🏠 向上调整算法 && 向下调整算法📒 向上调整算法📒 向下调整算法📒 向上调整 vs 向下调整🏠 堆的应用场景📒 堆排序📒 Top K问题 我们知道二叉树的顺序结构适合于完全二叉树和满二叉树,而我们今天的主角堆也是个完全二叉树,因此它也是使用顺序结构的数组来存储⚠️对于这样的一个小堆,我们要插入2这个数据,此时不满足小堆的要求,若要调整可能会影响祖先,那有什么方法能解决这个问题呢?这里就要介绍一个新的算法 --- 向上调整算法我们先上个原创 2024-05-06 22:56:02 · 1280 阅读 · 64 评论 -
【数据结构】--- 深入剖析二叉树(上篇)--- 初识树和二叉树
⚠️ 1.子树不能有交集2.除了根结点外,每个结点只能有一个父亲3.一颗N个结点的树有N-1条边以下的都是子树有交集的,不能叫做树4.树中不能有环,原创 2024-05-05 11:05:28 · 1452 阅读 · 96 评论 -
【数据结构】--- 探索栈和队列的奥秘
关注小庄 顿顿解馋૮(˶ᵔ ᵕ ᵔ˶)ა上回我们学习了顺序表和链表,今天博主来讲解两个新的数据结构 — 栈和队列 , 请放心食用。原创 2024-04-05 22:27:27 · 1279 阅读 · 69 评论 -
【数据结构】双向奔赴的爱恋 --- 双向链表
在这里我们讲的双链表有三个特点 :双向 , 循环 , 带头。我们分别理解这三个特点~双向 循环优势:1.每一个结点都能很方便访问它的后一个结点和前一个结点 2.方便找到尾节点,提高了效率。带头图中的head就是哨兵位这里的带头跟我们之前所说的头节点有所不同,这里的带头,不存储有效数据起到一个哨兵的作用。遍历循环链表避免死循环,其次涉及到头节点的删除和插入时,无需考虑NULL的问题。双链表的这三个特点将会使得实现它比实现单链表更简单~原创 2024-03-26 22:03:01 · 1221 阅读 · 47 评论 -
【数据结构】单链表的层层实现!! !
关注小庄 顿顿解馋(●’◡’●)上篇回顾我们上篇学习了本质为数组的数据结构—顺序表,顺序表支持下标随机访问而且高速缓存命中率高,然而可能造成空间的浪费,同时增加数据时多次移动会造成效率低下,那有什么解决之法呢?这就得引入我们链表这种数据结构。原创 2024-03-08 23:14:02 · 1421 阅读 · 80 评论 -
【数据结构】顺序表实现的层层分析!!
线性表是n个有相同特性数据元素的有限序列,是一种广泛使用的数据结构,常用的数据结构有链表,顺序表,队列和栈等线性表在逻辑结构上是线性的(一条连续的直线),但在物理结构不一定连续。比如我们在排队时,我们脑海中认为我们队伍应该是排成一条直线的,实际上也应该如此,这里就是类似我们待会要讲的顺序表,但有有时不免有人会插队三五成群排在队伍左右边,类似我们线性表中的链表。原创 2024-02-23 13:09:02 · 1610 阅读 · 75 评论