標籤:
1.初識演算法
1.氣泡排序
氣泡排序演算法的原理如下:(從後往前)1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。3.針對所有的元素重複以上的步驟,除了最後乙個。4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
冒泡演算法初級**如下:
1 ##冒泡
2 a=[9,2,1,55,33]3
4 for i inrange(len(a)):5 for j in range(len(a)-1):6 if a[j] > a[j+1]:7 middle =a[j]8 a[j] = a[j+1]9 a[j+1] =middle10 else:11 pass
13 print(a)
執行結果如下:
[1, 2, 9, 33, 55]
**剖析:開始執行:初始列表a=[9,2,1,55,33],第一次外層迴圈i=0;第一次內層迴圈j=0;假如a[0]:9 > a[1]:2,交換位置,a[0]:2;a[1]:9,第二次內層迴圈j=1;假如a[1]:9 > a[2]:1,交換位置,第三次內層迴圈j=2;假如a[2]:9 > a[3]:55,不成立;pass,第四次內層迴圈j=3;假如a[3]:55 > a[4]:33,交換位置,內層迴圈結束,得到結果a[4]==55,拿到第一大的值。第二次外層迴圈i=1;第一次記憶體迴圈j=0;假如a[0]:2 > a[1]:1,交換位置,第二次內層迴圈j=1;假如a[1]:2 > a[2]:9,不成立,pass,第三次內層迴圈j=2;假如a[2]:9> a[3]:33,不成立,pass,第四次內層迴圈j=3;假如a[3]:33 > a[4]:55,不成立,pass,拿到結果a[3] ==33,拿到第二大的值,以此類推。乙個乙個像冒泡一樣拿到最終的列表。
2.選擇排序
選擇排序(selection sort)是一種簡單直觀的排序演算法。它的工作原理如下:
首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到排序序列末尾。以此類推,直到所有元素均排序完畢。
選擇排序初級**如下:
##選擇
b = [8,2,1,55,33]
num= len(b)-1
for i inrange(len(b)):
index=0for j inrange(num):if b[index] > b[j+1]:pass
else:
index= j+1middle=b[num]
b[num]=b[index]
b[index]=middle
num-= 1
print(b)
**剖析:
標籤:
第六周專案一
檔名稱 aaa.cpp 作 者 孫超 完成日期 2016年4月5日 版 本 號 v1.0 問題描述 設計乙個簡單的分數類,完成對分數的幾個運算。include using namespace std class cfraction cfraction cfraction int nu,int de ...
第六周專案4
ifndef sqstack h included define sqstack h included define maxsize 100 typedef int elemtype typedef struct sqstack 順序棧型別定義 void initstack sqstack s 初始...
第六周專案複審
alpha階段專案複審 小組的名字和鏈結 優點 缺點,bug報告 至少140字 最終名次 無並列 美工優秀,改嗎清晰 ios端馬馬虎虎,bug都是間歇性通訊和演算法問題 存在一些小漏洞 7莪的拽 像省田各號 樣沒盡頭隊 趣味性高,愛玩遊戲的年輕人多,這個專案的潛在使用者數量龐大。1.角色繪製計時器跟...