7、编程:用 C语言实现一个 revert函数,它的功能是将输入的字符串在原串上倒序后返回。
8、编程:用 C语言实现函数 void * memmove(void *dest,const void *src,size_t n)。memmove函数的功能是拷贝 src所指的内存内容前 n个字节到 dest所指的地址上。英文拼写纠错:
在用户输入英文单词时,经常发生错误,我们需要对其进行纠错。假设已经有一个包含了正确英文单词的词典,请你设计一个拼写纠错的程序。
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度;
(3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。
9、寻找热门查询:搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为 1-255字节。假设目前有一千万个记录,这些查询串的重复度比较高,虽然总数是 1千万,但如果除去重复后,不超过 3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。请你统计最热门的 10个查询串,要求使用的内存不能超过 1G。
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度。
10、集合合并:给定一个字符串的集合,格式如: {aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh}
要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出{aaa bbb ccc ddd hhh}, {eee fff}, {ggg}
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度
(3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。