用插入排序和歸並排序算法對數組<3,1,4,1,5,9,6,5>進行從小到大排序,則分別需要進行______次數組元素之間的比較。
A.12,14
B.10,14
C.12,16
D.10,16
正確答案是A。
答案解析:
插入排序的基本思想是:每步將一個待排序的紀錄,按其關鍵碼值的大小插入前面已經排序的文件中適當位置上,直到全部插入完為止。
插入排序最基本的應用就是 平時打撲克牌的時候 一張張拿牌的過程。
以下是排序步驟:
1、【3】1,4,1,5,9,6,5
2、【1,3】,4,1,5,9,6,5 比較次數1次:3和1比較
3、【1,3,4】,1,5,9,6,5 比較次數1次:4和3比較 因為4比3大所以不和1比較
4、【1,1,3,4】,5,9,6,5 比較次數3次:1和4比較 1和3比較 1和1比較 因為1比4小故而需要和之前的數組比較直到大於等於之前的數字才停止
5、【1,1,3,4,5】,9,6,5 比較次數1次:5和4比較
6、【1,1,3,4,5,9】,6,5 比較次數1次:9和5比較
7、【1,1,3,4,5,6,9】,5 比較次數2次:6和9比較 6和5比較
8、【1,1,3,4,5,5,6,9】 比較次數3次:5和9比較 5和6比較 5和5比較
所以 比較的次數為 1+1+3+1+1+2+3=12次
歸並操作(merge),也叫歸並算法,指的是將兩個順序序列合並成一個順序序列的方法。
以下是排序步驟:
所以比較次數為 4+6+4=14次