![](https://i-blog.csdnimg.cn/columns/default/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
用指针找到她的地址
这个作者很懒,什么都没留下…
展开
-
梳理和实现数据结构中的堆(Heap)-----一种二叉树
首先看看为什么引入堆和堆的定义 普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储 如果有集合,把它的所有元素按完全二叉树的顺序存储方式存储,将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。 堆的性质: 1.堆中某个节点的值总是不大于或不小于其父节点的值; 2.堆总是一棵完全二叉树。 OK,接下查看接口 #includ...原创 2022-04-09 16:16:42 · 902 阅读 · 1 评论 -
梳理和实现数据结构中的队列(Queue)
首先,我们先看数据结构中队列的相关概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头 1.首先,我们一般用链表来实现队列。2.先进入队列的值先出,后进入队列的值后出。 OK,接下查看接口 #include <stdio.h> #include <stdlib.h> #include <stdbool..原创 2022-04-09 15:43:30 · 957 阅读 · 0 评论 -
梳理和实现数据结构中的栈(Stack)
首先我们来看一下什么是栈的定义与相关概念: 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作叫做出栈。出数据也在栈顶。 1.从图中可以看出,我们一般用数组来实现栈。 2.先进入栈的值后弹出,后进入栈的值先弹出。如同弹夹一般,先被压入弹夹的子弹最后发射,而最后被压入弹夹的子弹最先发射。原创 2022-03-26 18:07:26 · 193 阅读 · 18 评论