本章的三个问题:
1。给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数。在具有足够内存的情况下如何解决该问题?如果有几个外部的“临时”文件可用,但是仅有几百个字节的内存,又该如何解决该问题?
2。将一个n元一维向量向左旋转 i 个位置(即循环移位),如,n=8,i=3时,向量abcdefgh旋转为defghabc。简单的代码使用一个n元的中间向量在n
步内完成该工作,你能否仅使用数十个额外字节的存储空间,在正比于n的时间内完成向量的旋转?
3。给定一个英语字典,找出其中的所有变位词集合,如,pots,stop,tops互为变位词,因为每个词都可以通过改变其他单词中的字母的顺序来得到。
提示:1。二分搜索
2。求逆算法
3。标识字典中每一个词,使得相同的变位词有相同的标识。
今天好累,就只写这么多,以后再补充。。