快速排序?yàn)槭裁词莕logn 快速排序的時(shí)間復(fù)雜度是怎么算出來的?
快速排序的時(shí)間復(fù)雜度是怎么算出來的?快速排序方法的時(shí)間復(fù)雜度為nlogn(n×以2為底的對(duì)數(shù))擴(kuò)展:快速排序是對(duì)冒泡排序的改進(jìn)??焖俜謷怯蒀.A.R.Hoare在1962年提出的。它的基本思想是用一
快速排序的時(shí)間復(fù)雜度是怎么算出來的?
快速排序方法的時(shí)間復(fù)雜度為nlogn(n×以2為底的對(duì)數(shù))
擴(kuò)展:
快速排序是對(duì)冒泡排序的改進(jìn)。
快速分揀是由C.A.R.Hoare在1962年提出的。它的基本思想是用一步排序法將要排序的數(shù)據(jù)分成兩個(gè)獨(dú)立的部分,其中一部分的數(shù)據(jù)比另一部分的數(shù)據(jù)小。然后根據(jù)該方法對(duì)兩部分?jǐn)?shù)據(jù)進(jìn)行快速排序,整個(gè)排序過程可以遞歸進(jìn)行,從而使整個(gè)數(shù)據(jù)成為一個(gè)有序的序列。
各種排序方法的時(shí)間復(fù)雜度如下:
快速排序法的平均時(shí)間復(fù)雜度是多少?
快速排序方法的時(shí)間復(fù)雜度是nlogn(基于2的n×log的對(duì)數(shù))的擴(kuò)展;快速排序是冒泡排序的改進(jìn)。各種排序方法的時(shí)間復(fù)雜度如下:
快速排序法的平均時(shí)間復(fù)雜度和最壞時(shí)間復(fù)雜度分別是多少?
快速排序的時(shí)間復(fù)雜度下限為O(nlogn),最壞情況為O(n^2)
快速排序的平均時(shí)間復(fù)雜度為O(nlogn)。
什么排序的速度(時(shí)間復(fù)雜度)最快?
根據(jù)時(shí)間復(fù)雜度,所有內(nèi)部排序方法可分為兩類。
1. 插入排序、選擇排序、冒泡排序,其時(shí)間復(fù)雜度為O(N2)。堆排序、快速排序、合并排序,其時(shí)間復(fù)雜度為O(nlog2n)。如果考慮最佳情況,插入排序和冒泡排序的時(shí)間復(fù)雜度最好,為O(n),而其他算法的最佳情況與平均情況幾乎相同。考慮到最壞情況,快速排序的時(shí)間復(fù)雜度為O(N2)。雖然插入排序和冒泡排序與一般情況相同,但系數(shù)增加了一倍左右,運(yùn)行速度降低了一半,而選擇排序、堆排序和合并排序的影響不大??傊?,快速排序平均速度最快;插入排序和冒泡排序在最好的情況下最快;堆排序和合并排序在最壞的情況下最快。