寫出演算法
發布時間: 2023-11-04 06:38:15
㈠ 利用兩種循環寫出1+2+3+…+100的演算法,並畫出各自的流程圖
直到型循環演算法:
第一步:S←0;
第二步:I←1;
第三步:S←S+I;
第四步:I←I+1;
第五步:如果I不大於100,轉第三步;否則,輸出S。相應的流程圖如圖甲所示.當型循環演算法如
下:S1令i←1,S←0S2 。
當型循環演算法如下:
S1 令i←1,S←0
S2 若i≤100成立,則執行S3;否則,輸出S,結束演算法
S3 S←S+i
S4 i←i+1,返回S2
相應的流程圖如圖乙所示。
(1)寫出演算法擴展閱讀
從1開始遞增依次與從100開始遞減、將兩個數進行相加配對、有50組為101的數。
1+100=101,2+99=101······50+51=101。從1加到100有50組這樣的數,所以50X101=5050。
等差數列求和公式:(1+100)*100/2=5050
㈡ 寫出快速排序的演算法
快速排序演算法通過多次比較和交換來實現排序,其排序演算法如下:
(1)首先設定一個分界值,通過該分界值將數組分成左右兩部分。
(2)將大於或等於分界值的數據集中到數組右邊,小於分界值的數據集中到數組的左邊。此時,左邊部分中各元素都小於或等於分界值,而右邊部分中各元素都大於或等於分界值。
(3)然後,左邊和右邊的數據可以獨立排序。對於左側的數組數據,又可以取一個分界值,將該部分數據分成左右兩部分,同樣在左邊放置較小值,右邊放置較大值。右側的數組數據也可以做類似處理。
(4)重復上述過程,可以看出,這是一個遞歸定義。通過遞歸將左側部分排好序後,再遞歸排好右側部分的順序。當左、右兩個部分各數據排序完成後,整個數組的排序也就完成了。
熱點內容