九章算法面試軟技能指導(dǎo)-面試技巧/BQ/Resume/Project
選擇排序算法
算法實(shí)現(xiàn)思想:
1、n個(gè)記錄的文件的直接選擇排序可經(jīng)過n-1趟直接選擇排序得到有序結(jié)果:
2、初始狀態(tài):無序區(qū)為R[1..n],有序區(qū)為空;
3、第1趟排序: 在無序區(qū)R[1..n]中選出關(guān)鍵字最小的記錄R[k],將它與無序區(qū)的第1個(gè)記錄R[1]交換,使R[1..1]和R[2..n]分別變?yōu)橛涗泜€(gè)數(shù)增加1個(gè)的新有序區(qū)和記錄個(gè)數(shù)減少1個(gè)的新無序區(qū);
...
4、第i趟排序:第i趟排序開始時(shí),當(dāng)前有序區(qū)和無序區(qū)分別為R[1..i-1]和R(i..n)。該趟排序從當(dāng)前無序區(qū)中選出關(guān)鍵字最小的記錄 R[k],將它與無序區(qū)的第1個(gè)記錄R交換,使R[1..i]和R分別變?yōu)橛涗泜€(gè)數(shù)增加1個(gè)的新有序區(qū)和記錄個(gè)數(shù)減少1個(gè)的新無序區(qū)。時(shí)間復(fù)雜度:min = O(n),max =O(n^2);
算法穩(wěn)定性:不穩(wěn)定;(不穩(wěn)定的原因舉例:5 5 3 ?變?yōu)?3 5 5,第一趟排序,第一個(gè)
5
會(huì)和3
的位置互換,從而破壞該算法的穩(wěn)定性)算法實(shí)現(xiàn):(升序排序)
標(biāo)簽: