為什麼快速排序是不穩定的演算法,為什麼快速排序是乙個不穩定的排序法?

時間 2021-12-26 04:34:49

1樓:手機使用者

排序演算法不穩定的含義是:

在排序之前,有兩個數相等.

但是在排序結束之後,它們兩個有可能改變順序.

比如說:

在乙個待排序佇列中,a和b相等,且a排在b的前面,而排序之後,a排在了b的後面.這個時候,我們說這種演算法是不穩定的.

(只要有這種可能性,我們就說演算法是不穩定的.)

注: 演算法的不穩定性,與所用的語言沒有關係的.

那麼,快速排序為什麼不穩定呢?

我們來看看快速排序的過程:(還是借用之前的那個假設,假設a,b相等,並和其它一堆資料一起參加排序.)

假設此時的快排是小於等於關鍵字為排在前面的一組組,大於為另外排在後面的一組.

在選取乙個數出來分組的時候,如果選到了a,那麼在b<=a的情況下,b將會排在a的前面.

因為有這樣的_可能性_,所以說我們這種演算法是不穩定的.

注:請參考快排的具體演算法.

另外,to 朱_大志同學,可能我們兩個的教材有一定的差別.

2樓:匿名使用者

vire 說的正確。

3樓:朱_大志

不穩定只是說在排序沒有完成之前(假設說:降序排列)會暫時的出現小的排在前面的情況

沒有排完就中斷,不能保證一部分是有序的,所以稱為不穩定

大學教科書: 資料結構裡面寫的,不信去查

4樓:匿名使用者

一組資料用快速排序究竟用多少次能排完?這是不確定的。在最壞的情況下比其它的排序演算法還要慢,當然這種機率出現的情況很少。

因此說它不穩定,不是說它排序的結果不穩定,而是時間複雜度不穩定。

為什麼快速排序是乙個不穩定的排序法?

5樓:小萍笑笑

在此先簡單闡述

復一下快

制速排序的具體做法:設定需要排序序bai列du第乙個數

字為關鍵字p(也叫樞zhi軸),同dao時設定兩個指標high和low,初始狀態時,low指向p,high指向序列中最後乙個數;

首先從high所指位置起向前找第乙個小於關鍵字p的數字,並與p相互交換位置;然後從low所指位置起向後搜尋,找到第乙個大於p的數字,並與p相互交換位置,重複這兩部直至low=high為止,這就是一趟快速排序完成;但是到此不一定就完成了快速排序的排序工作,第一趟排序完成只是將序列中的數字分成三部分,p在中間部分,p之前的數字肯定比p小,p後面的那些數字都是比p大的,在分別對前後兩部分進行快速排序即可。

所謂排序的穩定性,就是指在排序過程中,在對a關鍵字排序後會不會改變其他關鍵字的順序。

自己都可以試試,在比較有相同關鍵字序列的情況下,穩定的排序會將較早出現的元素排在前面,而不會是後面。

比如:對(49,38,49,20,97,76)排序,就是不穩定排序

我們也是剛學了這個東西,希望我的理解和解釋能幫你解決疑惑

6樓:泰凡嬴巨集邈

一組資料用快速排序究竟用多少次能排完?這是不確定的。在最壞的情況下比其它的排序演算法還要慢,當然這種機率出現的情況很少。

因此說它不穩定,不是說它排序的結果不穩定,而是時間複雜度不穩定。

7樓:鞏博革小蕾

不穩定只是說在排序沒有完成之前(假設說:降序排列)會暫時的出現小的排在前面的情況

沒有排完就中斷,不能保證一部分是有序的,所以稱為不穩定大學教科書:

資料結構裡面寫的,不信去查

8樓:匿名使用者

用aaaaab舉例(a>b),以b為標準,第乙個a到b後面去了,不穩定了

9樓:叔_你真帥

以ai與aj為例子

copy

快速排序有兩個方向,左邊的i下標一直往右走,當a[i] <= a[center_index],

其中center_index是中

樞元素的陣列下標,一般取為陣列第0個元素。而右邊的

j下標一直往左走,當a[j] > a[center_index]。如果i和j都走不動了,

i <= j, 交換a[i]和a[j],重複上面的過程,直到i>j。

交換a[j]和a[center_index],完成一趟快速排序。在中樞元素和a[j]交換的

時候,很有可能把前面的元素的穩定性打亂,比如序列5 3 3 4 3 8 9 10 11,

現在中樞元素5和3(第5個元素,下標從1開始計)交換就會把元素3的穩定性打亂

,所以快速排序是乙個不穩定的排序演算法,不穩定發生在中樞元素和a[j]交換的時刻。

經期的時候,為什麼情緒不穩定,女人經期為什麼心情不好?

如果要說為什麼女生來例假的時候情緒非常的不穩定吶,就是因為在很多的時候一個人往往他不會去做一些很正常的事情,比如說來例假了之後他們就會非常的煩惱,因為我每一次的行走又或者是運動,就會使他們好像崩潰一樣的。有如火山爆發一樣全部都噴湧而出,這種感覺是非常可怕的。一個人的心情辦的非常的煩躁,因為在很多的時...

資料結構中什麼是排序演算法的穩定性

幻想v飛翔 比如說 5 2 3 5 1 排序後可能是 5 5 3 2 1 也可能是5 5 3 2 1,前者是穩定的,後者是不穩定的。冒泡,選擇有穩定性,快拍沒有 資料結構中幾種常見的排序演算法之比較 冒泡。複雜度n平方。適用於陣列 插入排序。複雜度n平方。適用於連結串列 快排。複雜度nlog n 希...

為什麼女生來月經時情緒都會很不穩定

出現這些現象的原因是體內的激素分泌不穩定造成的。月經是受體內的內分泌控制的,某些女孩子月經期間的神經和體液調節功能處於不穩定狀態,大腦皮層興奮性改變。體內的雌激素和孕激素比例不協調,從而造成植物神經功能紊亂,引起身體不適而導致情緒上的變化。 央央 我每個月的那幾天悲觀情緒特別嚴重,什麼事情都往壞處想...