設計排序演算法問題

2021-06-14 16:44:10 字數 1107 閱讀 2261

在之前我做這道題時沒有看懂什麼意思,過了一段時間,終於解出來了。

其實 ,這道題比較簡單,個人覺得題目描述不怎麼清楚。

描述

電腦科學中的乙個基本問題是排序問題,對這個問題現在有許多解決方法,如排序演算法。一些排序演算法是簡單得可以靠直覺就得知的,如冒泡法排序。另外一些如堆排序就不這麼簡單了,但能迅速地得到排序結果。

下面列出了一些排序的演算法,當然,在這兒不能告訴你如何執行他們,你必須自己掌握這些知識。

bubble sort 氣泡排序

heap sort 堆排序

insertion sort插入排序

merge sort歸併排序

quick sort快速排序

selection sort選擇排序

shell sort希爾排序……

在這兒的任務是給你一些數,你的任務是把他們排好,注意,將最小的數排在最前面。

輸入

輸入檔案由一系列資料集合組成。每個資料集合有兩部分,第一部分包含兩個非負整數n(1≤n≤100,000)和m(1≤m≤n),表示你將得到的數的總數和輸入排序間隔。第二部分包含n確定的整數,我確定在這個部分中的每個整數都小於2,000,000,000。輸入結束行為兩個0。

輸出

對每個資料集合,你需輸出一些數在同一行上。在你得到排序列表之後,你應該輸出每m個數中的第1個數,並且你應該在輸出的數間加乙個空格,並且確定在兩個資料集合輸出間不加空行。

樣例輸入

8 2 

3 5 

7 1 

8 6 

4 2 

0 0 

樣例輸出

演算法排序問題

排序中的操作 1 比較 comparison 2 交換 swap 3 複製 copy 幾種經典排序方法 1 簡單排序 sort algorithm 2 插入排序 insertionsort algorithm 3 選擇排序 selection sortalgorithmanalysis 1 簡單排序...

演算法設計 快速排序 隨機快速排序演算法

1.演算法流程 快速排序的時間複雜性分析 1.最壞情況劃分 當劃分產生的兩個子問題分別包含了n 1個元素和0個元素時,快速排序是最壞情況,假如每次遞迴呼叫,總是出現最不平衡劃分,這是最不平衡劃分。劃分操作時間複雜度為 n 則演算法執行時間的遞迴表示式為t n t n 1 t 0 n 利用代入法可以求...

演算法設計 眾數問題

眾數問題 time limit 2000 ms memory limit 65536 kib problem description 給定含有n個元素的多重集合s,每個元素在s 現的次數稱為該元素的重數。多重集s中重數最大的元素稱為眾數。例如,s 多重集s的眾數是2,其重數為3。對於給定的由n 個自...