算法
apaolove
这个作者很懒,什么都没留下…
展开
-
快速排序 qsort
还未作详细的分析/***************************************** * 文件名: qsort.cpp * 功能: 实现快速排序并测试 * 创建日期: 2007-9-18*****************************************/#include using namespace std;/*********************原创 2007-09-18 22:50:00 · 464 阅读 · 0 评论 -
huffman编码
在昨晚程序的基础上加进去的. 反转一个string要用到algorithm里面的reverse方法, 原来以为是用string的成员函数reserve弄来弄去都是错的.自己编了一个程序想反转string也不行,不知道为什么:void reserve(string a)...{ int len = a.length(); int i; for(i = 0; i原创 2007-11-20 00:27:00 · 609 阅读 · 0 评论 -
串的模式匹配算法之KMP与BF
这几天做手机软件, 都不怎么看一些算法小程序了, 同学数据结构作业,急需交,帮其做/**//** 文件名:KMP_BF.cpp* 描述:实验内容:* 比较BF算法和KMP算法的优劣* 实验基本要求:* 1.采用定长顺序显示表示串长的结构来存储串(结构定义见课件第17张幻灯片)** 2.实现BF算法(即朴素算法),BF函数头如下:(参见课件第34张原创 2007-11-09 00:18:00 · 3424 阅读 · 0 评论 -
N皇后问题的实现
/**//** 文件名:m.cpp* 功能:实现 N 皇后* 创建日期:2007-10-17*/#include iostream>using namespace std;bool place(int x[], int k)...{ int i; for(i = 0; i k; i++) ...{ if(x[i] == x[k] || abs(i-k) ==原创 2007-10-18 00:03:00 · 710 阅读 · 1 评论 -
用C++实现一个二叉树类
我以为自己复习得差不多了,但是从昨天的笔试看来,基础真的很不扎实. 一个二叉树类也写不出来,即使是今天,也要调试半天./**//** 昨天参加宜搜的笔试,要求用C++写一二叉树类,实现插入,删除,定位功能,辗转再三,* 却无从下手,甚急,终基础不好,今天再想,通过层次遍历二叉树,再进行实现相关功能* 实也不难. 以下代码*//**//** FileName:BTree.cpp* Descr原创 2007-11-04 16:34:00 · 8743 阅读 · 0 评论 -
中缀表达式转换成后缀表达式的实现(VB)
在对表达式求值过程中用到了后缀表达式:比如: 2+3*(1.5-6*(3-2+4)/3) 其后缀表达式为:2 3 1.5 6 3 2 – 4 + * 3 / - * + 下面直接贴出VB代码,Option Base 1 让数组的下标从 1 开始Dim ptr As String 遍历源字符串的指针Dim str As String原创 2007-10-16 21:40:00 · 1132 阅读 · 0 评论 -
有关中缀表达式转换成后缀表达式的算法
中缀表达式是一般进行数学运算时用的式子,如: 4+2*3-2+6*5*(2-1)后缀表达式主要是方便计算机对一个数学式子求值而衍生出来的,如上面那个式子的后缀表达式为:4 2 3 * + 2 - 6 5 * 2 1 - *闲话不说,转换算法如下:str1 放中缀表达式,并在后面加一个#str2 放后缀表达式, 当然先将其置空,另开一个栈放符号,并预先在符号栈存一优级极低的原创 2007-10-12 09:29:00 · 2336 阅读 · 3 评论 -
归并排序
// 文件名:merge.cpp// 功能:实现归并排序// 创建日期:2007-10-29#includeiostream>using namespace std;void merge(int *A, int p, int q, int r)...{ int n1, n2; // 两截数长度 int i, j; // 遍历数组迭代量 int *L, *R; //原创 2007-10-29 23:22:00 · 560 阅读 · 0 评论 -
求公共子串问题
算法思想来自:http://blog.csdn.net/shaohui/archive/2006/06/09/784577.aspx// 求两字符串最大公共子串 from:http://blog.csdn.net/shaohui/archive/2006/06/09/784577.aspx/**//*s1 = "abcdefg", s2 = "klmncdf" abcdefg原创 2007-10-22 15:49:00 · 677 阅读 · 1 评论 -
判断一个串是否回文串
栈的应用——判断一个串是否是回文串 [问题描述] 判断一个串是否是回文串。 [基本要求] 由于输入的一个回文串可能无穷大,所以用string储该串。 [解题算法] 1,取得该串长度2,判断串长是否为单数,3,遍历串,将串的前半字符推进栈,4,如果串长为单数,跳过中间字符5,从栈中弹出字符与串的后半部分作比较 #includeiostream>#includestack原创 2007-10-22 10:44:00 · 4766 阅读 · 0 评论 -
大数类程序(zz)
文章来源: http://bbs.tarena.com.cn/topic.cgi?forum=2&topic=1782 整理了一下, 并为larnum类中逻辑运算符函数添加返回值类型:bool , 并在VS2005下测试过. 分三个文件存放:Bignum.h // 声明大数类larnumBignum.cpp // 实现class larnumtestBignum.cpp //转载 2007-09-28 18:41:00 · 843 阅读 · 0 评论 -
散列表
/**//*************************** *文件名:hash.cpp *功能:散列表 *创建日期:2007-9-27***************************/#include iostream>using namespace std;const int m = 11;int h(int k, int i)...{ return (k % m + i)原创 2007-09-28 00:51:00 · 469 阅读 · 0 评论 -
链表队列与二叉树基本操作
/********************************* * file : m.cpp * 功能: 1,建链表队列 2,定义二叉树 3,对二叉树进行中序,后序遍历 4,对二叉树进行层次遍历 5,计算二叉树的叶子数目 6,计算二叉树的深度 7,实现复制二叉树 8,删除二叉树 * 创建日期:2007-9-24*********************原创 2007-09-25 00:00:00 · 855 阅读 · 0 评论 -
实现huffman树
今晚实现了一个huffman树. 明晚实现huffman编码 /**//** 文件名:huffman.cpp* 描述:实现一个huffman树* 创建日期:2007-11-18*/#includeiostream>using namespace std;const int MAX = 1000; // 最大权值struct hufnode...{ int w; // 权值原创 2007-11-19 00:30:00 · 1082 阅读 · 0 评论