BeatificDevin

。。

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

随笔分类 -  数据结构和算法

C语言实现
摘要:#include using namespace std;void QuickSort(int a[], int low, int high)//0--- n-1{ int i, j, flagNum; if(low = flagNum) j--; if(i i ;j--) { i... 阅读全文
posted @ 2015-10-26 16:03 BeatificDevin 阅读(182) 评论(0) 推荐(0)

摘要:#include #define N 10using namespace std;void swap(int &a,int &b){// a = a + b;// b = a - b;// a = a - b; a ^= b; b ^= a; a ^= b;}vo... 阅读全文
posted @ 2015-06-04 17:31 BeatificDevin 阅读(397) 评论(0) 推荐(0)

摘要:#include using namespace std;#define N 10int fib(int n){ if(n == 0) { return 0; } else if(n == 1) { return 1; } els... 阅读全文
posted @ 2015-06-01 21:28 BeatificDevin 阅读(506) 评论(0) 推荐(0)

摘要:相关术语: 查找表:(Search Table)是由同一类型的数据元素(或记录)构成的集合。 关键字:(Key)是数据元素中某个数据项的值,又称为键值,它可以标识一个数据元素。 主关键字:若某个关键字可以唯一地标识一个记录,则称此关键字为主关键字(Primary Key)。这就意味着,对于不同... 阅读全文
posted @ 2014-12-24 00:22 BeatificDevin 阅读(198) 评论(0) 推荐(0)

摘要:相关概念: (1)AOE (Activity On Edges)网络如果在无有向环的带权有向图中用有向边表示一个工程中的各项活动(Activity),用边上的权值表示活动的持续时间(Duration),用顶点表示事件(Event),则这样的有向图叫做用边表示活动的网络,简称AOE (Activit... 阅读全文
posted @ 2014-12-23 20:33 BeatificDevin 阅读(932) 评论(0) 推荐(0)

摘要:拓扑排序: 一个较大的工程往往被划分成许多子工程,我们把这些子工程称作活动(activity)。在整个工程中,有些子工程(活动)必须在其它有关子工程完成之后才能开始,也就是说,一个子工程的开始是以它的所有前序子工程的结束为先决条件的,但有些子工程没有先决条件,可以安排在任何时间开始。为了形象地反映... 阅读全文
posted @ 2014-12-23 16:39 BeatificDevin 阅读(194) 评论(0) 推荐(0)

摘要:算法描述: Floyd算法又称为弗洛伊德算法,插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法。从图的带权邻接矩阵A=[a(i,j)]n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又用同样地公式由D(1)构造出D(2);……;最后又用同样的公式由D(... 阅读全文
posted @ 2014-12-23 13:14 BeatificDevin 阅读(864) 评论(0) 推荐(0)

摘要:算法描述: Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dijkstra算法是很有代表性的... 阅读全文
posted @ 2014-12-23 13:05 BeatificDevin 阅读(1401) 评论(0) 推荐(0)

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

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

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

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

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

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

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

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

摘要:/*汉诺塔问题*/#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 阅读(288) 评论(0) 推荐(0)

摘要:/*输入一个字符串实现逆序输出*/#include #include void print(){ char c; scanf("%c",&c); if(c != '#') print(); if(c != '#') printf("%c",c);}... 阅读全文
posted @ 2014-12-15 21:47 BeatificDevin 阅读(3773) 评论(0) 推荐(0)

摘要:#include #include #define ElemType inttypedef struct QNode{ ElemType data;//定义队列中的元素 struct QNode *next;}QNode;typedef struct LinkQueue{ QNod... 阅读全文
posted @ 2014-12-15 20:14 BeatificDevin 阅读(2078) 评论(0) 推荐(0)