本书来自一位很有奉献精神的大神July,希望有一天能够看到本书出版。
分类:
其他好文 时间:
2014-04-29 16:14:57
阅读次数:
348
2014-04-28
23:52题目:设计算法,找出一本书中某个单词的出现频率。解法:数就行了。代码: 1 // 17.9 Given a book, find out the
occurrences of any given words in it. 2 // Answer: 3 // 1....
分类:
其他好文 时间:
2014-04-29 16:00:32
阅读次数:
388
字符数组是C语言中最常用的数组类型。下面我们通过编写一个程序,来说明字符数组以反操作字符数组的函数的用法。该程序读入一组文本行,并把最长的文水行打印出来。该算法的基本框架非常简单:
while (还有未处理的行) i f (该行比已处理的最长行还要长) 保存该行 保存该行的长度 打印最长的...
分类:
编程语言 时间:
2014-04-29 15:50:20
阅读次数:
506
2014-04-29
00:04题目:给定一个整数数组,找出所有加起来为指定和的数对。解法1:可以用哈希表保存数组元素,做到O(n)时间的算法。代码: 1 // 17.12
Given an array of integers and target value, find all pairs in ...
分类:
其他好文 时间:
2014-04-29 15:08:13
阅读次数:
469
2014-04-29
00:20题目:给定一个长字符串,和一个词典。如果允许你将长串分割成若干个片段,可能会存在某些片段在词典里查不到,有些则查得到。请设计算法进行分词,使得查不到的片段个数最少。解法:用空间换取时间的动态规划算法,首先用O(n^2)的时间判断每一个片段是否在字典里。这个过程其实可以...
分类:
其他好文 时间:
2014-04-29 14:53:55
阅读次数:
470
2014-04-29
01:02题目:从m个整数里随机选出n个整数,要求等概率。解法:和洗牌的算法类似,每次随机抽出一个数,抽n次即可。时间复杂度O(m *
n),空间复杂度O(m)。代码: 1 // 18.3 pick m integers randomly from an array of n ...
分类:
其他好文 时间:
2014-04-29 14:42:32
阅读次数:
345
2014-04-29
00:59题目:设计一个洗牌算法,效率尽量快点,必须等概率。解法:每次随机抽一张牌出来,最后都抽完了,也就洗好了。时间复杂度O(n^2),请看代码。代码: 1
// 18.2 shuffle a deck of 52 cards, it must be perfect rand...
分类:
其他好文 时间:
2014-04-29 14:38:25
阅读次数:
473
2014-04-29
02:27题目:找出10亿个数中最小的100万个数,假设内存可以装得下。解法1:内存可以装得下?可以用快速选择算法得到无序的结果。时间复杂度总体是O(n)级别,但是常系数不小。代码:
1 // 18.6 Find the smallest one million number....
分类:
其他好文 时间:
2014-04-29 14:27:13
阅读次数:
665
寄存器分配,是通过将程序变量尽可能地分配到寄存器,从而提高程序执行速度的一种方法。寄存器是编译器优化中最为重要的问题之一(好的寄存器分配能够提高程序执行速度超过250%);也是编译器理论中最热点的研究领域之一(研究界已经提出来大量寄存器分配相关的算法)。1.
图着色(graph coloring)方...
分类:
其他好文 时间:
2014-04-29 14:25:08
阅读次数:
530
2014-04-29
04:36题目:最大子数组和的二位扩展:最大子矩阵和。解法:一个维度上进行枚举,复杂度O(n^2);另一个维度执行最大子数组和算法,复杂度O(n)。总体时间复杂度为O(n^3),还需要O(n)额外空间。代码:
1 // 18.12 Given an n x n matrix, ...
分类:
其他好文 时间:
2014-04-29 14:24:06
阅读次数:
404