数据结构
MyLight1109
Blog: mylight1109.cn
Github: github.com/Karl1109
展开
-
[数据结构]学习笔记:排序
排序算法的稳定性内部排序外部排序直接插入排序原创 2020-12-12 15:45:24 · 95 阅读 · 0 评论 -
[数据结构]:二叉树
完全二叉树(Complete Binary Tree)叶子节点只会出现在最后2层,且最后一层的叶子节点都靠左对齐。简单来说,就是所有节点从上往下,从左往右依次排列。顺序存储结构完全二叉树:链式存储结构(二叉链表存储结构)...原创 2020-11-04 21:27:12 · 108 阅读 · 0 评论 -
[数据结构]:树
树的基本概念树是n(n>=0)个结点的有限集合,n=0时,为空树注意:n个结点的树中只有n-1条边基本术语度:树中一个结点的子节点的个数称为该结点的度树中最大度数称为树的度分支结点和叶子结点:度大于0的结点称为分支结点度为0的结点称为叶子结点树的高度(深度)是树中结点最大层数有序树和无序树路径:一定是自上而下的路径长度:路径上所经历边的个数森林:树的性质1)树中的结点数等于所有节点的度数加12)度为m的树中第i层至多有m^i-1个结点(i>=原创 2020-10-25 22:03:10 · 3088 阅读 · 0 评论 -
[数据结构]学习笔记:链队
定义typedef struct QNode{ QElemType data; struct QNode *next;}QNode,QueuePtr;typedef struct{ QueuePtr front; //队头指针 QueuePtr rear; //队尾指针 }LinkQueue;初始化带头结点Status InitQueue(LinkQueue &Q){ //构造一个空队列 Q.front=Q.rear = new QNode; //生成新结点作为头原创 2020-10-16 15:42:37 · 168 阅读 · 0 评论 -
[数据结构]学习笔记6:线性表(6):循环链表
循环链表将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表。注:这里并不是说循环链表一定要有头结点其实循环链表的单链表的主要差异就在于循环的判断空链表的条件上,原来判断head->next是否为null,现在则是head->next是否等于head。...原创 2020-09-18 08:14:03 · 78 阅读 · 0 评论 -
[数据结构]学习笔记5:线性表(5):双链表
双链表的定义typedef struct DNode{ //定义双链表结点类型 ElemType data; //数据域 struct DNode *prior,*next; //前驱和后继指针 }DNode,DLinkList;双链表的初始化Status InitDLinkList(DLinkList &L){ L = new DNode; if(!L) return ERROR; L->prior = NULL; L->next = NULL.原创 2020-09-18 19:52:27 · 137 阅读 · 0 评论 -
[数据结构]学习笔记4:线性表(4)
静态链表数组描述的链表叫做静态链表,游标实现法/*线性表的静态链表存储结构*/ #define MAXSIZE 1000typedef struct{ ElemType data; //数据 int cur; //游标(Cursor) }Component,StaticLinkList[MAXSIZE]; 对静态链表进行初始化相当于初始化数组Status InitList(StaticLinkList space){ int i; for(i=0;i<MAXSIZE-1;i原创 2020-09-05 17:08:23 · 108 阅读 · 0 评论 -
[数据结构]学习笔记3:线性表(3)
单链表的整表创建算法思路:-声明一结点p和计数器变量i;-初始化一空链表L-让L的头结点的指针指向NULL,即创建一个带头结点的单链表;-循环实现后继结点的赋值和插入。头插法建立单链表头插法从一个空表开始,生成新节点,读取数据存放到新节点的数据域中,然后将新节点插入到当前链表的表头上,直到结束为止。简单来说,就是把新加进的元素放在表头后的第一个位置:-先让新节点的next指向头结点之后-然后让表头的next指向新结点/*头插法简历单链表示例*/void CreateListHead原创 2020-09-05 15:48:32 · 181 阅读 · 0 评论 -
[数据结构]学习笔记2:线性表(2)
线性表的链式存储结构线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以存在内存中未被占用的任意位置。比起顺序存储结构,每个数据元素只需要存储一个位置就可以了。现在链式存储结构中,除了要存储数据元素信息外,还要存储它的后继元素的存储地址(指针)。也就是说除了存储其本身的信息外,还需要存储一个指示其直接后继的存储位置的信息。我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。指针域中存储的信息称为指针或链。这两部分信息组成数据元素称为存储映像,称原创 2020-09-04 16:55:42 · 347 阅读 · 0 评论 -
[数据结构]学习笔记1:线性表(1)
1.定义线性表:由零个或多个数据元素组成的有限序列强调:1.它是一个序列,元素之间是有先来后到的2.若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有且只有一个前驱和后继3.线性表是有限的2.抽象数据类型(ADT)数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。(例如整型,浮点型,字符型)抽象数据类型:是指一个数学模型及定义在该模型上的一组操作。标准格式:ADT 抽象数据类型名Data 数据元素之间逻辑关系的定义Operation 操作原创 2020-09-03 18:31:46 · 174 阅读 · 0 评论