本書面向所有對計算機科學感興趣的讀者,以淺顯易懂的語言和簡明扼要的形式介紹計算機科學領域的重要知識點。既適合計算機專業人士查漏補缺基本理論,也適合普通讀者了解計算機科學。
基本介紹
- 書名:計算機科學精粹
- 作者:【巴西】Wladston Ferreira Filho
- 原版名稱:Computer Science Distilled
- 譯者:蔣楠
- ISBN:9787115499196
- 類別:計算機科學基礎
- 頁數:150
- 定價:49.00元
- 出版社:人民郵電出版社
- 出版時間:2019-01
主要內容,內容提要,作者,目錄,第1章 預備知識,第2章 複雜度,第3章 策略,第4章 數據,第5章 算法,第6章 資料庫,第7章 計算機,第8章 程式設計,附錄,結語,後記,
主要內容
本書以簡明扼要的形式介紹計算機科學知識,淺顯易懂,既適合程式設計師鞏固編程基礎,也適合普通人了解計算機科學和計算思維。
內容提要
- 梳理了求解問題所需的基本數學知識,將想法轉換為可供計算機執行的解決方案
- 算法設計中使用的主要策略
- 求解各類問題所用的一些知名算法與技術
- 理解不同類型的資料庫管理系統及其特性
- 基本的計算機工作原理
- 程式設計的本質
作者
Wladston Ferreira Filho,巴西程式設計師和計算機科學研究員,現任職於Code Energy有限責任公司。
目錄
第1章 預備知識
1.1 想法
1.1.1 流程圖
1.1.2 偽代碼
1.1.3 數學模型
1.2 邏輯
1.2.1 運算符
1.2.2 布爾代數
1.2.3 真值表
1.2.4 邏輯在計算中的套用
1.3 計數
1.3.1 乘法
1.3.2 排列
1.3.3 具有相同項的排列
1.3.4 組合
1.3.5 求和
1.4 機率
1.4.1 對結果計數
1.4.2 獨立事件
1.4.3 互斥事件
1.4.4 對立事件
1.4.5 賭徒謬誤
1.4.6 高級機率
1.5 小結
1.1.1 流程圖
1.1.2 偽代碼
1.1.3 數學模型
1.2 邏輯
1.2.1 運算符
1.2.2 布爾代數
1.2.3 真值表
1.2.4 邏輯在計算中的套用
1.3 計數
1.3.1 乘法
1.3.2 排列
1.3.3 具有相同項的排列
1.3.4 組合
1.3.5 求和
1.4 機率
1.4.1 對結果計數
1.4.2 獨立事件
1.4.3 互斥事件
1.4.4 對立事件
1.4.5 賭徒謬誤
1.4.6 高級機率
1.5 小結
第2章 複雜度
2.1 時間計算
2.2 大O 符號
2.3 指數
2.4 記憶體計算
2.5 小結
2.2 大O 符號
2.3 指數
2.4 記憶體計算
2.5 小結
第3章 策略
3.1 疊代
3.2 遞歸
3.3 蠻力法
3.4 回溯法
3.5 啟發法
3.5.1 貪心法
3.5.2 利用貪心法求解電網問題
3.6 分治法
3.6.1 利用分治法求解排序問題
3.6.2 利用分治法求解最佳交易問題
3.6.3 利用分治法求解背包問題
3.7 動態規劃
3.7.1 利用記憶化求解斐波那契數
3.7.2 利用記憶化求解背包問題
3.7.3 利用自底向上法求解最佳交易問題
3.8 分支定界法
3.8.1 上界與下界
3.8.2 背包問題中的上界與下界
3.9 小結
3.2 遞歸
3.3 蠻力法
3.4 回溯法
3.5 啟發法
3.5.1 貪心法
3.5.2 利用貪心法求解電網問題
3.6 分治法
3.6.1 利用分治法求解排序問題
3.6.2 利用分治法求解最佳交易問題
3.6.3 利用分治法求解背包問題
3.7 動態規劃
3.7.1 利用記憶化求解斐波那契數
3.7.2 利用記憶化求解背包問題
3.7.3 利用自底向上法求解最佳交易問題
3.8 分支定界法
3.8.1 上界與下界
3.8.2 背包問題中的上界與下界
3.9 小結
第4章 數據
第5章 算法
第6章 資料庫
6.1 關係資料庫
6.1.1 關係
6.1.2 模式遷移
6.1.3 SQL
6.1.4 索引
6.1.5 事務
6.2 非關係資料庫
6.2.1 文檔存儲
6.2.2 鍵值對存儲
6.2.3 圖資料庫
6.2.4 大數據
6.2.5 SQL 與NoSQL 的比較
6.3 分散式資料庫
6.3.1 單主機複製
6.3.2 多主機複製
6.3.3 分片
6.3.4 數據一致性
6.4 地理資料庫
6.5 序列化格式
6.6 小結
6.1.1 關係
6.1.2 模式遷移
6.1.3 SQL
6.1.4 索引
6.1.5 事務
6.2 非關係資料庫
6.2.1 文檔存儲
6.2.2 鍵值對存儲
6.2.3 圖資料庫
6.2.4 大數據
6.2.5 SQL 與NoSQL 的比較
6.3 分散式資料庫
6.3.1 單主機複製
6.3.2 多主機複製
6.3.3 分片
6.3.4 數據一致性
6.4 地理資料庫
6.5 序列化格式
6.6 小結
第7章 計算機
7.1 體系結構
7.1.1 存儲器
7.1.2 CPU
7.2 編譯器
7.2.1 作業系統
7.2.2 編譯最佳化
7.2.3 腳本語言
7.2.4 反彙編與逆向工程
7.2.5 開源軟體
7.3 存儲器層次結構
7.3.1 處理器與存儲器之間的鴻溝
7.3.2 時間局部性與空間局部性
7.3.3 一級快取
7.3.4 二級快取
7.3.5 第一級存儲器與第二級存儲器
7.3.6 外部存儲器與第三級存儲器
7.3.7 存儲技術的發展趨勢
7.4 小結
7.1.1 存儲器
7.1.2 CPU
7.2 編譯器
7.2.1 作業系統
7.2.2 編譯最佳化
7.2.3 腳本語言
7.2.4 反彙編與逆向工程
7.2.5 開源軟體
7.3 存儲器層次結構
7.3.1 處理器與存儲器之間的鴻溝
7.3.2 時間局部性與空間局部性
7.3.3 一級快取
7.3.4 二級快取
7.3.5 第一級存儲器與第二級存儲器
7.3.6 外部存儲器與第三級存儲器
7.3.7 存儲技術的發展趨勢
7.4 小結
第8章 程式設計
8.1 語言學
8.1.1 值
8.1.2 表達式
8.1.3 語句
8.2 變數
8.2.1 變數類型
8.2.2 變數作用域
8.3 範式
8.3.1 命令式編程
8.3.2 聲明式編程
8.3.3 邏輯編程
8.4 小結
8.1.1 值
8.1.2 表達式
8.1.3 語句
8.2 變數
8.2.1 變數類型
8.2.2 變數作用域
8.3 範式
8.3.1 命令式編程
8.3.2 聲明式編程
8.3.3 邏輯編程
8.4 小結