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