冒泡排序和快速排序都是交換類(lèi)排序
為啥子要交換呢 因?yàn)?房?jī)r(jià)"貴,另外開(kāi)空間"boss"會(huì)哭窮,嚶嚶嚶。
心軟的兩位大哥就在自己的n平方地里面來(lái)回折騰,沒(méi)辦法呀這就是人生啊。
冒泡大哥覺(jué)得每次找個(gè)最大值放在數(shù)組最后面即可,讓每個(gè)"小朋友"和自己后面的比一下,要是比后面的高就主動(dòng)換個(gè)位置,擋著人家可不好。一共有n-1局比拼,每次比拼總有一位大哥在每一次比拼的時(shí)候一路向后,承受了太多太多,這種創(chuàng)傷只能承受一局,所以每局結(jié)束的比拼的位置就到上一局的前一個(gè)位置即可。
快速大哥恰恰相反的想法(os:我要把矮子找出來(lái)),為了減少鄰里紛爭(zhēng),快速大哥想了一個(gè)招,記錄當(dāng)前的最矮"小盆友"的位置和數(shù)據(jù),每次把這個(gè)數(shù)據(jù)記在心里,默默掃一遍后面的,如果碰到的更矮的就更新一下心里的數(shù)據(jù),一輪比完了以后把心里最矮的喊到前面來(lái)(此時(shí)可能交換),同樣需要n-1局比拼 。
最壞復(fù)雜度: o(n^2)
最壞交換次數(shù): 1)冒泡:n(n-1)/2 ??
? ? ? ? ? ? ? ? ? ? ? ? 2) 選擇:n
比較次數(shù):n(n-1)/2
空間復(fù)雜度:o(n)