
数据结构
文章平均质量分 71
Micmic33
这个作者很懒,什么都没留下…
展开
-
数据结构 树&图
二叉树二叉树:每个结点最多有2个子结点二叉树的代码实现结构体typedef int BTElemType;typedef struct BiTreeNode { BTElemType data; BiTreeNode* lChild; BiTreeNode* rChild;}*BiTree;初始化由于很多语句都需要判断结点存不存在,因此二叉树的初始化就是T=NULL相似的,之后在创建树时,每个结点的左右孩子一开始也需要=NULL保证结点被声明..原创 2021-09-02 22:31:58 · 858 阅读 · 0 评论 -
图的邻接矩阵实现(动态)
图的结构体与邻接表不同,用邻接矩阵实现图,需要用一个一维数组存储顶点,一个二维数组存储邻接矩阵由于此处是动态分配,使用指针typedef int ArcType;//点struct Vertex { char* name; // 点的名字};//弧struct Arc { ArcType ArcValue;};//图的类型enum GraphKind { DG, //0 有向图 DN, //1 有向网 UDG, //2 无向图 UD..原创 2021-08-28 09:08:28 · 1133 阅读 · 0 评论 -
图的邻接表实现
为什么使用邻接表当图中的边数相对于顶点较少时,邻接矩阵是对存储空间的极大浪费我们可以考虑对边或弧使用链式存储的方式来避免空间浪费的问题我们把这种数组与链表相结合的存储方法称为邻接表邻接表的实现图的结构体1.顶点数、弧数2.图的类型3.邻接表typedef int ArcType;enum GraphKind { DG, DN, UDG, UDN,};struct Vertex { char name[MAX_NAME_SIZE];};.原创 2021-08-28 08:10:42 · 1338 阅读 · 0 评论 -
顺序表、顺序循环队列、顺序栈
条件是:(Q.rear + 1) % Q.queueSize == Q.front(要包含队列已循环的情况)2.能获取元素的个数:顺序表的结构体length成员,顺序队列的front-rear ,顺序栈的top-base。3.从要删除的位置开始,把后一个赋值给前一个,表的长度-1。1.一个开辟连续内存的指针:顺序表,顺序队列的data,顺序栈的base。2️⃣ 增容需要申请空间,拷贝数据,释放旧空间,会有不少的消耗。始终是不动的,因此它相当于前两种表的data指针,4.在指定位置插入,表的长度+1。原创 2021-08-21 16:39:47 · 841 阅读 · 0 评论