算法
波哥的技术积累
这个作者很懒,什么都没留下…
展开
-
一亿个数排序的算法
有1亿个浮点数,请找出其中最小的10000个。提示:假设每个浮点数占4个字节,1亿个浮点数就要站到相当大的空间,因此不能一次将全部读入内存进行排序。问题分析:1) 1亿个浮点数,其数据大小为 400 M。如此规模的排序,首先想到分批处理。每次读取 1 000 000 个数据并进行快速排序。需要的内存空间为 1 000 000 * 4 = 4M。需要100 次这样的排序。2)完全没的规转载 2012-04-12 23:23:36 · 8216 阅读 · 0 评论 -
java 实现从无序数组中 找出第k大的数, 无序数组充许有重复元素
要求找出第几名的元素是什么(找出B[i]的值)? 找出第k名的元素的值。 先从A中随机一个下标index1, 然后进行一趟快速排序等到新数组A1,排完了就知道index1对应的元素在A1中的新下标index2. 如果k等于index2,则A1[index2]就是要找的值。如果 k小于index2 ,则在A1的以index2为分界的左部分去找。如果 k大于index2转载 2012-05-05 23:45:29 · 5832 阅读 · 0 评论 -
斐波那契数列的各种算法实现
斐波那契数列,但凡学过编程的童鞋们应该都懂,背景就不介绍了(就是大兔子生小兔子的故事),无论是面试还是实际的运用,常见的一个思路就是先用最先基本的办法实现,然后根据实际要求,一步步改进,优化算法效率。今天就以斐波那契数列这个大家都很熟悉的为例来小小感受一下。Version 1long Fibonacci(int n) { if (n == 0) return 0;转载 2012-05-14 23:46:26 · 25828 阅读 · 9 评论