数据结构知识框架图
2015-03-29 20:33
375 查看
数据结构描述:
#define MAX 50 typedef int ElemType; //线性表:顺序 typedef struct { //表中数据个数 int count; ElemType data[MAX]; }ArrayList; //线性表:链式,带头节点 typedef struct Node { ElemType data; struct Node* next; }LinkList; //栈:顺序 typedef struct { //int count; //栈中元素的个数 int top; //栈顶的index,栈空时为-1 ElemType data[MAX]; }SqStack; //栈:链式,不要头节点,直接在链表头部进行操作 typedef struct Node { ElemType data; struct Node* next; }LiStack; //队列:顺序,采用循环数组,空出一个不放元素/设置一个flag表示是否队满/记录队列中元素个数 typedef struct { //int count; //队列中元素的个数 int front,rear; //头指针和尾指针 ElemType data[MAX]; }SqQueue; //队列:链式,最好使用循环链表 typedef struct { LinkNode* first,* last; }LiQueue; //二叉树:孩子兄弟表示法 typedef struct Node { struct Node* lchild; struct Node* rchild; ElemType data; }BTree; //图: /* 邻接矩阵: 1.无向图的邻接矩阵是对称矩阵,可以只存三角矩阵 2.不带权的有向图的邻接矩阵是稀疏矩阵,可以用三元组标识 3.无向图:邻接矩阵的第i行非0元素的个数是第i个顶点的度(对于有向图,是出度) 4.易于确定顶点间是否有边,但是确定总边数时,要按行和列进行扫描,复杂。 */ typedef struct { int no; //定点编号 char* info; //顶点其他信息 } VertexType; //顶点类型 typedef struct { int edges[MAX][MAX]; //邻接矩阵的边数组 int n,e; //顶点数,边数 VertexType vxs[MAX]; //存放顶点信息 } MGraph; //顺序分配与链式分配的结合,邻接表 /* 邻接表: 1.表示不唯一 2.n,e的无向图需要存储n个顶点和2*e个边,对于稀疏图,邻接表更省空间 3.第i个链表的长度是顶点i的度。 4.有向图中只存储了以顶点为起点的边,不宜找到指向该顶点的边,可以设计逆邻接表,保存指向该顶点的边。 */ typedef struct ANode { int adjvex; ///该边的终点位置 struct ANode* nextarc; //指向下一条边的指针 char* info; //边的信息 } ArcNode; typedef struct VNode { char* data; //顶点信息 ArcNode* firstarc; //指向第一条边 }VNode; typedef VNode AdjList[MAX]; typedef struct { AdjList adjlist; //邻接表 int n,e; //顶点数,边数 } ALGraph; //并查集 typedef struct node { int data; //对应此人的编号 int rank; //节点对应的秩 int parent; //节点对应的双亲节点 } UFSTree; //哈夫曼树:其实是一种贪心思想,每次选最小的两个构成一个根 typedef struct{ char data; double weight; int parent; int lchild; int rchild; }HTNode;
相关文章推荐
- 1 数据结构1----数据结构知识框架
- 数据结构知识
- 【自然框架】之通用权限(一):简介、数据结构
- java基础知识:数据类型,switch语句,分支结构
- 数据结构基础知识(2)
- 数据结构基础知识(1)
- 数据结构基础知识
- PJLIB库基础框架-数据结构之字符串的使用
- 算法与数据结构基础知识
- 【自然框架.视频】基础设置(二)下载演示程序用的数据库,和数据表结构简介
- 数据结构知识:链表,队列和栈的区别
- 【自然框架】之通用权限(一):简介、数据结构 (转)
- C#数据结构一:基础知识
- 数据结构知识整理-链表的建立 逆置
- 【自然框架】之通用权限(一):简介、数据结构
- 数据恢复知识之硬盘结构
- C#框架提供的几种数据结构对单值查找的效率比较
- 数据结构知识整理(一)
- 数据结构知识——树的三种不同遍历算法解析