- 7月 03 週三 201301:09
[ Problem ] 大數除法和餘數 (Big Number - Division & Big Mod) **
為什麼這三個運算要放在這裡一起討論呢?
原因是這三個在大數運算中 算是較為簡單的
如果想要了解除法和餘數運作
可以參考這篇 http://codelearner.pixnet.net/blog/post/131503030
原因是這三個在大數運算中 算是較為簡單的
如果想要了解除法和餘數運作
可以參考這篇 http://codelearner.pixnet.net/blog/post/131503030
- 7月 03 週三 201300:57
[ Data Structure ] 霍夫曼編碼 (Huffman Coding) **
霍夫曼編碼是一種編碼方式
英文版維基百科有他的圖解 http://en.wikipedia.org/wiki/File:Huffman_huff_demo.gif
英文版維基百科有他的圖解 http://en.wikipedia.org/wiki/File:Huffman_huff_demo.gif
- 7月 02 週二 201323:10
[ Data Structure ] 隊列/佇列 (Queue) **
A 講解
隊列(或者叫佇列)是一種資料結構 具有以下特性:
● 先進先出 (First-In-First-Out / FIFO)
● 插入(Insert)必發生在尾端(Rear) 而刪除(Delete)必發生在前端(Front)
隊列(或者叫佇列)是一種資料結構 具有以下特性:
● 先進先出 (First-In-First-Out / FIFO)
● 插入(Insert)必發生在尾端(Rear) 而刪除(Delete)必發生在前端(Front)
- 7月 02 週二 201322:02
[ UVa ] 12149 Feynman
A 講解
這題即是用1^2 + 2^2 + ....... + n^2 之公式
所以利用 n(n + 1)(2n + 1) / 6 即可
這題即是用1^2 + 2^2 + ....... + n^2 之公式
所以利用 n(n + 1)(2n + 1) / 6 即可
- 7月 02 週二 201321:50
[ UVa ] 10783 Odd Sum
A 講解:
這題很直觀 我的做法是
先判斷起始是否為奇數 是的話 直接從頭相加
欲相加數加二加二跳 直至到終止條件為止
這題很直觀 我的做法是
先判斷起始是否為奇數 是的話 直接從頭相加
欲相加數加二加二跳 直至到終止條件為止
- 7月 02 週二 201320:41
[ UVa ] 10954 Add All
A 講解
建一個min heap 每次從中取兩個元素出來 並推回相加後結果
另外 用"cost"變數記載花費
建一個min heap 每次從中取兩個元素出來 並推回相加後結果
另外 用"cost"變數記載花費
- 7月 02 週二 201319:31
[ Sorting ] 堆排序法 (Heap Sort)
A 講解:
堆排序法 平均時間複雜度Θ(n lg n) 最差最優都是O(n lg n)
概念就是當資料一個個讀進來時
就用"插入" (Insert)建構一個最大堆
堆排序法 平均時間複雜度Θ(n lg n) 最差最優都是O(n lg n)
概念就是當資料一個個讀進來時
就用"插入" (Insert)建構一個最大堆
- 7月 02 週二 201315:47
[ Data Structure ] 堆 (Heap)
A 講解:
堆是一種資料結構 具有以下特性:
● 堆中某個節點值總是不大於或不小於其父節點值
● 必定是一棵完全樹
堆是一種資料結構 具有以下特性:
● 堆中某個節點值總是不大於或不小於其父節點值
● 必定是一棵完全樹
- 7月 02 週二 201300:37
[ Sorting ] 快速排序法 - C語言簡單實做篇 (Quick Sort)
A 講解:
快速排序法 平均時間複雜度 O(n lg n) 但最糟測資會到 O(n^2) 非為一個stable sort
但總體來說 被公認為最有效率排序演算法
其實C語言函式庫內就有提供 但這裡要做一個實做來了解內部運作
快速排序法 平均時間複雜度 O(n lg n) 但最糟測資會到 O(n^2) 非為一個stable sort
但總體來說 被公認為最有效率排序演算法
其實C語言函式庫內就有提供 但這裡要做一個實做來了解內部運作
