本章简述通过前面第二章节的叙述,描述了算法设计对程序员的日常影响:算法上的灵机一动可以使程序更加简单。但是本章内容将会发现算法设计的一个不那么常见但更富于戏剧性的贡献:复杂深奥的算法有时可以极大地提高程序性能。问题及简单算法本章引入的问题来自一维的模式识别,问题的输入是具有n个浮点数的向量x,输出是输入向量的任何连续子向量中的最大和。
例如,如果输入向量包含以下 N = 10 个元素:
arr[...
分类:
编程语言 时间:
2015-06-11 13:01:48
阅读次数:
158
简单算法O(n^2):冒泡法=i;j--) { if(sortList[j]sortList[j]) minIndex=j; } if(minIndex!=i) swap(sortList,i,minIndex); }}直接插入排序 1 void DirectInsertionS...
分类:
编程语言 时间:
2015-04-28 22:28:20
阅读次数:
157
之前大一的时候有几天闲来无事,为了学习做了一个可以自动生成迷宫,可以寻找最短路径的小游戏,现在整理分享一下简单介绍:利用不相交集类考虑一个迷宫的生成,一个简单算法就是从各处的墙壁开始(除入口和出口之外)。此时,不断地随机选择一面墙,如果被该墙分割的单元彼此不联通,那么就把这面墙拆掉。重复这个过程直到开始单元和终止单元联通,那么就得到一个迷宫。实际上不断的拆掉墙壁直到每个单元都可以从其他单元到达更好(...
分类:
其他好文 时间:
2015-04-19 13:20:15
阅读次数:
432
当存在一批通道,根据权重,选择哪个通道去使用的简单算法。利用随机数,数据区间,来获取通道。通道权重越大,单位时间内使用该通道的概率会大一些。代码 1 //利用了一个权重区间的比例问题,抓取随机数的可能性,来体现权重思想 2 public static void main(String[] args)...
分类:
编程语言 时间:
2015-04-08 14:41:00
阅读次数:
163
一、题目: 返回一个整数数组中最大子数组的和。 要求: 1.输入一个整形数组,数组里有正数也有负数。 2.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 3.求所有子数组的和的最大值。要求时间复杂度为O(n)。二、设计思路 首先将每一点看成辐射源,没点只能向右辐射找出...
分类:
编程语言 时间:
2015-03-20 20:26:01
阅读次数:
197
假设现在有一个整数对序列,每个整数对代表某周类型的对象,我们用P-Q对表示“P链接到Q”。我们假设这种关系具有传递性,即如果p链接到q,而q又连接到r,则p连接到r。下面的程序是一个简单算法的实现,这个算法是解决连通性问题的快速查找算法。该算法的基础是一个整数数组,当..
分类:
编程语言 时间:
2015-03-20 18:58:12
阅读次数:
150
首先解释下标题的含义:在网上看了一位大牛写的基础算法相关的博文,感觉自己不是天赋异禀,所以决定自己实现一遍当作交作业。
开篇:
今天这篇博文是关于数组查找的,很简单。
算法是计算机的生命。没有算法,就没有软件,计算机也就成了一个冰冷的机器,没有什么实用价值。很多人认为,算法是数学的内容,学起来特别麻烦。我们不能认为这种观点是错误的。但是我们也知道,软件是一种复合的技术,如果一个人...
分类:
编程语言 时间:
2015-02-20 00:10:22
阅读次数:
210
冒泡法: 1 $arr =array(1,5,4,8,45,4,1,96,3); 2 function maopao($arr){ 3 $len=count($arr); 4 for($i=1;$i$arr[$k+1]){ 7 ...
分类:
编程语言 时间:
2015-02-16 16:52:11
阅读次数:
144
如何在自动化脚本中,写个扩展性较好的生成全排列Case的代码?...
分类:
编程语言 时间:
2015-01-26 13:46:38
阅读次数:
141
/* 关于方法的递归调用 方法调用其实是 “压栈” 方法结束其就是 “弹栈” 1. 方法的递归调用就是方法自身调用自身 2. 以下程序因为递归没有结束条件,所以一直在压栈,没...
分类:
编程语言 时间:
2015-01-15 17:30:59
阅读次数:
244