
经典算法集锦
文章平均质量分 63
Jcy
用忍者的心态学习
用武士的态度战斗
展开
-
汉诺塔(递归实现)
这是按照严蔚敏书55页上写的。#include #include int c = 0; //表示移动的次数void move(char x, int n, char z){ printf("Move disk %d from %c to %c\n", n, x, z);}void hanoi(int n,char x, char y, char z){a原创 2012-10-31 21:24:11 · 756 阅读 · 0 评论 -
栈模拟迷宫
#include #include #define STACK_SIZE 1#define STACK_ADD 1#define FLASE 0#define TRUE 1#define N 10#define M 10typedef int Elemtype;typedef int Status;int curstep = 1; //探索的步数int map[M][原创 2012-11-01 19:04:57 · 795 阅读 · 0 评论 -
字符串匹配之朴素算法
此算法原型是按照严蔚敏书第79页上的求子串位置的定位函数来写的,其实百度能看到很多关于字符串朴素算法的例子,其中不乏用c和c++语言实现的。不过大多数都是不带参数的,即要不是将串定义为全局的,要不就是在子函数中定义。而严蔚敏的书中是作为参数,并且带起始搜索位置的参数。下面是代码:#include #include #include int Index(char *str_1,c原创 2012-11-18 17:59:49 · 2269 阅读 · 0 评论 -
字符串匹配之首尾匹配算法
上一篇谈的是朴素算法(有的也称为BF算法),也就是最简单,最笨拙的方法,不过也是最容易写出的算法了,下面介绍的是一种在特定情况下稍好于朴素算法的方法,称之为首尾匹配算法。大致思路如下:主串:ghdwdgdwhduedfh子串:dwh主串索引:i;子串索引:j;从主串的第一个字符开始,用子串的首字符跟主串当前位置比较,如果一样,则比较子串最后一位对应的主串位置的字符,如果不一原创 2012-11-19 16:42:00 · 4898 阅读 · 1 评论 -
大数运算(C++类实现)
#include#includeusing namespace std;const int maxn = 200;struct bign{ int len, s[maxn]; bign() { memset(s, 0, sizeof(s)); len = 1; } bign(int num) { *this = num; } bign原创 2012-12-14 19:25:00 · 2955 阅读 · 0 评论