数据结构
文章平均质量分 68
zzzzzzhnan
这个作者很懒,什么都没留下…
展开
-
D6-图
图是一种多对多的结构 在图中的数据元素通常被称作顶点。V是顶点的有穷集合,VR是两个顶点之间关系的集合,若两顶点之间<v,w>∈VR,则<v,w>表示从v到w的一条弧,称v为弧尾或初始点,w为弧头或终端点,此时的图称为有向图,若有<v,w>∈VR必有<w,v>∈VR,即VR是对称的,则用(v,w)∈VR代替,表示v和w之间的一条边,这样的图称为无向图。图的表示方法为G=(V,E)****V,E都是集合! 弧或边带权的图称为有向网或无向网,权指图的弧或边原创 2022-05-10 22:08:31 · 363 阅读 · 0 评论 -
D5-树和二叉树
树是由n(n>=0)个元素构成的有限集合,该集合需要满足以下特征: 1.有且仅有一个被称为根的结点 2.除根结点外的其他结点被分为m个 互不相交 的有限集合,,每个集合又被称为一个树。 由此可见,树是一个递归结构。 树是非线性结构,在线性表中,除头结点和尾结点外,每个结点有一个前驱和一个后继,但在树中,除根结点外,每个结点有一个前驱,n个后继。 结点拥有的子树的个数称为结点的度,度为0的结点称为叶子或终端结点,度不为0的结点称为分支节点,树的度为树内部各个结点的度的最大值。结点的子树的根称为原创 2022-05-05 12:15:40 · 994 阅读 · 0 评论 -
D4-数组
1.只有引用型操作,即只改变数组元素中的值,没有加工型操作,即不做插入删除操作 2.数组是多维结构,存储空间是一维结构 顺序映象方式: 1.行序为主序(低下标优先) 2.列序为主序(高下标优先) eg:若三维数组[0,1][0,1,2][0,1],以行序为主序,排列为(0,0,0),(0,0,1),(0,1,0),(0,1,1).. 以列序为主序,排列为(0,0,0),(1,0,0),(0,1,0),(1,1,0),(0,2,0),(1,2,0)... 假设每个元素占用L个存储单元,二维数原创 2022-04-28 20:58:37 · 1782 阅读 · 0 评论 -
D3-串
储存串的结构有三种: 1.定长顺序存储 #define MAXSIZE 100 typedef unsigned char SString[MAXSIZE + 1]; 若串长大于事先定义的长度,称截断,只保留MAXSIZE的长度 2.堆分配存储表示 typedef struct { char* ch; int length; }HString; 3.串的块链存储表示 typedef struct _chunk { char ch[MAXSIZE]; struct _chunk*原创 2022-04-25 16:15:11 · 125 阅读 · 0 评论 -
D2-栈和队列
堆栈:只在一端(栈顶)做操作,后入先出 首先对堆栈的结构体作定义 #define MAXSIZE <储存数据元素的最大个数> typedef struct _snode { int Top; int data[MAXSIZE]; }*Stack; 入栈 void Push(Stack Ptrs, int item) { if (Ptrs->Top == MAXSIZE - 1) printf("ERROR"); else { Ptrs->data[++原创 2022-04-22 20:34:25 · 1025 阅读 · 0 评论 -
D1-单链表
链表基础原创 2022-04-20 20:41:53 · 367 阅读 · 0 评论