随笔分类 -  Data Structures

摘要:Kruskal算法求最小生成树(Minimun Cost Spanning Tree简称MST),使用的图的数据结构是边表数组。 阅读全文
posted @ 2016-03-13 14:53 robin_X 阅读(1855) 评论(0) 推荐(0)
摘要:Prim算法求图的最小生成树(使用的图的数据结构是图的邻接矩阵存储表示) /* minCost数组:该数组是结构数组,即每个元素是一个结构类型。该结构有两个域:lowCost用来保存所有已经在*最小生成树中的顶点,到所有还没有在最小生成树中的顶点的所有权值中的最小的;vertax域用 * 来保存是哪 阅读全文
posted @ 2016-03-13 14:48 robin_X 阅读(5412) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 4 #define MAX_VERTAX_SIZE 20 5 #define OK 1 6 #define ERROR 0 7 8 typedef int Status; 9 typedef char ElemType; 10 11 typedef struct EageNode{ 12 in... 阅读全文
posted @ 2016-03-13 14:41 robin_X 阅读(3270) 评论(0) 推荐(1)
摘要:1 #include 2 #include 3 4 #define OK 1 5 #define ERROR 0 6 #define MAX_VERTAX_SIZE 20 7 8 typedef char VerElemType; 9 typedef char ElemType; 10 typedef int Status; 11 12 typed... 阅读全文
posted @ 2016-03-13 14:34 robin_X 阅读(2696) 评论(0) 推荐(0)
摘要:问题描述:将马随机放在国际象棋的Board[0~7][0~7]的某个方格中,马按走棋规则进行移动。走遍棋盘上全部64个方格并且不能重复。求出马的行走路线,并按求出的行走 路线,将数字1,2,…,64依次填入一个8×8的方阵,输出之。 1 #include<stdio.h> 2 #include<ti 阅读全文
posted @ 2016-03-11 15:46 robin_X 阅读(498) 评论(0) 推荐(0)
摘要:1 /* 遍历二叉树就是以一定的规则将二叉树中的节点排列成一个线性 2 * 序列,从而得到二叉树节点的各种遍历序列,其实质是:对一个 3 * 非线性的结构进行线性化。使得在这个访问序列中每一个节点都 4 * 有一个直接前驱和直接后继。 5 * 传统的链式结构只能体现一种父子关系,¥不能直接得到节点在 阅读全文
posted @ 2016-03-06 21:36 robin_X 阅读(520) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #define OK 1 5 #define ERROR 0 6 #define YES 1 7 #define NO 0 8 9 typedef int Status; 10 typedef char Ele 阅读全文
posted @ 2016-03-06 21:34 robin_X 阅读(519) 评论(0) 推荐(1)
摘要:1 /* next数组是KMP算法的关键,next数组的作用是:当模式串T和主串S失配 2 * ,next数组对应的元素指导应该用T串中的哪一个元素进行下一轮的匹配 3 * next数组和T串相关,和S串无关。KMP的关键是next数组的求法。 4 * 5 * ——————————————————— 阅读全文
posted @ 2016-03-04 22:42 robin_X 阅读(286) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #define OK 1 5 #define ERROR 0 6 #define STACK_SIZE 20 7 #define STACK_INCREMENT 10 8 #define QUEUE_SIZE 阅读全文
posted @ 2016-03-04 22:40 robin_X 阅读(418) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #define OK 1 5 #define ERROR 0 6 #define STACK_INIT_SIZE 20 7 #define STACK_INCREMENT 10 8 9 typedef char 阅读全文
posted @ 2016-02-28 11:45 robin_X 阅读(379) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<ctype.h> 4 5 #define OK 1 6 #define ERROR 0 7 #define STACK_INIT_SIZE 20 8 #define STACK_INCREMENT 阅读全文
posted @ 2016-02-28 11:42 robin_X 阅读(655) 评论(0) 推荐(1)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<math.h> 4 5 #define INIT_STACK_SZIE 20 6 #define STACK_INCREMENT 10 7 #define OK 1 8 #define ERROR 阅读全文
posted @ 2016-02-28 11:40 robin_X 阅读(1361) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #define STACK_INIT_SIZE 10 5 #define STACKINCREASE 10 6 #define OK 1 7 #define ERROR 0 8 9 typedef int El 阅读全文
posted @ 2016-02-28 11:36 robin_X 阅读(297) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #define OK 1 5 #define ERROR 0 6 7 typedef int Elemtype; 8 typedef int Status; 9 10 typedef struct Node{ 阅读全文
posted @ 2016-02-20 12:49 robin_X 阅读(300) 评论(0) 推荐(0)
摘要:拉丁方阵是一种n×n的方阵,方阵中恰有n种不同的元素,每种元素恰有n个,并且每种元素在一行和一列中 恰好出现一次。著名数学家和物理学家欧拉使用拉丁字母来作为拉丁方阵里元素的符号,拉丁方阵因此而得名。 代码思路简介:使用单循环链表来实现输出拉丁方阵。 在输出第一行的时候,从第一个元素开始输出,会输出至 阅读全文
posted @ 2016-02-13 11:39 robin_X 阅读(1715) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 4 typedef struct Node{ 5 int data; 6 struct Node* next; 7 }Node; 8 typedef struct Node* LinkList; 9 10 void 阅读全文
posted @ 2016-02-12 19:27 robin_X 阅读(502) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 /* 用尾指针表示的单循环链表,相比于使用头指针表示的单循环链表: 4 * 后者在寻找链表的第一个节点的时候,时间复杂度是O(1),在寻找链 5 * 表的最后一个元素的时候,时间复杂度是O(n)。 6 * 前者在寻 阅读全文
posted @ 2016-02-12 13:22 robin_X 阅读(5471) 评论(0) 推荐(0)
摘要:问题背景:八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后。为了达到这个目的, 任两个皇后都不能处于同一条横行、纵行或斜线上。 以下的代码给出的解法应该是最容易理解的一种方法,本问题还可以用回溯法和递归解决,理论上效率 阅读全文
posted @ 2016-02-10 21:47 robin_X 阅读(393) 评论(0) 推荐(0)
摘要:1 /*Joseph Problem 2 *利用单循环链表解决约瑟夫问题。 3 *问题描述:将n个数链接成一个环,从第m个开始,每次从1计数到s时 4 * 将s删除。从下一个开始再次从1计数至s时删除s。直到全 5 * 部删除为止。 6 * */ 7 #include<stdio.h> 8 #inc 阅读全文
posted @ 2016-02-09 22:24 robin_X 阅读(1698) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 4 typedef struct Node{ 5 int data; 6 struct Node* next; 7 }Node,*LinkList; 8 9 void InitialList(LinkList *L 阅读全文
posted @ 2016-02-08 19:19 robin_X 阅读(300) 评论(0) 推荐(0)