随笔分类 - Algorithm
摘要:这个题也是个比较有名的面试题.当然有很多变种. 题目意思基本是:从一个数据量很大的数组里找前N大的元素.不允许排序. 这个题有两个比较好的思路: 思路一:用快速排序的思想,是思想,不是要排序; 思路二:用最大堆的思想. 我暂时只实现了思路一,思路二我之后实现了会补上. 思路一...
阅读全文
摘要:好像有些大公司出过面试题:找出数组里面第N大的数,当然有点变化,但本质部分是这样的. 要求是不能排序,时间复杂度不能超过O(n^2) 思路很多,我暂时就只会快排衍生的那种.如果对快速排序不太熟悉了,建议复习 我之前讨论的快速排序. 好的,现在假设你已经熟悉了快速排序. 每轮快排,我们...
阅读全文
摘要:我用自己的语言来阐述快速排序.希望没有基础的人也能看懂. 快速排序的主要是思想是: 1.找个参考数,把比它大的数放到右边,比它小的数放到左边; 2.递归 关于找参考数,没有比较死的规定,一般取第一个,也可以取其它的,比如中间的数. 代码如下,注释比较详细.代码:#include#i...
阅读全文
摘要:归并排序就是把数组A分成2个数组A1和A2,再对A1和A2也分别平分,直到不能分为止,即只有1个元素了.再依次合并.是一个分和合的过程. 代码是在ubuntu下的vim里写的.我加了很多打印,从打印结果里面可以看出程序是怎么一步一步执行的,本来要画个图的,因为没找到比较好的工具(ubuntu下),...
阅读全文
摘要:以前用C的char数组做的,今天用C++的string写了一遍。代码: 1 #include 2 #include 3 using namespace std; 4 5 string add(string s1,string s2); 6 int carry; 7 8 int mai...
阅读全文
摘要:文章转摘自http://www.cmykrgb123.cn/blog/string-hash-compare/ 常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,...
阅读全文
摘要:这是数学模型老师布置的一个作业题,发现用C语言可以很好的解决.题目: 任意拿出黑白两种颜色的棋子共八个,排成一个圆圈.然后在两颗颜色相同的棋子中间放一颗黑色棋子,在两颗颜色不同的棋子中间放一颗白色棋子,放完后撤掉原来所放的棋子.再重复以上的过程,这样放下一圈后就拿走前次的一圈棋子,问这样重复进行下...
阅读全文

浙公网安备 33010602011771号