算法设计
林子木
这个作者很懒,什么都没留下…
展开
-
分治排序示例
//此处只贴了代码,具体的执行过程在我的百度空间中给出了,就不搬过来了!//链接是:http://hi.baidu.com/wolinxuebin/blog/item/996f6dc851ca7ee252664f8e.html // InsertionSort.cpp : 定义控制台应用程序的入口点。////#include "stdafx.h"#includeusing n原创 2012-03-21 18:23:10 · 2613 阅读 · 0 评论 -
快速排序 解析
快速排序法原理也是用了分治法,主要原理是将数组分为A[p..q-1] 和A[q+1..r],然后调整元素使得A[p..q-1]小于等于q,也小于等于A[q+1..r]。然后不断的递归,到最后就排序完成。上代码:// QuickSort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std原创 2012-04-13 09:01:28 · 78630 阅读 · 7 评论 -
Java 实现简答的单链表的功能
定义了一个MyList类包含的函数:getHead()返回头指针;isEmpty() 判断是否为空;addFirst(T element)在链表的头部加入元素;addLast(T element)在链表的尾部加入元;add(T fix原创 2014-11-12 20:06:27 · 1521 阅读 · 0 评论 -
【转】遗传算法
转自:http://www.cnblogs.com/heaad/ 遗传算法 ( GA , Genetic Algorithm ) ,也称进化算法 。 遗传算法是受达尔文的进化论的启发,借鉴生物进化过程而提出的一种启发式搜索算法。因此在介绍遗传算法前有必要简单的介绍生物进化知识。 一.进化论知识 作为遗传算法生物背景的介绍,下面内容了解即可: 种群(Popula转载 2013-11-26 20:23:54 · 914 阅读 · 0 评论 -
【转】模拟退火算法
转自:http://www.cnblogs.com/heaad/ 一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全转载 2013-11-26 20:22:23 · 1092 阅读 · 1 评论 -
【转】POJ 1009
转自:優YoU http://user.qzone.qq.com/289065406/blog/1311227000大致题意:某种卫星使用一种叫做“run length encoding”的方式来储存大尺寸图片,有一种简单的 edge detection 算法 是将 图像中的每一个点的值与他周围的八个点相减,然后记录下绝对值最大的,上面的右图是左图经过这种算法转换之后的结果。转载 2013-11-04 21:12:01 · 686 阅读 · 0 评论 -
POJ 1008 Maya Calendar
这道题目也是一道水题,但是好特别注意一年中的最后一天,可能会出现错误。代码如下:#include #include #include int main(){ char holly[20][10] = {"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk", "ok","chuen","原创 2013-11-04 09:45:55 · 908 阅读 · 0 评论 -
POJ 1007 DNA Sorting——Output Limit Exceeded
这题本就是一道水题,但是让我弄出了 Output Limit Exceeded,起先没注意以为是自己的运行超时了,后来在优化下排序,发现不是如此。最后才发现是,原来是最大数组长度是50,而且是字符串,而我真的设置了最大是50,造成最后字符数组尾部没有‘\0’,在输出的时候出问题了。示例一:#include #define LENGTH 3int main(v原创 2013-11-01 09:08:47 · 5917 阅读 · 3 评论 -
北大OJ 1001题 Exponentiation
北大OJ 1001题 Exponentiation原创 2013-10-25 20:19:54 · 4291 阅读 · 1 评论 -
c语言返回多个值——欧几里得算法的应用
作者:林子木 wolinxuebin转载请保留:http://blog.csdn.net/wolinxuebinc语言返回多个值——欧几里得算法的应用 今天拿出好久没看到的《算法导论》了,有个习惯,喜欢把上面的例子用c来实现。今天 看到求最大公约数的欧几里得算法,立马想试试。(ps,具体的算法内容,限于时间有限,不细讲。) 最近用matlab和phpbp比较原创 2012-07-26 16:00:12 · 2697 阅读 · 0 评论 -
桶形排序
桶形排序和计数排序十分相似,唯一的区别是桶形排序的输入是随机产生的,换句话说,是均匀分布的。往大了讲,数据越大,到最后每个桶里面的数据的个数都是一样的。上代码: #include #include #define N 10#define TYPE floattypedef struct set *Set;Set newSet();void setIns原创 2012-04-23 16:16:42 · 1208 阅读 · 0 评论 -
基数排序 RadixSort 算法分析
前面已经介绍了几种排序:分治排序:http://blog.csdn.net/wolinxuebin/article/details/7380455堆排序 :http://blog.csdn.net/wolinxuebin/article/details/7388858快速排序:http://blog.csdn.net/wolinxuebin/article/details/7456原创 2012-04-23 09:11:46 · 2868 阅读 · 1 评论 -
随机快速排序
随机快速排序算法是对快速算法的一种优化,本质没什么区别,随机快速排序的最坏情况就是和快速排序一样。上代码: // Randomizde_QuickSort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#includeusing namespace std;/*函数声明*/void Randomiz原创 2012-04-13 10:01:34 · 5855 阅读 · 0 评论 -
链表 例程(C++)
搬运工:林子木/*************************************** 链表管理例程 主要实现功能为: 0、新建链表 1、插入成员 2、查找成员 3、删除成员 4、数据浏览***************************************/#include "StdAfx.h"#include #转载 2012-03-23 22:48:58 · 1155 阅读 · 0 评论 -
排序 堆排序 例程
// heapSort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#includeusing namespace std;void MaxHeapify(int *a,int i,int size); //保持最大堆特性void BuildMaxHeap(int *a,int size) ; //建立最大堆vo原创 2012-03-23 22:13:52 · 946 阅读 · 0 评论 -
计数排序
计数排序原创 2015-02-03 15:40:22 · 1161 阅读 · 0 评论