数据结构
代号零零一
这个作者很懒,什么都没留下…
展开
-
数据结构-图
图的专业术语:1.有向图和无向图2.简单图和多重图简单图:(1)不存在重复边。(2)不存在顶点到自身的边。多重图:图中某两个节点之间的边数多于一条,又允许顶点通过同一条边和自己关联。3.完全图(也称简单完全图):在无向图中,若任意两个顶点之间都存在边。4.稠密图、稀疏图5.连通、连通图和连通分量在无向图中,若从顶点V到顶点W又路径存在,则称V和W是连通的。若图G中,任意两个顶点都是连通的,则称图G为连通图,否则称为非连通图。无向图中的极大连通子图称为连通分量。6.强连通图、强连通分量原创 2021-11-22 10:15:42 · 307 阅读 · 0 评论 -
C语言-数据结构-平衡二叉树-哈夫曼树
平衡二叉树又称平衡树(AVL):任意节点的左、右子树高度差的绝对值不超过1,且子树都是平衡树。定义节点左子树和右子树的高度差为该节点的平衡因子,平衡因子的值只可能是-1,0,或1。平衡二叉树的插入:最小二叉树称为哈弗曼树,也称为最优二叉树。最小二叉树:带权路径长度(WPL),weight、path、len。怎么构建最小二叉树?步骤:(1)寻找权重里的最小的两个权重。这里为2,4,同时将最小的两个权重求和,并将求和的结果和剩下的权重组成新的集合。(2)在新的集合里,重复步骤1,即.原创 2021-11-19 17:32:20 · 1276 阅读 · 0 评论 -
数据结构-树与森林
树的存储:双亲表示法:孩子表示法:孩子兄弟表示法(二叉树表示法):原创 2021-11-19 11:51:39 · 1163 阅读 · 4 评论 -
c语言-二叉树的遍历
先序遍历:根左右中序遍历:左根右后序遍历:左右根层次遍历:从根节点开始,按自上而下,从左到右的顺序一层一层的遍历。原创 2021-11-19 09:44:54 · 88 阅读 · 0 评论 -
二叉树的存储结构
原创 2021-11-19 09:44:34 · 48 阅读 · 0 评论 -
C语言-数据结构-基本二叉树
二叉树它的特点是每个节点至多只有两棵子树(即二叉树中不存在度数大于2的节点),并且二叉树的子树有左右之分,其次序不能任意颠倒。满二叉树:每个节点都有两个子树。完全二叉树:符合从先上后下,先左后右的二叉树。...原创 2021-11-18 21:32:28 · 1200 阅读 · 0 评论 -
数据结构-树
树的基本术语:原创 2021-11-18 21:24:49 · 65 阅读 · 0 评论 -
队列的基本操作
入队:出队:原创 2021-11-18 17:58:05 · 167 阅读 · 0 评论 -
数据结构-队列
队列(queue)也是一种操作受限的线性表,它只允许在一端进行插入,在另一端进行删除操作。队列的特点:先进入队列的元素先出队列。先进先出。队列的术语:队头、队尾、空队列队头:允许删除操作的一端。队尾:允许插入元素的一端。队列的基本操作:总结:...原创 2021-11-18 17:40:05 · 541 阅读 · 0 评论 -
数据结构-栈和队列
栈(stack)是一种特殊的线性表,一般的线性表允许在任何位置进行插入和删除操作。栈是只允许在一端进行插入或删除操作的线性表。和栈相关的术语:栈顶、栈底、空栈。栈顶:允许插入或删除的一端。栈底:不允许进行插入或删除操作的一端。栈的基本操作:初始化栈、销毁栈、增(进栈)、删(出栈)、查(读取栈顶元素)、判空。...原创 2021-11-18 17:29:46 · 96 阅读 · 0 评论 -
数据结构-顺序栈
顺序栈:用顺序存储的方式实现的栈。栈的定义:栈顶指针指向栈顶元素。进栈:出栈(删):共享栈:总结:原创 2021-11-18 17:15:37 · 61 阅读 · 0 评论 -
C语言-数据结构-链栈
链栈:用链式存储实现的栈叫链栈。基本操作包括:、创建(初始化)、增(进栈)、删(出栈)、查(获取栈顶元素)、判空、判满。链栈的定义:原创 2021-11-18 16:47:34 · 281 阅读 · 0 评论 -
数据结构-链表与顺序表
数据结构:逻辑结构、存储结构、基本操作链表和顺序表都属于线性表。顺序表存储密度比较高、支持随机存储,但是大片连续空间分配不方便,改变容量不方便。链表:离散的小空间分配更加方便,改变容量方便,但是不可随机存储,存储密度低。基本操作(创建、销毁、增删、查、改):(1)创(2)销毁(3)增删(4)查链表和顺序表对比:...原创 2021-11-18 16:37:43 · 316 阅读 · 0 评论 -
C语言-静态链表
链表:结构体变量和指向结构体变量的指针构成链表。链表的头指针存放结构体变量的首地址,结构体的指针变量存放下一个结构体变量的首地址,依次递推,直至最后一个结构体指针变量next=NULL结束。链表实例:#include <stdio.h>#include<stdlib.h>#include<iostream>#include<string.h>#include<stdio.h>using namespace std;//声明原创 2021-11-13 11:06:40 · 591 阅读 · 0 评论 -
数据结构-循环链表
单链表:每个节点存储了存储了下一个节点的地址。上一个节点存储有后一个节点的地址。双链表:每个节点不仅存储了下一个节点的地址,还存储了上一个节点的地址。循环单链表:链表尾节点存放了链表头节点的地址。循环双链表:每个节点不仅存储了下一个节点的地址,还存储了上一个节点的地址,同时,链表尾节点和链表头节点也存在上述关系构成闭环。代码如下:#include <stdio.h>#include<stdlib.h>#include<iostream>#include&原创 2021-11-18 15:10:58 · 125 阅读 · 0 评论 -
数据结构-双链表定义、插入、删除
具体代码如下:#include <stdio.h>#include<stdlib.h>#include<iostream>#include<string.h>#include<stdio.h>using namespace std;typedef struct DNode { int data; struct DNode *prior, *next;}DNode,*DLinklist;void main() { //初原创 2021-11-18 11:26:00 · 157 阅读 · 0 评论 -
线性表-单链表
不带头节点:带头节点:有无头节点的区别:总结:原创 2021-11-16 23:20:47 · 79 阅读 · 0 评论 -
数据结构-线性表插值
静态存储的顺序表基本操作(1)插值(2)删除代码实现:总结:原创 2021-11-16 23:00:38 · 227 阅读 · 0 评论 -
数据结构-线性表之顺序表
顺序表是线性表,只是存储结构为顺序存储的方式,所以称为顺序表。顺序表的实现-静态分配声明一个数组,就是静态分配。静态分配只能存放预先设定数目的数据,难以满足实际需求,顺序表的动态分配就是为了解决这个问题。顺序表的动态分配实现。顺序表的本质就是结构体变量。动态分配顺序表的实现实例:总结:静态存储和动态存储的顺序表的特点:顺序表的特点:...原创 2021-11-16 22:44:25 · 268 阅读 · 0 评论 -
数据结构-线性列表
1.数据结构包含三个要素:数据的逻辑结构、数据的存储结构、数据的运算结构。其中数据的逻辑结构可以分为四种:(1)线性结构:数据之间的关系呈现线性关系,即一前一后。(2)集合结构:数据之间的关系呈现为集合的关系。(3)树形结构:数据之间的关系呈现树状的关系。(4)图状结构(网状结构):数据之间的关系复杂。数据的存储结构可以分为三种:(1)顺序存储:内存空间的地址是连续的。(2)链式存储:内存空间的索引地址是不连续的。(3)索引存储2.1线性结构线性表(linear list)例:L=(原创 2021-11-16 22:05:46 · 675 阅读 · 0 评论