演算法基礎訓練題 二)

2021-07-09 09:22:08 字數 768 閱讀 9137

2.歸併排序 (10分)

c時間限制:1 毫秒 |  c記憶體限制:1 kb

輸入描述

多組測試資料。

首先輸入乙個整數n表示陣列元素個數n

然後輸入n個整數

輸出描述

輸出n個整數在一行,用空格隔開

輸入樣例

5 5 4 3 2 1

輸出樣例

1 2 3 4 5
**如下//歸併排序(mergesort),是建立在歸併操作上的一種有效排序演算法,效率為o(nlogn)。其方法主要是用二分法加遞迴,先將所有的數二分法拆開,遞迴,拆的只有兩個數,然後再用合併法排序,先兩個數內部排好序,然後在合併,兩個兩個排好序的數再排成乙個排好序的4個數,按照這樣的方法把數排好。最後合成一組有序的數。

#include

using namespace std;

void merge(int a, int first, int mid, int last)

void mergesort(int a, int first, int last)

}int main()

mergesort(a,0,n);

for(int i=0;i

cout << a[n-1] << endl;

}}

演算法基礎訓練(二)

1.統計逆序對數 10分 c時間限制 1 毫秒 c記憶體限制 1 kb 題目內容 設a 1.n 是乙個包含n個非負整數的陣列。如果在i j的情況下,有a i a j 則 i,j 就稱為a中的乙個逆序對。要解決的問題是,給出乙個數列,求出這個數列包含多少個逆序對 輸入描述 有多組測試資料,每組資料佔一...

Python基礎訓練(二)

1.楊輝三角 楊輝三角形又稱pascal三角形,它的第i 1行是 a b i的展開式的係數。它的乙個重要性質是 三角形中的每個數字等於它兩肩上的數字相加。下面給出了楊輝三角形的前4行 1 11 2 1 1 3 3 1 給出n,輸出它的前n行。輸入格式 輸入包含乙個數n。輸出格式 輸出楊輝三角形的前n...

C語言基礎訓練題 四

1.螢幕上輸出以下圖案 for int i 0 i 6 i putchar n for int i 5 i 0 i putchar n 2.求出0 999之間的所有 水仙花數 並輸出。求0 999的水仙花數 printf 0 999內的水仙花數 n for int i 0 i 1000 i if i...