演算法之美:隱藏在資料結構背後的原理(C++版)

  • 9 585
    650
  • 分類:
    中文書電腦資訊APP開發/程式設計C/C#
    追蹤
    ? 追蹤分類後,您會在第一時間收到分類新品通知。
  • 作者: 左飛 追蹤 ? 追蹤作者後,您會在第一時間收到作者新書通知。
  • 出版社: 博碩文化 追蹤 ? 追蹤出版社後,您會在第一時間收到出版社新書通知。
  • 出版日:2017/10/04

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

內容簡介

本書圍繞演算法與資料結構的話題,並且循序漸進、深入淺出地介紹現代電腦技術中常用的40餘種經典演算法,包含回溯法、分治法、貪心法和動態規劃等演算法設計觀念。同時,本書也系統性地講解連結串列、堆疊、佇列、樹、圖、集合與字典等常用的資料結構。同時,透過22個經典問題(包括約瑟夫環問題、河內塔問題、八皇后問題和騎士巡邏問題等)的解說,逐步揭開隱藏在資料結構背後的演算法原理,試圖協助讀者充實知識基礎,啟動思維技巧,最終衝破阻礙提升程式設計能力的重重藩籬。

作者

左飛

C++專家,擅長撰寫具原創性質的IT著作,其著作《程式揭秘-從C/C++程式碼探索電腦系統的運作原理》與《演算法之美:隱藏在資料結構背後的原理(C++版)》皆被列為博碩文化[中文原創經典]之一。

目錄

前言
目錄
44 種演算法
22 個經典問題

1 從資料到演算法
1.1 資料與資料結構
1.1.1 資料及其類型
1.1.2 資料結構簡介
1.2 演算法
1.2.1 演算法的概念
1.2.2 演算法的分析
1.2.3 演算法的設計
1.3 C++中的STL
1.3.1 STL 簡介
1.3.2 STL 的組成
1.3.3 STL 的不同版本
參考文獻

2 指標與陣列——也談中國古代兵制
2.1 指標
2.1.1 記憶體與位址
2.1.2 指標的語法
2.1.3 使用指標變數
2.1.4 函數與參數傳遞
2.2 陣列
2.2.1 結構型資料類型
2.2.2 定義與初始化陣列
2.2.3 陣列與指標
2.2.4 陣列的抽象資料類型
2.3 陣列應用舉例
2.3.1 Z 字形編排問題
2.3.2 大整數乘法問題
2.3.3 九宮格問題
2.4 動態記憶體管理
2.4.1 關鍵字new 和delete
2.4.2 避免記憶體錯誤
參考文獻

3 字串與模式比對——夢裡尋她千百度
3.1 基本概念與定義
3.1.1 C++中的字串
3.1.2 字串抽象資料類型
3.2 文字的精確比對
3.2.1 BF 演算法
3.2.2 MP 演算法
3.2.3 KMP 演算法
3.2.4 BM 演算法
3.2.5 BMH 演算法
3.3 文字的模糊比對
3.3.1 全域編輯距離
3.3.2 局部最佳對準
3.3.3 N 元距離模型
3.3.4 語音編碼模型
參考文獻

4 連結串列——老鷹捉小雞
4.1 連結串列的概念
4.2 單向連結串列
4.2.1 單向連結串列的結構
4.2.2 單向連結串列的操作演算法
4.2.3 有序連結串列的合併演算法
4.3 單向迴圈連結串列
4.3.1 單向迴圈連結串列的結構
4.3.2 單向迴圈連結串列的實現
4.3.3 約瑟夫環的問題
4.3.4 魔術師發牌問題
4.3.5 拉丁方陣問題
4.4 雙向迴圈連結串列
4.4.1 雙向迴圈連結串列的結構
4.4.2 雙向迴圈連結串列的實現
4.4.3 維吉尼亞加密法問題
4.5 游標類別的設計與實現
4.5.1 游標類別的結構
4.5.2 游標類別的實現
4.6 STL 與連結串列
4.6.1 STL 中連結串列類別的介面
4.6.2 巡訪
4.6.3 元素的插入與刪除
參考文獻

5 先進先出與後進先出——簡單而深刻
5.1 堆盤子的策略
5.1.1 堆疊的結構
5.1.2 堆疊的操作及實現
5.1.3 括弧比對問題
5.1.4 停車場模擬問題
5.2 排隊的智慧
5.2.1 佇列的結構
5.2.2 佇列的操作及實現
5.2.3 舞伴問題
5.2.4 楊輝三角問題
5.2.5 遊程編碼問題
5.3 優先佇列——兼談頁面置換演算法
5.3.1 優先佇列的結構
5.3.2 優先佇列的實現
5.4 STL 的堆疊與佇列
5.4.1 STL 的stack
5.4.2 STL 的queue
5.4.3 STL 的priority_queue
參考文獻

6 遞迴——老和尚講故事
6.1 遞迴的概念
6.1.1 定義
6.1.2 應用遞迴的原則
6.1.3 遞迴和非遞迴的轉換
6.2 分治法
6.2.1 分治法簡述
6.2.2 河內塔問題
6.2.3 傳染病問題
6.3 回溯法
6.3.1 回溯法簡述
6.3.2 迷宮問題
6.3.3 八皇后問題
參考文獻

7 ——從紅樓夢說起
7.1 認識樹狀結構
7.1.1 基本定義
7.1.2 術語解釋
7.1.3 樹的抽象
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.4 霍夫曼樹——最佳二元樹編碼演算法
7.4.1 霍夫曼編碼
7.4.2 建構霍夫曼樹
7.4.3 霍夫曼編碼的實現
7.5 堆積
7.5.1 堆積的概念
7.5.2 堆積的建立
7.5.3 堆積的操作
7.6 基於STL 實現樹結構
7.6.1 STL 中的vector
7.6.2 STL 的map
參考文獻

8 ——始於柯尼斯堡的七橋問題
8.1 圖的基本概念
8.1.1 圖的定義
8.1.2 圖的術語
8.1.3 圖的運算
8.1.4 圖的抽象資料類型
8.2 圖的儲存與表示
8.2.1 圖的鄰接矩陣
8.2.2 圖的鄰接表
8.2.3 兩種標記法的比較
8.3 圖的巡訪

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9789864342488
    • 分級
    • 普通級
    • 頁數
    • 544
    • 商品規格
    • 18開17*23cm
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide