Presentation is loading. Please wait.

Presentation is loading. Please wait.

OAQ 的期中考. 7101 寶石奇兵 容許的排序演算法: Θ(n lg n) , ex: merge sort, quick sort, heap sort…. 排序的標準: (1) 分數愈大愈前面 (2) 時間愈短愈前面 (3) 字典排序愈小愈前面 最後再循序找名次就可以了。

Similar presentations


Presentation on theme: "OAQ 的期中考. 7101 寶石奇兵 容許的排序演算法: Θ(n lg n) , ex: merge sort, quick sort, heap sort…. 排序的標準: (1) 分數愈大愈前面 (2) 時間愈短愈前面 (3) 字典排序愈小愈前面 最後再循序找名次就可以了。"— Presentation transcript:

1 OAQ 的期中考

2 7101 寶石奇兵 容許的排序演算法: Θ(n lg n) , ex: merge sort, quick sort, heap sort…. 排序的標準: (1) 分數愈大愈前面 (2) 時間愈短愈前面 (3) 字典排序愈小愈前面 最後再循序找名次就可以了。

3 7101 寶石奇兵 寫排序的時候,好像很容易錯亂 ?  不,其實框架都是固定的。 假設把這個 struct 當成 int 來看的話呢? node a[100], 只需要把 a[i] 和 a[j] 比大小就好 !!  不如寫個 function 比大小

4 7101 寶石奇兵

5 這樣的話, sort 會變什麼樣子 ( 以 merge sort 為例,依此類推 ) 原始的 merge sort 修改的 merge sort

6 7101 寶石奇兵 其實比對字串大小的話,可以愛用 strcmp , int strcmp ( const char * str1, const char * str2 ); 字串比對可以多使用函式庫: ( 可參考以下網址 ) http://www.cplusplus.com/reference/clibrary/cstring/

7 7102 完美洗牌 2.0 這是錯的 OAQ N=26, 2*N = 52 時是個特例 (Dr. Hon 上課時有證明 ) 以 6 張牌來說: 1 必定跟著 2 的腳步,2 必定跟著 4… 1->2->4->1(cycle!!) 3->6->5->3(cycle!!) 因此,我們要找的是各張牌在哪個 cycle ,再看走了幾步。

8 7102 完美洗牌 2.0 怎麼去找 cycle???????????????????????  1 個人必定只跟著 1 個人。

9 7103 切割木棍 其實就跟作業沒兩樣 …. 唯一要注意的 case 是 N=1 的時候,因為不用切割,所以成 本是 0 。

10 7104, 7105 陣列和問題連發 7108, 7109 棋盤問題連發 326 418 9103 3511 4513 91922 3511 71024 162946 橫的加直的加

11 7104, 7105 陣列和問題連發 7108, 7109 棋盤問題連發 淺咖啡的是重覆減掉的地方,所以要加回來。

12 7104, 7105 陣列和問題連發 7108, 7109 棋盤問題連發 326 418 9103 3511 4513 91922 然後就不加直的了 … 8 9 13

13 7104, 7105 陣列和問題連發 7108, 7109 棋盤問題連發

14 7106 珍珠項鍊 這其實也是作業題,小小變化一下就可以了。

15 7109 消字遊戲 把 LRUDFB 視為 []{}() ,就變成作業題目了 XD

16 7010 少年湯姆的煩惱

17 題外話 好的排版有助於 debug 以及程式邏輯比較不會混淆 ~~

18 OAQ 請大家不要擔心分數問題。 有努力就會有相對的回報 !!


Download ppt "OAQ 的期中考. 7101 寶石奇兵 容許的排序演算法: Θ(n lg n) , ex: merge sort, quick sort, heap sort…. 排序的標準: (1) 分數愈大愈前面 (2) 時間愈短愈前面 (3) 字典排序愈小愈前面 最後再循序找名次就可以了。"

Similar presentations


Ads by Google