
算法
文章平均质量分 73
jaychj
这个作者很懒,什么都没留下…
展开
-
【算法实现】josephus problem
josephus problem: n个人围成一圈,1、2、1、2报数,数到2的人被杀,最后留下的人生存,如何找到一个位置是自己生存。 下面一个好玩儿的程序可以解决josephus problem,并扩展为逢q杀,enjoy it:#include #include int ceiling(int divident, int divisor){ if ((divi原创 2008-12-14 20:58:00 · 654 阅读 · 0 评论 -
【算法实现】查找第i大的数
闲来无事,实现了一下随机选择算法,从一堆数中找出第i大的数,主要的几个函数如下:r>=A[r]/* 查找第i大的数 */int rand_select(int *array, int beg_index, int end_index, int select){ if (beg_index == end_index) return array[beg_in原创 2008-12-18 21:32:00 · 549 阅读 · 0 评论 -
【算法实现】counting sort
MIT的算法视频今天看到了lecture05,前半部分利用决策树,总结了所有比较类排序算法(插入排序、归并排序、快速排序、堆排序等)的时间复杂度至少为nlgn,就是说,如果我们采用比较类排序算法,那最快的也就是nlgn,归并、堆、随机快速排序这些都是nlgn。那么,nlgn就是排序的极限效率了吗?当然不,课程接下来介绍的counting sort,将时间复杂度降低到了线性时间,so excitin原创 2009-08-12 23:41:00 · 1163 阅读 · 0 评论