算法詳解 捲1 算法基礎 Algorithms Illuminated: Part 1: The Basics

[美]蒂姆·拉夫加登(Tim Roughgarden)

  • 算法詳解 捲1 算法基礎-preview-1
  • 算法詳解 捲1 算法基礎-preview-2
算法詳解 捲1 算法基礎-preview-1

買這商品的人也買了...

商品描述

算法是電腦科學領域最重要的基石之一。算法是程序的靈魂,只有掌握了算法,才能輕松地駕馭程序開發。
算法詳解系列圖書共有4捲,本書是第1捲——算法基礎。本書共有6章,主要介紹了4個主題,它們分別是漸進性分析和大O表示法、分治算法和主方法、隨機化算法以及排序和選擇。附錄A和附錄B簡單介紹了數據歸納法和離散概率的相關知識。本書的每一章均有小測驗、章末習題和編程題,這為讀者的自我檢查以及進一步學習提供了較多的便利。
本書為對算法感興趣的廣大讀者提供了豐富而實用的資料,能夠幫助讀者提升算法思維能力。本書適合電腦專業的高校教師和學生,想要培養和訓練算法思維和計算思維的IT專業人士,以及在準備面試的應聘者和麵試官閱讀參考。

作者簡介

蒂姆·拉夫加登(Tim Roughgarden)是斯坦福大學計算機科學系的教授,也是該校管理科學和工程系的客座教授,他從2004年開始教授和研究算法。本書是他的《算法詳解》四部曲的第一捲,基於他從2012年開始定期舉行的在線算法課程編寫。

目錄大綱

第1章 緒論
1.1 為什麽要學習算法
1.2 整數乘法
1.2.1 問題和解決方案
1.2.2 整數乘法問題
1.2.3 小學算法
1.2.4 操作數量的分析
1.2.5 還能做得更好嗎
1.3 Karatsuba乘法
1.3.1 一個具體的例子
1.3.2 一種遞歸算法
1.3.3 Karatsuba乘法
1.4 MergeSort算法
1.4.1 推動力
1.4.2 排序
1.4.3 一個例子
1.4.4 偽碼
1.4.5 Merge子程序
1.5 MergeSort算法分析
1.5.1 Merge的運行時間
1.5.2 MergeSort的運行時間
1.5.3 定理1.2的證明
1.5.4 小測驗1.1~1.2的答案
1.6 算法分析的指導原則
1.6.1 第1個原則:最壞情況分析
1.6.2 第2個原則:全局分析
1.6.3 第3個原則:漸進性分析
1.6.4 什麽是“快速”算法
1.7 本章要點
1.8 習題
挑戰題
編程題
第2章 漸進性表示法
2.1 要旨
2.1.1 推動力
2.1.2 高級思維
2.1.3 4個例子
2.1.4 小測驗2.1~2.4的答案
2.2 大O表示法
2.2.1 文本定義
2.2.2 圖形定義
2.2.3 數學定義
第3章 分治算法
第4章 主方法
第5章 快速排序(QuickSort)
第6章 線性時間級的選擇
附錄A 快速回顧數學歸納法
附錄B 快速回顧離散概率