算法
chenzujie
这个作者很懒,什么都没留下…
展开
-
排序算法介绍
1、直接插入排序原理:将一数组values(长度为n)从values[i](i=1...n)开始将values[i]作为标志位pivot若pivotvalues[i-1]直接放在values[i]的位置,然后继续比较values[i-2]与pivot比较,若pivotvalues[i-2]直接放values[i-1]的位置。。。。依次类推,当某次比较的结果为pivot大或者i-k(k=1...原创 2013-06-02 16:21:02 · 1026 阅读 · 0 评论 -
编程珠玑第一章课后习题
1、使用库函数来进行排序这个不同语言有不同的库函数排序c有qsort,java有sort排序,具体就不贴代码了。2、用位逻辑实现位运算这个道题的核心就在于想要把某bit置0,将该位直接和0做与操作,想要保持某bit位不变,将该位与1做与操作,想要将某bit位置1,将该位与1做或操作。#define SHIFT 5#define MASK 0x1F#define N 10原创 2013-07-28 12:56:08 · 3967 阅读 · 1 评论 -
编程珠玑第二章习题
1、提供单词和词典,找到该单词的所有变位词,可以事先花时间和空间处理下该词典。因为要查找变位词,事先遍历词典,得到每个单词签名,并建立签名列表,签名列表的每个项包含了该签名的所有单词。有了这个列表,直接得到提供单词的签名去遍历签名列表就能找到所有变位词。2、给定一个4300000000个32位整数的顺序文件,请问你如何可以找到一个至少出现两次的整数原创 2013-08-10 11:57:05 · 3763 阅读 · 1 评论 -
编程珠玑第三章课后习题
3、编写标语函数,输入一个大写字母,输出一个字符数组,该字符数组用字符图形方式描绘该字母这题不大懂,百度了下答案,发现答案的重点在于将26个字母用特定的表示方式表示出来,可以考虑为字母的外形设计一个定制模板,自己规定一套模板编写的格式,然后写一个解析程序,每次打印字母时,只需解析字母对应的模板即可,这样主要的工作量就花在每个字母模板的编写上,当然模板的编写是相当简单的,将字母图形转化为相应的模原创 2013-09-20 18:01:35 · 3265 阅读 · 0 评论