![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构笔记
文章平均质量分 59
对数据结构进行整理,以便随时查阅信息
阿瞒啊
奋发图强
展开
-
数据结构——队列
线性表是具有相同数据类型的n(n0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。若用L命名线性表,则其一般表示为栈(Stack)是只允许在一端进行插入或删除操作的线性表。队列(Queue)是只允许在一端进行插入,在另一端删除的线性表。空队列:没有数据元素。队头:允许删除的一端。队尾:允许插入的一端。特点:先进先出First In First Out(FIFO)原创 2024-07-19 23:37:47 · 149 阅读 · 0 评论 -
数据结构——栈
线性表是具有相同数据类型的n(n0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。若用L命名线性表,则其一般表示为栈(Stack)是只允许在一端进行插入或删除操作的线性表。:没有数据元素。:允许插入和删除的一端。:不允许插入和删除的一端。特点:后进先出 Last In First Out(LIFO)原创 2024-07-19 23:28:20 · 159 阅读 · 0 评论 -
数据结构——顺序表和链表的比较
动态分配:动态数组(malloc、free),容量可改变,但需要移动大量的元素,时间代价高。:需要预分配大片连续空间。若分配空间过小,则之后不方便拓展容量;:只需要分配一个头结点(也可以不要头结点,只声明一个头指针),之后方便拓展。动态分配(malloc、free):需要手动free。缺点:大片连续空间分配不方便,改变容量不方便。优点:离散的小空间分配方便,改变容量方便。静态分配:静态数组,容量不可改变。:插入/删除元素要将后续元素都后移/前移。注:若移动元素很大,则移动的时间代价很高。原创 2024-07-17 23:53:34 · 420 阅读 · 0 评论 -
数据结构——静态链表
define MaxSize 10 //静态链表的最大长度typedef struct{ //静态链表结构类型的定义//存储数据元素int next;//下一个元素的数组下标等价如下#define MaxSize 10 //静态链表的最大长度struct Node{ //静态链表结构类型的定义//存储数据元素int next;//下一个元素的数组下标//用SLinkList定义“一个长度为MaxSize的Node型数组”原创 2024-07-17 23:28:17 · 179 阅读 · 0 评论 -
数据结构——循环链表
循环单链表:从一个结点出发只能其他任何一个结点。单链表:从一个结点出发只能找到后续的各个结点。原创 2024-07-16 23:40:25 · 237 阅读 · 0 评论 -
数据结构——双链表
双链表:可进可退,存储密度更低一点单链表:无法逆向检索,有时候不太方便。原创 2024-07-15 23:53:14 · 284 阅读 · 0 评论 -
数据结构——单链表
线性表的链式存储成为单链表。优点:不要求大片连续空间,改变容量方便缺点:不可随机存取,要耗费一定空间存放指针。原创 2024-07-13 23:25:07 · 231 阅读 · 0 评论 -
数据结构——顺序表
顺序表——用顺序存储的方式实现线性表顺序存储。把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。设线性表第一个元素的存放位置是LOC(L),LOC是location的缩写。那么第i个元素的存放位置为 LOC(L)+ (i - 1) *数据元素的大小。C语言取数据元素大小:sizeof(ElemType);ElemType是顺序表中存放数据元素的类型。例如:sizeof(int) = 4B;原创 2024-05-18 21:40:37 · 224 阅读 · 0 评论 -
数据结构——线性表
由n(n>=0)个数据特征相同的元素构成的有限序列,称为线性表(Linear List)。(王道)线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。若用L命名线性表,则其一般表示为原创 2024-05-18 20:54:03 · 268 阅读 · 0 评论