A Math gameTime Limit:2000/1000MS (Java/Others)Memory Limit:256000/128000KB (Java/Others)SubmitStatisticNext ProblemProblem DescriptionRecently, Losan...
分类:
其他好文 时间:
2015-05-09 17:19:39
阅读次数:
175
问题:
找出一个有序(字典序)字符串数组arr中值等于字符串v的元素的序号,如果有多个元素满足这个条件,则返回其中序号最大的。
int bisearch(char** arr, int b, int e, char* v)
{
//循环结束有两种情况:
//若minIndex为偶数则minIndex==maxIndex;
//否则就是minIndex==maxIndex-1...
分类:
编程语言 时间:
2015-05-08 00:08:18
阅读次数:
144
1.概述 在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,...
分类:
其他好文 时间:
2015-05-07 18:21:31
阅读次数:
110
Yougth的最大化时间限制:1000 ms | 内存限制:65535 KB难度:4描述Yougth现在有n个物品的重量和价值分别是Wi和Vi,你能帮他从中选出k个物品使得单位重量的价值最大吗?输入有多组测试数据每组测试数据第一行有两个数n和k,接下来一行有n个数Wi和Vi。(1=ans为了使得an...
分类:
其他好文 时间:
2015-05-05 23:19:59
阅读次数:
138
测试和调试关于小型算法中的测试与调试工具。二分搜索”黑盒方法“ 是一种极端的测试方法:由于完全不知道程序的内部结构,因此就把程序当成黑盒,测试这准备好一系列输入,并通过程序输出来确定程序是否正确。本章所要讲的是测试方法的另外一个极端:把代码放进一个白盒子里,我们盯着它一步步运行。选择算法原理
分类:
其他好文 时间:
2015-05-05 19:13:54
阅读次数:
156
二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查找的算法...
分类:
编程语言 时间:
2015-05-05 14:14:13
阅读次数:
187
算法描述先来看一个实际问题:我们在一本英汉字典中寻找单词“worst”,我们决不会仿照对半查找(或Fibonacci查找)那样,先查找字典中间的元素,然后查找字典四分之三处的元素等等. 事实上,我们是在所期望的地址(在字典的很靠后的地方)附近开始查找的,我们称这样的查找为插值查找。可见,插值查找不同...
分类:
编程语言 时间:
2015-05-04 15:21:05
阅读次数:
131
折半查找又称为二分查找。这种查找方法要求查找表的数据是线性结构保存,并且还要求查找表中的数据是按关键字由小到大有序排列。折半查找(二分查找)是一种简单而又高效的查找算法,其查找长度至多为㏒2n+1(判定树的深度),平均查找长度为㏒2(n+1)-1,效率比顺序查找要高,但折半查找只能适用于顺序存储有序...
分类:
编程语言 时间:
2015-05-04 13:20:21
阅读次数:
152
哈希查找之前的查找算法,时间复杂度为O(n),或者O(㏒2n),其效率取决于“比较”的次数。 即使对于采取排序树结构的查找表,由于每一次比较的结果,如果关键字与数据元素不相等,则有“大于”或者“小于”两个结果,所以下一步会有两种可能的方向,因此O(㏒2n)已经是最优了。
哈希表(Hash Table)采取另一种算法,其查找的时间复杂度最快可以达到O(1),即只要给出关键字,立刻就可以查找到该元素...
分类:
其他好文 时间:
2015-05-03 10:39:14
阅读次数:
148