
算法研究
文章平均质量分 74
IamCAP
你快乐,所以我快乐!
展开
-
取最大值和最小值(常数级复杂度)
最近看到一篇博客登出了一道阿里的笔试题,关于最快的时间复杂度取出一个数组中的最大,以及最小值的问题,所以自己也就思考了下。大部分人的比较次数应该就是2N了。我想的这个算法思想,好像还有好一点,所以就贴出来,供大家看看。如果思路出问题了,烦请各位指出来。 给出示例数组:4 1 5 9 9 7 10 2 (N = 8) 思想大概是这样的:原创 2013-10-12 13:46:31 · 1883 阅读 · 1 评论 -
非递归数组全排列
首先我想说, 太TM操蛋了, 排序那部分代码一直让人纠结了好久!!!非递归思想, 参考的网上的, 代码自己写的, 勉强算原创吧!!!#include #include int isDesc(char a[] , int length){ int i=0; for(; i < length; i++){ if(a[i]>=a[i+1]){ continue; }else{原创 2014-02-21 17:24:08 · 1056 阅读 · 0 评论 -
递归版快速排序
这是我企业导师写的快速排序!感觉挺好... void quicksort(int *list, int low, int high){ if( low<high ){ int i = low, j = high, mid = (low+high)/2; int v = list[mid]; if(mid != low){ list[mid] = list[low]转载 2014-02-24 10:27:45 · 488 阅读 · 0 评论