数据结构和算法
文章平均质量分 76
半个灵魂
敲自己的代码
展开
-
背包问题的递归和非递归的解法
/**简单背包问题问题定义:有一个背包重量是S,有n件物品,重量分别是W0,W1...Wn-1问能否从这n件物品中选择若干件放入背包中使其重量之和正好为S*/#include #include #include #include using namespace std;const int maxsize=100;int n,S;//n是有多少中物品,S是要凑足的重量boo原创 2012-04-04 21:59:37 · 6960 阅读 · 2 评论 -
KMP算法基本思想与实现
/**KMP算法算法思想:T0....T(j-i)......T(j-1) Tj = = != p0 P(i-1) Pi即在比较的过程中有P(0...i-1) = T(j-i....j-1) 再往下匹配时 Pi =!Tj如果找到K值使P(0..i-k-1) = p(k..i-1)这样字符创P可原创 2012-04-06 00:06:44 · 1230 阅读 · 1 评论 -
蛇形排列 非递归
/** * 蛇形排列的算法实现 * * 蛇形排列 * * 输入4 * 输出: * 1 2 3 4 * 12 13 14 5 * 11 16 15 6 * 10 9 8 7 * * 输入5: * * 1 2 3 4 5 * 16 17 18 19 6 * 15 24 25 20 7 * 14 23 22原创 2012-08-12 16:12:28 · 2348 阅读 · 0 评论 -
常用的排序算法
/**排序方式插入排序:直接插入排序 Shell排序选择排序:直接选择排序 堆排序交换排序:冒泡排序 快速排序归并排序分配和索引排序:基数排序 桶式排序*/#include using namespace std;//直接插入排序 Arr[]为待排数组,n为数组长度voi原创 2012-04-06 17:03:43 · 738 阅读 · 0 评论 -
希尔排序
以前写过一个希尔排序,不过不是很好理解,并且代码也很长,这次从C程序设计语言中看到一个比较好理解并且代码量较少的程序,值得学习一下//希尔排序//v[]待排数组,n数组个数void shell_sort(int v[],int n){ int gap,j,i,temp; //从n/2开始进行对折 for(gap = n / 2;gap > 0 ; gap原创 2012-10-08 11:15:39 · 483 阅读 · 0 评论