算法
文章平均质量分 75
sinat_15155817
生命在于运动
展开
-
递归--汉诺塔游戏
1.游戏界面如下图,游戏描述,把X针上的圆盘移动到 Z 针上,(圆盘放置的规则:大盘在下,小盘在上)2.游戏分析,假设X针上有64个盘子3.游戏代码 class Program { //统计移动次数 public static long count = 0; static void Mai原创 2015-08-15 12:18:19 · 622 阅读 · 0 评论 -
设计一个在一百万个数字中求十个最大的数算法
具体做法是:构建一个只有10个元素的min-heap,那么根结点就是这10个数中最小的数,然后开始遍历数组,如果遇到的数比min-heap的根结点还小,直接跳过,遇到比min-heap根结点大的数,就替代根结点,然后对这个min-heap进行维护(也就是排序,保证heap的特征)。那么遍历完数组后,这个min-heap的10个元素就是最大的10个数。原创 2016-12-13 11:32:48 · 4257 阅读 · 0 评论 -
扩展性与存储限制(二)——给定一个输入文件,包含40亿个非负整数。产生一个不在该文件中的整数。内存限制:1GB
/** * 功能:给定一个输入文件,包含40亿个非负整数。产生一个不在该文件中的整数。内存限制:1GB * 进阶:内存限制10MB。 *//** * 思路: * * 1)创建包含40个亿个比特的位向量。 * 位向量(BV,bit vector)其实就是数组,利用整数(或另一种数据类型)数组紧凑地储存布尔值。每个整数可存储一串32比特或布尔值。 *转载 2016-12-15 11:16:05 · 503 阅读 · 0 评论 -
八大排序算法
目录(?)[-]概述1插入排序直接插入排序Straight Insertion Sort 2 插入排序希尔排序Shells Sort3 选择排序简单选择排序Simple Selection Sort4 选择排序堆排序Heap Sort5 交换排序冒泡排序Bubble Sort6 交换排序快速排序Quick Sort7 归并排序Merge Sort8 桶排序基数排序Radix转载 2016-12-20 10:45:09 · 284 阅读 · 0 评论