排序
文章平均质量分 66
chriscute
这个作者很懒,什么都没留下…
展开
-
冒泡/选择排序
冒泡:相邻元素两两比较,相比大的放在后面,第一次比较结束后最大值出现在数组最后选择:先找到数组中最小的放在第一个,之后从第二个开始继续比较后面的找到第二小的,以此类推。public class Solution { /** * @param A an integer array * @return void */ public v原创 2016-10-17 11:33:22 · 290 阅读 · 0 评论 -
中位数
给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。PS:用快排,时间复杂度为O(n)public class Solution { /** * @param nums: A list of integers. * @return: An integer denotes原创 2016-10-19 15:31:17 · 175 阅读 · 0 评论 -
整数排序
给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。若从空间复杂度来考虑:首选堆排序,其次是快速排序,最后是归并排序。若从稳定性来考虑,应选取归并排序,因为堆排序和快速排序都是不稳定的。若从平均情况下的排序速度考虑,应该选择快速排序。 1.归并排序:分治法(Divide and Conquer)的一个非常典型的应用原创 2016-10-19 11:14:05 · 355 阅读 · 0 评论 -
链表插入排序
【插入排序】基本思想在插入第i个数时,前i-1个数的顺序已经是排好的。只需将第i个数与前i-1个依次比较找到合适的插入位置即可。样例Given 1->3->2->0->null, return 0->1->2->3->null/** * Definition for ListNode. * public class ListNode {原创 2016-11-01 18:51:28 · 186 阅读 · 0 评论