本書特色 修訂並新增更優更謹慎的思考方向與邏輯分析! 本書收集了60餘道演算法和程式設計的題目,這些題目大部分曾在微軟招募員工的測驗中出現過。作者希望能藉由本書引導讀者思考與分析問題,尋找更優的解法。 內容介紹 * 遊戲之樂:從遊戲和其他有趣問題出發,化繁為簡,分析總結。 * 數學之魅:程式設計的過程實際上就是和數字及字元打交道的過程。這一部分收集了一些這方面的有趣探討。 * 結構之法:彙集了常見的對字串、鏈表、佇列,以及樹進行操作的題目。 * 數學之趣:列舉了一些不需要寫具體程式的數學問題,鍛煉讀者的抽象思考能力。 * 書中絕大部分題目都提供了詳細的解說。每道題目後面還有一至兩道延伸問題,供讀者進一步鑽研。 * 書中還講述了面試的各種小故事,告訴讀者微軟需要什麼樣的技術人才,重視什麼樣的能力,如何甄選人才,並回答了讀者關於IT業面試、招聘、職涯發展的疑問。這本書的很多題目會出現在IT行業的各種筆試和面試中,但本書更深層的意義在於引導讀者思考,和讀者分享思考問題的樂趣,體驗程式設計之美。 《程式之美》網路讀書會:http://groups.google.com.tw/group/bofp2008?hl=zh-TW
作者簡介:
《編程之美》小組 鄒欣:現任微軟亞洲研究院技術創新組研發主管,曾著有《移山之道——VSTS軟體開發指南》一書。 李東:重慶大學電腦學院研究生,微軟亞洲研究院實習生。 陳遠:西北工業大學電腦系研究生,微軟亞洲研究院實習生。 張曉:清華大學高等研究所博士生,微軟亞洲研究院實習生。 劉鐵鋒:現就職於微軟亞洲研究院搜尋技術中心,從事搜尋引擎軟體開發工作。 莫瑜:現為微軟亞洲研究院搜尋技術中心軟體開發工程師。 梁舉:現就職於微軟亞洲研究院搜尋技術中心,從事開發工作。 胡睿:現就職於微軟亞洲研究院搜尋技術中心,從事多媒體搜尋研發工作。
目錄
第1章|遊戲之樂——遊戲中碰到的題目
1.1 讓CPU佔用率曲線聽你指揮
1.2 中國象棋將帥問題
1.3 一疊蔥油餅的排序
1.4 買書問題
1.5 快速找出故障機器
1.6 飲料供貨
1.7 光影切割問題
1.8 小飛的電梯調度演算法
1.9 高效率地安排說明會
1.10 雙執行緒高效下載
1.11 NIM(1)一排石頭的遊戲
1.12 NIM(2)遊戲分析
1.13 NIM(3)兩堆石頭的遊戲
1.14 連連看遊戲設計
1.15 構造數獨
1.16 24點遊戲
1.17 俄羅斯方塊遊戲
1.18 踩地雷遊戲
第2章|數位之魅——數位中的技巧
2.1 求二進位數字中1的個數
2.2 不要被階乘嚇倒
2.3 尋找貼文“灌水王”
2.4 1的數目
2.5 尋找最大的K個數
2.6 精確表達浮點數
2.7 最大公約數問題
2.8 找符合條件的整數
2.9 費伯納西(Fibonacci)數列
2.10 尋找陣列中的最大值和最小值
2.11 尋找最近點對
2.12 快速尋找滿足條件的兩個數
2.13 子陣列的最大乘積
2.14 求陣列的子陣列之和的最大值
2.15 子陣列之和的最大值(二維)
2.16 求陣列中最長遞增子序列
2.17 陣列迴圈移位元
2.18 陣列分割
2.19 區間重合判斷
2.20 程式理解和時間分析
2.21 只考加法的面試題
第3章|結構之法——字串及鏈表的探索
3.1 字串旋轉包含的問題
3.2 電話號碼對應英語單字
3.3 計算字串的相似度
3.4 從無頭單向Linked List刪除節點
3.5 最短摘要的產生
3.6 程式設計判斷兩個Linked List是否相交
3.7 佇列中取最大值操作問題
3.8 求二元樹中節點的最大距離
3.9 重建二元樹
3.10 分層走遍二元樹
3.11 程式改錯
第4章|數學之趣——數字遊戲的樂趣
4.1 金剛坐飛機問題
4.2 瓷磚覆蓋地板
4.3 買票找零
4.4 點是否在三角形內
4.5 磁帶檔案存放最佳化
4.6 桶中取黑白球
4.7 螞蟻爬杆
4.8 三角形測試案例
4.9 數獨知多少
4.10 數字啞謎和回文
4.11 踩地雷遊戲的機率
第1章|遊戲之樂——遊戲中碰到的題目
1.1 讓CPU佔用率曲線聽你指揮
1.2 中國象棋將帥問題
1.3 一疊蔥油餅的排序
1.4 買書問題
1.5 快速找出故障機器
1.6 飲料供貨
1.7 光影切割問題
1.8 小飛的電梯調度演算法
1.9 高效率地安排說明會
1.10 雙執行緒高效下載
1.11 NIM(1)一排石頭的遊戲
1.12 NIM(2)遊戲分析
1.13 NIM(3)兩堆石頭的遊戲
1.14 連連看遊戲設計
1.15 構造數獨
1.16 24點遊戲
1.17 俄羅斯方塊遊戲
1.18 踩地雷遊戲
第2章|數位之魅——數位中的技巧
2.1 求二進位數字中1的個數
2.2 不要被階乘嚇倒
2...