2020年2月29日

leetcode 215 找第k大的元素(线性期望时间选择问题)

摘要: 其实线性期望时间的选择问题就是使用快速排序的方法,不过相较于快速排序需要对枢纽值两边进行递归,找第k大元素只需要对枢纽值的一边进行递归; 因此其平均时间复杂度为O(N)=N+N/2+N/4+...<2N,不过该方法的最坏情况的时间复杂度为O(N^2)。 void swap(vector<int> & 阅读全文

posted @ 2020-02-29 22:33 QingFengDaHui 阅读(190) 评论(0) 推荐(0)

各种排序算法详解

摘要: 1、插入排序 插入排序简单来说就是遍历到 第 i 个元素时,前面 i-1 个元素已经排好了序,因此第 i个元素只需要从第i-1个元素向前比较,找到第一个小于等于它的元素插入在其后面即可,相应的后面的元素向后挪动 插入排序的算法复杂度:最坏和平均时间复杂度都为O(n^2),如果输入数据已经排序好了则为 阅读全文

posted @ 2020-02-29 21:26 QingFengDaHui 阅读(377) 评论(0) 推荐(0)

导航