
algorithm
明歌天下
摸爬滚打于mkl。。。
展开
-
经典排序算法总结
经典的排序算法大概有九种,作为算法学习的入门级算法,需要很好的掌握,而且,这些也是找工作面试时经常会被问到的一个问题。经典的排序算法大概有:快速排序、选择排序、冒泡排序、插入排序、归并排序、堆排序、计数排序、基数排序、桶排序。这里先挖个深坑,以后慢慢填。(分析要包含代码,时间复杂度,进一步的改进)我经常把快排和选择排序搞混,快排是指选择一个数,然后将所有数中比该数小的放到该数左侧,比该原创 2015-10-14 19:39:06 · 407 阅读 · 0 评论 -
在两个有序数组中找到中位数
题目:设X[0:n-1]和Y[0:n-1]为两个数组,每个数组中含有n个已排好序的数,试设计一个O(logn)时间的算法,找出X和Y的2n个数的中位数,并证明算法的时间复杂性为O(logn)。思路:这题目是在学习完分治算法后留的课后作业,所以,首先想到的就是运用分治的思想。鉴于这两个数组都是有序的,所以,对于这两个数组而言分别取他们的中位数,X[n/2],Y[n/2];比较两数的大小,原创 2015-10-14 21:41:57 · 7561 阅读 · 4 评论