数据结构
Young_or_never
有舍才有得,对的
展开
-
图的深度遍历算法
问题描述: 输入: 建立图的存储结构:顶点和边(弧),例:无向图G的顶点V={A,B,C,D,E,F,G,H},边E={(A,B),(A,C),(B,D),(B,E),(C,F),(C,G),(D,H),(E,H),(F,G)}(G具有8个顶点和9条边) 输出: 深度优先遍历的顶点序列(按照存储结构):A,B,D,H,E,C,F,G(或者其它的不同顺序的序列)` c原创 2016-11-29 18:27:03 · 3856 阅读 · 0 评论 -
线性表的定义与操作-链式表
线性表的定义与操作-链式表 注:无main函数代码typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrToLNode Position;typedef PtrToLNode List;/* 查找 */#define ERROR NULL转载 2016-11-30 20:27:02 · 433 阅读 · 0 评论 -
线性表的定义与操作-顺序表
线性表的定义与操作。 注:无main函数代码#define ERROR -1typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last;};/* 初始化 */List MakeEmpty(){ List L;转载 2016-11-30 20:24:27 · 411 阅读 · 0 评论 -
折半查找
折半查找的实现 注:输入为有序数组#include <stdio.h> #define Max 20int main(){ int a[Max]; int n,l,r,i,ser,mid; printf("请输入数组的长度:"); scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]);原创 2016-12-01 22:40:58 · 245 阅读 · 0 评论 -
二叉排序树各项操作
二叉排序树的各项操作#include <stdio.h>#include <stdlib.h>#define MAX 20typedef int datatype;typedef struct bi_search_tree{ datatype key; struct bi_search_tree *left,*right;}*bst_tree;/*插入操作,value转载 2016-12-02 11:32:56 · 322 阅读 · 0 评论 -
DFS和BFS的使用
5-11 列出连通集 (25分) 给定一个有NN个顶点和EE条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N-1N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入样例: 8 6 0 7 0 1 2 0 4 1 2 4 3 5 输出样例:{ 0 1 4 2 7 } { 3 5 } { 6 } { 0 1 2 7原创 2017-03-05 10:46:05 · 380 阅读 · 0 评论 -
树的深度、顺序输出树
#include <stdio.h>#include <stdlib.h>#include <queue>using namespace std;typedef struct BiTNode{ int value; struct BiTNode *lchild; struct BiTNode *rchild;}BiTNode,*BiTree;BiTree rebu原创 2017-03-12 11:28:09 · 772 阅读 · 0 评论