算法
平和坚定
这个作者很懒,什么都没留下…
展开
-
冒泡排序的最佳时间复杂度为什么是O(n),而不是O(n^2)
在很多地方看到冒泡排序的最佳时间复杂度是O(n),即在序列本来就是正序的情况下。但是最开始一直是怀疑和疑惑的。 因为如果根据下面的代码按照《算法导论》上对插入排序时间复杂度的计算和分析,即使数组本身为正序,循环的执行次数并没有减少,只是没有进行交换操作,得出时间复杂度依然是O(n^2)的结论并没有感觉有问题。 public void bubbleSort(int arr[]) { f...原创 2019-09-12 17:04:12 · 3082 阅读 · 0 评论 -
快速排序哨兵出发顺序(转载)
原文链接:https://blog.csdn.net/csdnqixiaoxin/article/details/89429528 我从这篇博客里学到了快排的基本思路,文中给出了源代码。作者提到了一点:每次必须是哨兵j先出发。也就是说,先从右往左扫描,寻找比基准数小的元素。为什么会是这样?下面说一下我的分析。 文中给出了代码,我这里摘过来一部分: temp = a[left]; //...转载 2019-09-12 17:27:27 · 835 阅读 · 0 评论