BeatificDevin

。。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2014年12月22日

摘要: 特点:适用于稀疏图,边比较少的图。如果顶点较少,且为稠密图,则用Prim算法。跟Prim算法的用途相同。时间复杂度为O(e*loge),其中e为边数。代码:#include #include #define MAXEDGE 20 //设定边的最大值#... 阅读全文
posted @ 2014-12-22 15:56 BeatificDevin 阅读(1045) 评论(2) 推荐(0) 编辑

摘要: 描述: 一个连通图的生成树是指一个极小连通子图,它含有图中的全部顶点,但只有足以构成一棵树的 n-1 条边。我们把构造连通网的最小代价生成树成为最小生成树。而Prim算法就是构造最小生成树的一种算法。定义: 假设N = (P,{E})是连通网,TE是N上最小生成树中边的集合。算法从U = {U0... 阅读全文
posted @ 2014-12-22 12:38 BeatificDevin 阅读(774) 评论(0) 推荐(0) 编辑

2014年12月21日

摘要: #include #include #define MAXVERTEX 10typedef char VertexType; //顶点类型typedef int EdgeType; //边的类型typedef int ElemType... 阅读全文
posted @ 2014-12-21 21:07 BeatificDevin 阅读(397) 评论(0) 推荐(0) 编辑

2014年12月19日

摘要: /*树的邻接矩阵的存储结构*/#include #include #define MAXVEX 10#define InitEdge 0typedef char VertexType;typedef int EdgeType;typedef struct MGraph{ Ver... 阅读全文
posted @ 2014-12-19 14:03 BeatificDevin 阅读(419) 评论(0) 推荐(0) 编辑

2014年12月18日

摘要: /************************************************************//********************图的深度优先搜索***********************//********************用邻接矩阵来实现******... 阅读全文
posted @ 2014-12-18 21:29 BeatificDevin 阅读(1262) 评论(1) 推荐(1) 编辑

2014年12月17日

摘要: 注意: 构造二叉树的时候要用双重指针,用单重指针时,要有返回值。代码如下:/*此处输入空格代表空,默认按前序遍历完全二叉树的方式输入数据形参是在执行函数时自动分配的,没有执行这个函数之前不占用存储空间,当函数执行完毕后释放这个形参,所以我们要使用到双重指针来构造树。这样,我们传进去的是树节点的指针... 阅读全文
posted @ 2014-12-17 23:38 BeatificDevin 阅读(633) 评论(0) 推荐(0) 编辑

摘要: 1、首先假设有一个树如下:2、双亲表示法 我们假设以一组连续空间存储树的结点,在每个结点中,附设一个指示器指示其双亲结点到链表中的位置。这样,每个结点除了知道自己是谁以外,还知道他们的双亲在那里。 如下图所示:dataparent 由于这种存储结构不能有效的寻找其兄弟结点,我们队这种存储解雇进... 阅读全文
posted @ 2014-12-17 15:50 BeatificDevin 阅读(977) 评论(0) 推荐(0) 编辑

摘要: #include #include int Index_BF(char S[],char T[])//s为目标串(长串),t为模式串(可能为子串){ int i = 0,j,k; int m = 0; int flag; int lens,lent; int pos[1... 阅读全文
posted @ 2014-12-17 13:19 BeatificDevin 阅读(438) 评论(0) 推荐(0) 编辑

2014年12月16日

摘要: 问题描述: 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋棋盘上放置八个皇后,使得任意两个皇后不能互相攻击,即任何行、列或对角线(与水平轴夹角为45°或135°的斜线)上不得有两个或两个以上的皇后。对于这个问题... 阅读全文
posted @ 2014-12-16 17:14 BeatificDevin 阅读(404) 评论(0) 推荐(0) 编辑

2014年12月15日

摘要: /*汉诺塔问题*/#include #include //定义n为移动的层数,x,y,z分别代表三根柱子,表示把前n层塔牌从x借助y移动到zvoid move(int n,char x,char y,char z){ if(n == 1) { printf("从 %c 移动... 阅读全文
posted @ 2014-12-15 22:12 BeatificDevin 阅读(284) 评论(0) 推荐(0) 编辑