From Gossip@caterpillar
非關語言: 常見程式演算
「常見程式演算」主要收集一些常見的程式練習題目,您可以藉這些題目培養一些程式設計邏輯的感覺,對題目的分類只是個大概,方便索引而已,實作的部份是使 用 C 、Java、Python 與 Scala,有時會玩玩一些語言的特性讓程式看來簡潔(但不見得是最有效率的方式)。
老掉牙
河內塔
費 式數列
巴 斯卡三角形
三 色旗
老鼠 走迷官(一)
老 鼠走迷官(二)
騎士走 棋盤
八個皇 后
八枚銀 幣
生命遊戲
字串 核對
背 包問題(Knapsack Problem)
雙 色、三色河內塔
數、運算
蒙地卡羅法求 PI
Eratosthenes 篩選求 質數
超長整數 運算(大數運算)
長 PI
最大公 因數、最小公倍數、因式分解
完 美數
阿 姆斯壯數
最大訪客數
中 序式轉後序式(前序式)
後序式 的運算
關於賭博
洗撲 克牌(亂數排列)
Craps 賭博遊戲
約 瑟夫問題(Josephus Problem)
集合問題
排列 組合
格雷碼 (Gray Code)
產生 可能的集合
m元素集合的n個元 素子集
數 字拆解
排 序
得分排行
選 擇、插入、氣泡 排序
Shell 排序法 - 改良的插入排序
Shaker 排序法 - 改良的氣泡排序
Heap 排序法 - 改良的選擇排序
快速排 序法(一)
快速排 序法(二)
快速排 序法(三)
合併排序 法
基數排序 法
搜尋
循 序搜尋法(使用衛兵)
二 分搜尋法(搜尋原則的代表)
插 補搜尋法
費 氏搜尋法
矩陣
稀 疏矩陣
多 維矩陣轉一維矩陣
上 三角、下三角、對稱矩陣
奇數魔方陣
4N 魔方陣
2(2N+1) 魔方陣
堆疊、佇列
堆 疊 - 使用陣列實作
堆疊 - 使用鏈結實作(C 語言動態記憶體宣告)
堆 疊 - 使用 Java 作物件封裝
佇 列 - 使用陣列實作
佇列 - 使用鏈結實作(C語言動態記憶體宣告)
佇 列 - 使用Java 作物件封裝
其它
自產生程式 (quine)