冒泡排序的簡介:
冒泡排序(Bubble Sort),是一種計(jì)算機(jī)科學(xué)領(lǐng)域的較簡單的排序算法羊初。它重復(fù)地走訪過要排序的元素列滨溉,一次比較兩個(gè)相鄰的元素,如果他們的順序(如從大到小长赞、首字母從A到Z)錯(cuò)誤就把他們交換過來晦攒。走訪元素的工作是重復(fù)地進(jìn)行直到?jīng)]有相鄰元素需要交換,也就是說該元素已經(jīng)排序完成得哆。這個(gè)算法的名字由來是因?yàn)樵酱蟮脑貢?jīng)由交換慢慢“浮”到數(shù)列的頂端(升序或降序排列)脯颜,就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“冒泡排序”贩据。
冒泡排序的原理:
1.比較相鄰的元素栋操。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)饱亮。
2.對每一對相鄰元素做同樣的工作矾芙,從開始第一對到結(jié)尾的最后一對。在這一點(diǎn)近尚,最后的元素應(yīng)該會是最大的數(shù)蠕啄。
3.針對所有的元素重復(fù)以上的步驟,除了最后一個(gè)戈锻。
4.持續(xù)每次對越來越少的元素重復(fù)上面的步驟歼跟,直到?jīng)]有任何一對數(shù)字需要比較。
冒泡排序的Java代碼
選擇排序簡介:
選擇排序(Selection sort)是一種簡單直觀的排序算法格遭。它的工作原理是每一次從待排序的數(shù)據(jù)元素中選出最泄帧(或最大)的一個(gè)元素,存放在序列的起始位置拒迅,直到全部待排序的數(shù)據(jù)元素排完骚秦。
選擇排序的工作原理:
對比數(shù)組中前一個(gè)元素跟后一個(gè)元素的大小,如果后面的元素比前面的元素小則用一個(gè)變量k來記住他的位置璧微,接著第二次比較作箍,前面“后一個(gè)元素”現(xiàn)變成了“前一個(gè)元素”,繼續(xù)跟他的“后一個(gè)元素”進(jìn)行比較如果后面的元素比他要小則用變量k記住它在數(shù)組中的位置(下標(biāo))前硫,等到循環(huán)結(jié)束的時(shí)候胞得,我們應(yīng)該找到了最小的那個(gè)數(shù)的下標(biāo)了,然后進(jìn)行判斷屹电,如果這個(gè)元素的下標(biāo)不是第一個(gè)元素的下標(biāo)阶剑,就讓第一個(gè)元素跟他交換一下值跃巡,這樣就找到整個(gè)數(shù)組中最小的數(shù)了。然后找到數(shù)組中第二小的數(shù)牧愁,讓他跟數(shù)組中第二個(gè)元素交換一下值素邪,以此類推。
選擇排序的Java代碼:
折半查找的簡介(二分查找):
折半查找又稱(二分查找)猪半,是一種效率較高的查找方法兔朦。但是,折半查找要求線性表必須采用順序存儲結(jié)構(gòu)办龄,而且表中元素按關(guān)鍵字有序排列烘绽。(一定注意是有順序的結(jié)構(gòu))
折半查找的原理:
假設(shè)表中元素是按升序排列淋昭,將表中間位置記錄的關(guān)鍵字與查找關(guān)鍵字比較俐填,如果兩者相等,則查找成功翔忽;否則利用中間位置記錄將表分成前英融、后兩個(gè)子表,如果中間位置記錄的關(guān)鍵字大于查找關(guān)鍵字歇式,則進(jìn)一步查找前一子表驶悟,否則進(jìn)一步查找后一子表。重復(fù)以上過程材失,直到找到滿足條件的記錄痕鳍,使查找成功,或直到子表不存在為止龙巨,此時(shí)查找不成功笼呆。
折半查找的要求(特點(diǎn)):
1.必須采用順序儲存結(jié)構(gòu)。
2.必須按關(guān)鍵字大小有序排列旨别。