- 博客(7)
- 收藏
- 关注
原创 图的遍历算法操作(DFS and BFS)
1.图的邻接矩阵存储结构 typedef struct EdgeNode { int adjvex; //float weight; struct EdgeNode *next; }EdgeNode;/*实际上就是一个带数据域的单链表*/ typedef struct VertexNode { char info;//或者 int info; EdgeNode * firstEdge;...
2019-08-18 12:33:26
227
原创 二叉树广度优先遍历(层次遍历)及其应用
0.树结构 typedef struct BTNode { int data; struct BTNode *lchild; struct BTNode *rchild; }BTNode; 1.层次遍历 void level(BTNode *p) { if(!p)//空树直接返回 return; BTNode *q;//遍历树的指针 BTNode *que[maxSize];//...
2019-07-20 22:08:32
484
原创 二叉树深度优先非递归遍历(自定义栈、C语言)
0.树结构体 typedef struct BTNode { int data; struct BTNode *lchild; struct BTNode *rchild; }BTNode; 1.先序 void preOrderNonRecursion(BTNode *bt) { if(bt) { BTNode *stack[maxSize]; int top=-1; BT...
2019-07-20 21:46:12
501
2
原创 二叉树的创建和遍历(C语言)
1.树结点定义 typedef struct BTNode { char data; struct BTNode *lchild; struct BTNode *rchild; }BTNode; 2.先序遍历 void visit(BTNode *p) { /*TO DO VISIT*/ cout<<p->data; return; } void preorder...
2019-07-19 16:18:43
372
原创 二叉树的遍历算法(C语言)
0.树结构体定义 typedef struct BTNode { int data; struct BTNode *lchild; struct BTNode *rchild; }BTNode; 1.先序遍历 void preorder(BTNode *p) { if(p) { visit(p); preorder(p->lchild); preorder(p->...
2019-07-19 15:27:58
1835
原创 二叉树的存储结构
1.顺序存储结构 较适合完全二叉树,用于存储一般二叉树可能会浪费大量的存储空间 2.链式存储结构 二叉链表存储结构 定义如下: typedef struct BTNode { ElemType data; struct BTNode *lchild; struct BTNode *rchild; }BTNode; ...
2019-07-19 14:36:08
143
原创 二叉树基础
1.二叉树的定义 ①每个结点最多只有两棵子树 ②子树左右有顺序之分 2.常见的二叉树类型 ①满二叉树 看起来"完美"而又"平衡"的树 ②完全二叉树 首先从上至下,从左至右按顺序给结点编号, 再从下至上,从右至左按顺序删除结点。 由此可见满二叉树是一棵特殊的完全二叉树,而完全二叉树是"缺胳膊少腿"的满二叉树。 3.二叉树的性质 ①在二叉树的第i层上至多有2^(i-1)个结点(画一棵满二叉树,一眼看出...
2019-07-19 14:28:19
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人