人工智慧-現代方法(附部份內容光碟)3/e (3版)
其他會員也一起購買
書名:人工智慧:現代方法(第三版)(附部份內容光碟)
作者:歐崇明(Russell)
出版社:全華
出版日期:2018/09/00
ISBN:9789864639014
內容簡介
人工智慧是一個龐大的領域,而這也是一本龐大的書。我們試圖探索這個領域的所有層面,包括邏輯、機率和連續數學;感知、推理、學習和行動;以及從微電子設備到行星探測機器人等一切鉅細問題。這本教科書之所以龐大也因為我們探討達到一定深度。本書的副標題是「現代方法」。這個相當空洞的短語企圖表達的是,我們試圖將已知的進展整合到一個共同的框架中,而不是試圖在各自的歷史脈絡下解釋人工智慧的各個子領域。有些子領域的描述篇幅會因此變得較少,我們為此致歉,但本書仍不失為一本值得參考的好書。
■ 本書特色
1. 第三版內容包括從2003 年的前一版以來,在AI領域裡所發生的種種變化,包括AI技術的許多重要應用;演算法的里程碑;還有大量的理論進展,尤其在機率推理、機器學習及電腦視覺等領域。
2. 增加一階機率模型的新內容,包括物件存在具不確定性下的開放宇宙模型。
3. 全新重寫了入門性質的機器學習章節,強調更多更近代的種種學習演算法,並將其置於更紮實的理論基礎上。
4. 擴充了網路搜尋、資訊萃取、以及利用超大資料集的學習技術等的涵蓋內容。
5. 本版的引用資料中,20%是屬於2003年後發表的工作。估計約有20%的內容為全新。剩下的80%反映舊的工作成果,但也有大幅改寫,以呈現出這個領域更一體的一致圖像。
立即查看
單晶片微電腦8051/8951原理與應用 (8版)
其他會員也一起購買
單晶片微電腦8051/8951原理與應用
ISBN13:9789865037819
出版社:全華圖書
作者:蔡朝洋
裝訂/頁數:平裝/632頁
附件:多媒體光碟
規格:26cm*19cm*2.2cm (高/寬/厚)
重量:1147克
版次:8
出版日:2021/08/03
中國圖書分類:電腦製造
內容簡介
本書共分為四篇,第一篇將單晶片微電腦MCS-51做了深入淺出的說明,第二篇至第四篇都是單晶片微電腦的應用實例,是一本理論與實務並重的實用書籍。本書中的每個實例均經作者精心規劃,並且每個程式範例均經作者親自上機實驗過,讀者們若能一面研讀本書一面依序實習,定可收到事半功倍之效而獲得單晶片微電腦控制之整體知能。適合私立大學、科大電子、電機、資工系「單晶片微電腦實務」課程。
本書特色
1.本書共分為四篇,對於單晶片微電腦作深入淺出的說明。
2.本書是一本理論與實務並重的書籍。
3.本書中的每個實例均經由作者精心規劃,且作者親自上機實驗,更附有超值光碟片(內含89cx051燒錄器、Ajon51、中文視窗版MCS-51編譯器、中文視窗版PLC-51編譯器、各廠牌51系列資料手冊、範例程式、常用零件資料手冊、常用零件照片、常用工具設備照片…等)。
4.本書適用大學、科大電機、電子科系「單晶片微電腦」、「單晶片應用」課程使用。
目錄
第1篇 相關知識
第1章 單晶片微電腦的認識
1-1 微電腦的基本結構
1-2 何謂單晶片微電腦
1-3 使用單晶片微電腦的好處
1-4 適用的電腦才是好電腦
1-5 MCS-51系列單晶片微電腦的認識
第2章 MCS-51系列單晶片微電腦
2-1 我應選用哪個編號的單晶片微電腦
2-2 MCS-51系列之方塊圖
2-3 MCS-51系列的接腳
2-3-1 MCS-51系列的接腳圖
2-3-2 MCS-51系列之接腳功能說明
第3章 MCS-51系列的內部結構
3-1 指令解碼器及控制單元
3-2 算術邏輯單元
3-3 程式計數器
3-4 程式記憶體
3-5 資料記憶體
3-6 特殊功能暫存器
3-6-1 累積器A
3-6-2 B暫存器
3-6-3 程式狀態字元PSW
3-6-4 堆疊指標SP
3-6-5 資料指標暫存器DPTR
3-7 輸入/輸出埠
3-8 計時/計數器之基本認識
3-9 計時/計數器0及計時/計數器1
3-9-1 工作模式之設定
3-9-2 模式0 (Mode 0) 分析
3-9-3 模式1 (Mode 1) 分析
3-9-4 模式2 (Mode 2) 分析
3-9-5 模式3 (Mode 3) 分析
3-10 計時/計數器2
3-10-1 工作模式之設定
3-10-2 捕取模式 (Capture Mode) 分析
3-10-3 自動再載入模式 (Auto-Reload Mode) 分析
3-10-4 鮑率產生器 (Baud Rate Generator) 分析
3-11 串列埠
3-11-1 串列埠之模式0
3-11-2 串列埠之模式1
3-11-3 串列埠之模式2
3-11-4 串列埠之模式3
3-11-5 串列埠的鮑率
3-11-6 多處理機通訊
3-12 中 斷
3-12-1 中斷之致能
3-12-2 中斷之優先權
3-13 省電模式
3-13-1 閒置模式 (Idle Mode)
3-13-2 功率下降模式 (Power Down Mode)
第4章 MCS-51指令集
4-1 MCS-51指令索引 (依英文字母順序排列)
4-2 MCS-51指令索引 (依功能分類)
4-3 MCS-51指令詳析
4-3-1 資料傳送指令
4-3-2 算術運算指令
4-3-3 邏輯運算指令
4-3-4 位元運算指令
4-3-5 分支跳越指令
4-3-6 呼叫指令及回返指令
4-3-7 其他指令
4-4 MCS-51各指令對旗標影響之摘要
4-5 MCS-51各運算元之英文全名
第5章 MCS-51之基本電路
5-1 80C51、89C51、89S51之基本電路
5-2 80C31、80C32之基本電路
5-3 輸入/輸出埠的擴充
5-4 介面電路
5-4-1 輸入電路
5-4-2 輸出電路
第6章 如何編譯程式
6-1 機械碼
6-2 何謂組合語言
6-3 如何獲得程式的執行檔
6-4 組合語言的格式
6-5 中文視窗版編譯器AJON51
6-5-1 AJON51的組譯功能
6-5-2 AJON51之安裝與設定
6-5-3 AJON51之操作實例
6-5-4 AJON51的偵錯功能
6-5-5 AJON51的線上求助功能
第7章 如何執行、測試程式
7-1 直接將程式燒錄在89S51或89C51測試
7-2 利用電路實體模擬器ICE執行程式
7-3 如何防止程式被別人複製
第8章 AT89系列單晶片微電腦的認識
8-1 快閃記憶體-Flash Memory
8-2 AT89C51、AT89S51
8-3 AT89C52、AT89S52
8-4 AT89C55
8-5 AT89C2051、AT89S2051
8-6 AT89C4051、AT89S4051
8-7 AT89C1051U
第2篇 基礎實習
第9章 輸出埠之基礎實習
實習9-1 閃爍燈
實習9-2 霹靂燈
實習9-3 廣告燈
第10章 輸入埠之基礎實習
實習10-1 用開關選擇動作狀態
實習10-2 用按鈕控制動作狀態
實習10-3 矩陣鍵盤
第11章 計時器之基礎實習
實習11-1 使用計時器做走馬燈
實習11-2 使用計時中斷做走馬燈
第12章 計數器之基礎實習
實習12-1 用計數器改變輸出狀態
實習12-2 用計數中斷改變輸出狀態
第13章 外部中斷之基礎實習
實習13-1 接到外部中斷信號時改變輸出狀態
第14章 串列埠之基礎實習
實習14-1 用串列埠來擴充輸出埠
實習14-2 用串列埠單向傳送資料
實習14-3 兩個MCS-51互相傳送資料
實習14-4 多個MCS-51互相傳送資料
第3篇 基礎電機控制實習
第15章 電動機之起動與停止
第16章 電動機之正逆轉控制
第17章 三相感應電動機之Y-△自動起動
第18章 順序控制
第19章 電動門
第20章 單按鈕控制電動機之起動與停止
第4篇 專題製作
第21章 用七段顯示器顯示數字
第22章 兩位數計數器
第23章 兩位數計時器
第24章 多位數字之掃描顯示
實習24-1 五位數之掃描顯示
實習24-2 閃爍顯示
實習24-3 移動顯示
第25章 五位數計數器
第26章 電子琴
第27章 聲音產生器
實習27-1 忙音產生器
實習27-2 鈴聲產生器
實習27-3 警告聲產生器
實習27-4 音樂盒
第28章 用點矩陣LED顯示器顯示字元
第29章 用點矩陣LED顯示器做活動字幕
第30章 點矩陣LCD模組之應用
實習30-1 用LCD模組顯示字串
實習30-2 用LCD模組顯示自創之字元或圖形
實習30-3 用一個LCD模組製作四個計數器
第31章 步進馬達
實習31-1 步進馬達的基本認識
實習31-2 2相步進馬達的1相激磁
實習31-3 2相步進馬達的2相激磁
...
立即查看
LabVIEW程式設計與應用(附範例光碟)
其他會員也一起購買
LabVIEW程式設計與應用
ISBN13:9789865034993
出版社:全華圖書
作者:惠汝生
裝訂/頁數:平裝/448頁
附件:光碟
規格:26cm*19cm*1.6cm (高/寬/厚)
版次:1
出版日:2020/10/06
中國圖書分類:量度儀器及其使用
內容簡介
2020年推出的LabVIEW 2020新增Python程式的編輯功能,改變使用者對LabVIEW的刻板印象,且在迴圈結構、系統監控及影像處理等方面增添不少新功能,硬體支援也更加成熟與完備。本書以循序漸近的方式編寫,並在各章節中提供範例讓初學者操作與練習,並提供LabVIEW的CLAD模擬考試題目,供讀者參考與練習之用。
目錄
第1 章 LabVIEW 緒論
1-1 何謂LabVIEW
1-2 LabVIEW 系統的安裝需求
1-3 如何啟動LabVIEW 系統
1-4 檔案儲存(Files Save)
1-5 檔案開啟(Files Open)
1-6 程式列印(Files Print)
CLAD 模擬試題
第2 章 LabVIEW 系統介紹
2-1 人機介面 (Front Panel)
2-2 程式區 (Block Diagram)
2-3 工具面板 (Tools Palette)
2-4 編輯技巧 (Editing Techniques)
2-5 執行VI 程式 (Running VI)
2-6 特殊工具 (Special Tools)
2-7 文字輔助視窗 (Context Help Windows)
CLAD 模擬試題
第3 章 數值與布林
3-1 數值函數物件
3-2 布林邏輯與布林轉換
3-3 比較函數
3-4 辨識與判定函數
3-5 正反器
問題練習
CLAD 模擬試題
第4 章 副程式結構
4-1 建立副程式
4-2 SubVI 的定義與設定
4-3 函數面板嵌入SubVI程式
問題練習
CLAD 模擬試題
第5 章 重複式迴圈
5-1 While Loop 的結構
5-2 For Loop 的結構
5-3 移位暫存器(Shift Register)的應用
5-4 回饋節點 (Feedback Node)
5-5 變數 (Variable)
5-6 平行運算 (Parallel Computing)
問題練習
CLAD 模擬試題
第6 章 陣列與叢集
6-1 陣列(Array)的型態
6-2 建立迴圈陣列
6-3 陣列的函數功能
6-4 何謂Polymorphism
6-5 叢集 (Cluster)
6-6 錯誤叢集 (Error Cluster)
問題練習
CLAD 模擬試題
第7 章 圖表與圖形
7-1 波形圖表 (Waveform Chart)
7-2 波形圖形 (Waveform Graph)
7-3 XY 圖形 (XY Graph)
7-4 強度圖表與圖形 (Intensity Chart and Graph)
問題練習
CLAD 模擬試題
第8 章 2D 與 3D 圖形
8-1 2D 圖形 (2D Graph)
8-2 3D 圖形 (3D Graph)
8-3 數位波形圖 (Digital Waveform Graph)
8-4 3D 圖像 (3D Picture)
第9 章 進階條件式迴圈
9-1 條件式結構 (Case Structure)
9-2 順序結構 (Sequence Structure)
9-3 公式節點 (Formula Node)
9-4 事件結構 (Event Structure)
問題練習
第10 章 字串與檔案儲存管理
10-1 字串 (Array)
10-2 字串函數
10-3 檔案管理函數
10-4 試算表字串格式
10-5 高階檔案I/O 的技巧
10-6 循序讀取與隨機讀取
問題練習
CLAD 模擬試題
第11 章 特殊Node應用
11.1 MathScript Node 應用
11.2 數值運算
11.3 陣列與矩陣
11.4 矩陣的運算
11.5 陣列的運算
11.6 多項式的運算
11.7 Python Node 應用
第12 章 GPIB 儀器控制
12-1 IEEE 488.1 與GPIB 的規格
12-2 虛擬儀器軟體架構 (VISA)
12-3 Waveform 轉換
12-4 儀表驅動程式設計
問題練習
立即查看
【中文翻譯書】
書名:離散數學 第七版 附光碟
原文書名 : Discrete Mathematics and Its Applications 7/E
作者 : Rosen
譯者 : 謝良瑜 陳志賢
出版社:東華
書號: 1803701
ISBN:9789861579115
<內容簡介>
隨著電腦科學的飛速發展,離散數學的重要性則日益彰顯。它為許多資訊科學課程提供了數學基礎,包括資料結構、演算法、資料庫理論、形式語言與作業系統等。如果沒有離散數學的相關數學基礎,學生在學習上述課程中,便會遇到較多的困難。此外,離散數學也包含了解決作業研究、化學、工程學、生物學等眾多領域的數學背景。Rosen教授所著之《離散數學》(Discrete Mathematics and its Applications, 7e)是一本文字淺顯易懂的數學書,提供豐富的習題、補充內容。作者使用精準的數學語言,但又不過度形式化與抽象化。此外,還補充重要數學家的生平簡介,更為抽象的數學概念增添了些許人文氣息,豐富了上課的趣味。
本書特色
本書非常強調數學推理,以及各種解題方式。大體而言,有五個重要的主題貫穿本書:
數學推理:本書一開始針對數理邏輯進行探討,討論證明時,建構證明的科學面和藝術面都會顧及。特別強調數學歸納法的技巧,藉由各種不同形態的範例進行說明。
組合分析:本書在討論如何列舉物件時,先從計數的基本技術開始。我們的重點在於使用組合分析來解決計數問題,以及演算法的解析,而不是直接套用公式。
離散結構:離散數學的課程應該要教學生如何處理離散結構──用以代表離散物件及其間關係之抽象的數學結構。離散結構包括集合、排列、關係、圖形、樹圖及有限狀態機器。
演算法思考:某些類別的問題可藉由演算法的明確敘述來解決。一旦演算法被清楚說明之後,就可建構電腦程式予以執行。描述演算法的方式,除了日常語言之外,也會用到容易明瞭的虛擬碼形式。
應用與模型化:本書探討了許多關於資訊科學和資料網路方面的應用,另外還包括化學、植物學、動物學、語言學、地理、商業、網際網路等各種領域。將離散數學模型化是極為重要的一種解題技巧,學生可以從習題中揣摩發展,建構出屬於自己的模型。
<章節目錄>
第1章 基礎:邏輯與證明
第2章 基本結構:集合、函數、序列、總和與矩陣
第3章 演算法
第4章 數論與密碼學
第5章 歸納與遞迴
第6章 計數
第7章 進階計數技巧
第8章 關係
第9章 圖形
第10章 樹圖
第11章 布林代數(CD)
附錄1 實數與正整數的公理(CD)
附錄2 指數函與對數函數(CD)
附錄3 虛擬碼(CD)
立即查看
圖解資料結構 × 演算法:運用C語言(暢銷回饋版) (2版)
類似書籍推薦給您
【簡介】
學習資料結構與演算法的好書,暢銷回饋中!
資料結構是有志從事資訊工作的專業人員,不得不重視的一門基礎課程。對於第一次接觸資料結構課程的初學者來說,過多的內容及不清楚的表達常是造成學習障礙的最主要原因。本書是以C程式語言實作來解說資料結構概念的入門書,內容淺顯易懂,藉由豐富圖例來闡述基本概念,將重要理論、演算法做最意簡言明的詮釋及舉例,同時配合完整的範例程式碼,期能透過實作來熟悉資料結構。因此,這是一本兼具內容及專業的資料結構教學用書。
【本書特色】
※內容架構完整,邏輯清楚,採用豐富的圖例來闡述基本觀念及應用,有效提高可讀性。
※以C語言實作資料結構中的重要理論,以範例程式說明資料結構的內涵。
※強調邊作邊學:提供書中範例完整程式檔,給予最完整的支援,加深學習記憶。
※驗收學習成果:參閱國家考試題型,設計難易適中的習題,提供進一步演練。
【重點主題】
◆ 資料結構入門與演算法
◆ 陣列結構 / 串列結構
◆ 堆疊 / 佇列
◆ 樹狀結構 / 圖形結構
◆ 排序演算法
◆ 搜尋演算法與雜湊函數
◆ 資料結構專有名詞
【目錄】
Chapter 1 資料結構入門與演算法
1-1 資料結構的定義
1-1-1 資料與資訊
1-1-2 資料的特性
1-1-3 資料結構的應用
1-2 演算法
1-2-1 演算法的條件
1-2-2 演算法的表現方式
1-3 常見演算法簡介
1-3-1 分治法
1-3-2 貪心法
1-3-3 枚舉法
1-3-4 巴斯卡三角形演算法
1-3-5 質數求解演算法
1-4 演算法效能分析
1-4-1 Big-oh
1-4-2 Ω(omega)
1-4-3 θ(theta)
Chapter 2 陣列結構
2-1 線性串列簡介
2-1-1 儲存結構簡介
2-2 認識陣列
2-2-1 二維陣列
2-2-2 三維陣列
2-2-3 n 維陣列
2-3 矩陣
2-3-1 矩陣相加
2-3-2 矩陣相乘
2-3-3 轉置矩陣
2-3-4 稀疏矩陣
2-3-5 上三角形矩陣
2-3-6 下三角形矩陣
2-3-7 帶狀矩陣
2-4 陣列與多項式
2-4-1 認識多項式
Chapter 3 串列結構
3-1 動態配置記憶體
3-1-1 動態配置變數
3-2 單向串列
3-2-1 建立單向串列
3-2-2 走訪單向串列
3-2-3 單向串列插入新節點
3-2-4 單向串列刪除節點
3-2-5 單向串列的反轉
3-2-6 單向串列的連結
3-2-7 多項式串列表示法
3-3 環狀串列結構
3-3-1 環狀串列的建立與走訪
3-3-2 環狀串列的插入節點
3-3-3 環狀串列的刪除節點
3-3-4 環狀串列的連結
3-3-5 稀疏矩陣的環狀串列表示法
3-4 雙向串列
3-4-1 雙向串列的建立與走訪
3-4-2 雙向串列加入新節點
3-4-3 雙向串列刪除節點
Chapter 4 堆疊
4-1 堆疊簡介
4-1-1 陣列實作堆疊
4-1-2 串列實作堆疊
4-2 堆疊的應用
4-2-1 遞迴演算法
4-2-2 動態規劃演算法
4-2-3 河內塔問題
4-2-4 回溯法-老鼠走迷宮
4-2-5 八皇后問題
4-3 算術運算式的表示法
4-3-1 中序轉為前序與後序
4-3-2 前序與後序轉為中序
4-3-3 中序表示法求值
4-3-4 前序表示法求值
4-3-5 後序表示法求值
Chapter 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 優先佇列
Chapter 6 樹狀結構
6-1 樹的基本觀念
6-1-1 樹專有名詞簡介
6-2 二元樹簡介
6-2-1 二元樹的定義
6-2-2 特殊二元樹簡介
6-3 二元樹儲存方式
6-3-1 陣列表示法
6-3-2 串列表示法
6-4 二元樹走訪
6-4-1 中序走訪
6-4-2 後序走訪
6-4-3 前序走訪
6-4-4 二元樹節點插入與刪除
6-4-5 二元運算樹
6-5 引線二元樹
6-5-1 二元樹轉為引線二元樹
6-6 樹的二元樹表示法
6-6-1 樹化為二元樹
6-6-2 二元樹轉換成樹
6-6-3 樹林化為二元樹
6-6-4 二元樹轉換成樹林
6-6-5 樹與樹林的走訪
6-6-6 決定唯一二元樹
6-7 最佳化二元搜尋樹
6-7-1 延伸二元樹
6-7-2 霍夫曼樹
6-8 平衡樹
6-8-1 平衡樹的定義
6-9 進階樹狀結構的應用
6-9-1 決策樹
6-9-2 B 樹
6-9-3 二元空間分割樹(BSP)
6-9-4 四元樹/八元樹
Chapter 7 圖形結構
7-1 圖形簡介
7-1-1 尤拉環與尤拉鏈
7-1-2 圖形的定義
7-1-3 無向圖形
7-1-4 有向圖形
7-2 圖形的資料表示法
7-2-1 相鄰矩陣法
7-2-2 相鄰串列法
7-2-3 相鄰複合串列法
7-2-4 索引表格法
7-3 圖形的走訪
7-3-1 先深後廣法
7-3-2 先廣後深法
7-4 擴張樹簡介
7-4-1 DFS擴張樹及BFS擴張樹
7-4-2 最小花費擴張樹
7-4-3 Kruskal演算法
7-4-4 Prim演算法
7-5 圖形最短路徑
7-5-1 單點對全部頂點
7-5-2 兩兩頂點間的最短路徑
7-5-3 A*演算法
7-6 AOV網路與拓樸排序
7-6-1 拓樸序列簡介
7-7 AOE網路
7-7-1 臨界路徑
Chapter 8 排序演算法
8-1 認識排序
8-1-1 排序的分類
8-1-2 排序演算法分析
8-2 內部排序法
8-2-1 氣泡排序法
8-2-2 選擇排序法
8-2-3 插入排序法
8-2-4 謝耳排序法
8-2-5 合併排序法
8-2-6 快速排序法
8-2-7 堆積排序法
8-2-8 基數排序法
8-3 外部排序法
8-3-1 直接合併排序法
8-3-2 k 路合併法
Chapter 9 搜尋演算法與雜湊函數
9-1 常見搜尋演算法
9-1-1 循序搜尋法
9-1-2 二分搜尋法
9-1-3 內插搜尋法
9-1-4 費氏搜尋法
9-2 雜湊搜尋法
9-2-1 雜湊函數簡介
9-3 常見雜湊函數
9-3-1 除法
9-3-2 中間平方法
9-3-3 折疊法
9-3-4 數位分析法
9-4 碰撞與溢位處理
9-4-1 線性探測法
9-4-2 平方探測法
9-4-3 再雜湊法
9-4-4 鏈結串列法
附錄A 資料結構專有名詞索引
立即查看
圖解資料結構 × 演算法:運用 C++ 結合 ChatGPT 輔助驗證及寫程式 (1版)
類似書籍推薦給您
內容簡介
AI 再進化!
使用 ChatGPT 高效率生成 C++ 語言程式碼
資料結構一直以來都在電腦科學領域扮演著極為重要的基礎課程角色。無論是資訊、資工、資管、應用數學、電腦科學、或計算機等相關科系,資料結構通常都是必須學習的科目。近年來,甚至包括電機、電子和商學管理等科系也都將其納入選修課程。此外,資料結構在轉學考、研究所考試、以及國家的高、普、特考中也都是必考科目。這表示不論是以應付考試的視角或者是追求資訊科學學問的視角,資料結構都是不可或缺的;特別是對於那些志向投身資訊科學領域的專業人士。
對於初次接觸資料結構課程的新手來說,過多的內容以及晦澀難懂的表達方式經常成為學習的主要障礙。這本書以 C++ 程式語言實作為載體,詳細解釋資料結構的基本概念,並透過豐富的圖例來闡釋這些概念。我們致力於以精簡、清晰的方式呈現重要的理論和演算法,同時提供完整的範例程式碼,讓讀者透過實際操作熟悉掌握資料結構的知識。
此外,透過人工智慧的協助,我們能夠更深入地探索資料結構。也因此本書特別設計了作者與 ChatGPT 問答的欄位,以及由 ChatGPT 所產生的程式碼範例,讓讀者能夠比較人工智慧生成的程式碼與傳統方式編寫的程式碼之間的區別,進一步理解人工智慧在資訊科學領域的應用。
◇特別提供◇
——————————————————
ChatGPT 生成程式碼
——————————————————
可與人工編寫程式碼相互比較作為參考!
|本書範例程式碼檔案,請至博碩官網下載|
本書特色
☑ 完整的內容結構和清晰的邏輯,豐富的圖例解說提高可讀性
☑ 使用 C++ 語言實作資料結構理論,並透過範例程式碼深入解析
☑ 參閱國家考試題型設計難易適中的習題,立即檢驗學習效果
☑ 附錄彙整出資料結構相關的專有名詞,方便查詢加深學習印象
☑ 增加「向 ChatGPT 提問」、「ChatGPT 解決觀點」欄位,提高學習效率
目錄
Chapter 0 ChatGPT 與 C 語言程式設計黃金入門課
0-1 認識聊天機器人
0-1-1 聊天機器人的種類
0-2 ChatGPT 初體驗
0-2-1 註冊免費 ChatGPT 帳號
0-2-2 更換新的機器人
0-2-3 登出 ChatGPT
0-3 使用 ChatGPT 寫 C++ 語言程式
0-3-1 利用 ChatGPT AI 撰寫 C++ 語言程式
0-3-2 複製 ChatGPT 幫忙寫的程式碼
0-3-3 費伯那序列的遞迴程式
0-3-4 利用 ChatGPT AI 撰寫萬年曆
0-4 課堂上學不到的 ChatGPT 使用秘訣
0-4-1 能記錄對話內容
0-4-2 專業問題可事先安排人物設定腳本
0-4-3 目前只回答2021年前
0-4-4 善用英文及 Google 翻譯工具
0-4-5 熟悉重要指令
0-4-6 充份利用其它網站的 ChatGPT 相關資源
Chapter 1 資料結構入門與演算法
1-1 資料結構的定義
1-1-1 資料與資訊
1-1-2 資料的特性
1-1-3 資料結構的應用
1-2演算法
1-2-1 演算法的條件
1-2-2 演算法的表現方式
1-3 常見演算法簡介
1-3-1 分治法
1-3-2 貪心法
1-3-3 枚舉法
1-3-4 巴斯卡三角形演算法
1-3-5 質數求解演算法
1-4 演算法效能分析
1-4-1 Big-oh
1-4-2 Ω(omega)
1-4-3 θ(theta)
Chapter 2 陣列結構
2-1 線性串列簡介
2-1-1 儲存結構簡介
2-2 認識陣列
2-2-1 二維陣列
2-2-2 三維陣列
2-2-3 n維陣列
2-3 矩陣
2-3-1 矩陣相加
2-3-2 矩陣相乘
2-3-3 轉置矩陣
2-3-4 稀疏矩陣
2-3-5 上三角形矩陣
2-3-6 下三角形矩陣
2-3-7 帶狀矩陣
2-4 陣列與多項式
2-4-1 認識多項式
Chapter 3 串列結構
3-1 動態配置記憶體
3-1-1 C++ 的動態配置變數
3-1-2 動態配置陣列
3-2 單向串列
3-2-1 單向串列的建立與走訪
3-2-2 單向串列插入新節點
3-2-3 單向串列刪除節點
3-2-4 單向串列的反轉與連結
3-2-5 多項式表示法
3-3 環狀串列
3-3-1 環狀串列的插入節點
3-3-2 環狀串列的刪除節點
3-3-3 環狀串列的連結
3-3-4 稀疏矩陣的環狀串列表示法
3-4 雙向串列
3-4-1 雙向串列的建立與走訪
3-4-2 雙向串列插入節點
3-4-3 雙向串列刪除節點
Chapter 4 堆疊
4-1 堆疊簡介
4-1-1 陣列實作堆疊
4-1-2 串列實作堆疊
4-1-3 堆疊類別樣板實作
4-2 堆疊的應用
4-2-1 遞迴演算法
4-2-2 費伯那序列
4-2-3 動態規劃演算法
4-2-4 河內塔問題
4-2-5 回溯法 - 老鼠走迷宮
4-2-6 八皇后問題
4-3 算術運算式的表示法
4-3-1 中序轉為前序與後序
4-3-2 前序與後序轉為中序
4-3-3 中序表示法求值
4-3-4 前序表示法求值
4-3-5 後序表示法求值
Chapter 5 佇列
5-1 認識佇列
5-1-1 佇列的工作運算
5-1-2 陣列實作佇列
5-1-3 串列實作佇列
5-2 佇列的相關應用
5-2-1 環狀佇列
5-3 雙向佇列
5-4 優先佇列
Chapter 6 樹狀結構
6-1 樹的基本觀念
6-1-1 樹專有名詞簡介
6-2 二元樹簡介
6-2-1 二元樹的定義
6-2-2 特殊二元樹簡介
6-3 二元樹儲存方式
6-3-1 陣列表示法
6-3-2 串列表示法
6-4 二元樹走訪
6-4-1 中序走訪
6-4-2 後序走訪
6-4-3 前序走訪
6-4-4 節點插入與刪除
6-4-5 二元運算樹
6-5 引線二元樹
6-5-1 二元樹轉為引線二元樹
6-6 樹的二元樹表示法
6-6-1 樹化為二元樹
6-6-2 二元樹轉換成樹
6-6-3 樹林化為二元樹
6-6-4 二元樹轉換成樹林
6-6-5 樹與樹林的走訪
6-6-6 決定唯一二元樹
6-7 最佳化二元搜尋樹
6-7-1 延伸二元樹
6-7-2 霍夫曼樹
6-8 平衡樹
6-8-1 平衡樹的定義
6-9 進階樹狀結構的應用
6-9-1 決策樹
6-9-2 B樹
6-9-3 二元空間分割樹(BSP)
6-9-4 四元樹/八元樹
Chapter 7 圖形結構
7-1 圖形簡介
7-1-1 尤拉環與尤拉鏈
7-1-2 圖形的定義
7-1-3 無向圖形
7-1-4 有向圖形
7-2 圖形的資料表示法
7-2-1 相鄰矩陣法
7-2-2 相鄰串列法
7-2-3 相鄰複合串列法
7-2-4 索引表格法
7-3 圖形的走訪
7-3-1 先深後廣法
7-3-2 先廣後深搜尋法
7-4 擴張樹簡介
7-4-1 DFS 擴張樹及 BFS 擴張樹
7-4-2 最小花費擴張樹
7-4-3 Kruskal 演算法
7-4-4 Prim 演算法
7-5 圖形最短路徑
7-5-1 單點對全部頂點
7-5-2 兩兩頂點間的最短路徑
7-5-3 A*演算法
7-6 AOV 網路與拓樸排序
7-6-1 拓樸序列簡介
7-7 AOE網路
7-7-1 臨界路徑
Chapter 8 排序演算法
8-1 認識排序
8-1-1 排序的分類
8-1-2 排序演算法分析
8-2 內部排序法
8-2-1 氣泡排序法
8-2-2 選擇排序法
8-2-3 插入排序法
8-2-4 謝耳排序法
8-2-5 合併排序法
8-2-6 快速排序法
8-2-7 堆積排序法
8-2-8 基數排序法
8-3 外部排序法
8-3-1 直接合併排序法
8-3-2 k路合併法
Chapter 9 搜尋演算法與雜湊函數
9-1 常見搜尋演算法
9-1-1 循序搜尋法
9-1-2 二分搜尋法
9-1-3 內插搜尋法
9-1-4 費氏搜尋法
9-2 雜湊搜尋法
9-2-1 雜湊函數簡介
9-3 常見雜湊函數
9-3-1 除法
9-3-2 中間平方法
9-3-3 折疊法
9-3-4 數位分析法
9-4 碰撞與溢位處理
9-4-1 線性探測法
9-4-2 平方探測法
9-4-3 再雜湊法
9-4-4 鏈結串列法
附錄A 資料結構專有名詞索引
立即查看
圖解資料結構 × 演算法:運用 C 語言結合 ChatGPT 輔助驗證及寫程式 (1版)
類似書籍推薦給您
內容簡介
AI 再進化!
使用 ChatGPT 高效率生成 C 語言程式碼
資料結構一直以來都在電腦科學領域扮演著極為重要的基石角色。它不僅是全國各大專院校資訊、資工、資管、應用數學、電腦科學、計算機等資訊相關科系的必修科目,近年來,甚至包括電機、電子和商學管理科系也納入選修課程中。此外,一些轉學考試、研究所入學考試以及國家高、普、特考,資料結構都是必考科目之一。從這些角度來看,無論是從考試的角度,還是對於探索資訊科學領域的熱情,資料結構都是資訊工作者不容忽視的基礎課程。
對於初次接觸資料結構課程的新手來說,這門課中涉及的大量理論和演算法可能會讓人感到困惑,甚至產生挫折感。為了協助讀者更迅速地理解資料結構,本書以豐富的圖例呈現基本概念,對重要的理論和演算法進行了簡明扼要的解釋和舉例,同時提供完整的範例程式碼,讓讀者透過實際操作來熟悉資料結構。
此外,透過人工智慧的協助,我們能夠更深入地探索資料結構;也因此本書特別設計了作者與 ChatGPT 問答的欄位。儘管是由人工智慧程式生成的,但它們經過了精密的人工審查,並確保其正確性。因此,這種方法有助於提高學習效率,並幫助理解與資料結構相關的問題。
本書特色
☑ 完整的內容結構和清晰的邏輯,豐富的圖例解說提高可讀性
☑ 使用C語言實作資料結構理論,並透過範例程式碼深入解析
☑ 參閱國家考試題型設計難易適中的習題,立即檢驗學習效果
☑ 附錄彙整出資料結構相關的專有名詞,方便查詢加深學習印象
☑ 增加「向 ChatGPT 提問」、「ChatGPT 解決觀點」欄位,提高學習效率
◇特別提供◇
——————————————————
ChatGPT 生成程式碼
——————————————————
可與人工編寫程式碼相互比較作為參考!
|本書範例程式碼檔案,請至博碩官網下載|
目錄
Chapter 0 ChatGPT 與 C 語言程式設計黃金入門課
0-1 認識聊天機器人
0-1-1 聊天機器人的種類
0-2 ChatGPT初體驗
0-2-1 註冊免費ChatGPT帳號
0-2-2 更換新的機器人
0-2-3 登出ChatGPT
0-3 使用 ChatGPT 寫C語言程式
0-3-1 利用 ChatGPT AI 撰寫C語言程式
0-3-2 複製 ChatGPT 幫忙寫的程式碼
0-3-3 費伯那序列的遞迴程式
0-3-4 利用 ChatGPT AI 撰寫萬年曆
0-4 課堂上學不到的 ChatGPT 使用秘訣
0-4-1 能記錄對話內容
0-4-2 專業問題可事先安排人物設定腳本
0-4-3 目前只回答2021年前
0-4-4 善用英文及 Google 翻譯工具
0-4-5 熟悉重要指令
0-4-6 充份利用其它網站的 ChatGPT 相關資源
Chapter 1 資料結構入門與演算法
1-1 資料結構的定義
1-1-1 資料與資訊
1-1-2 資料的特性
1-1-3 資料結構的應用
1-2演算法
1-2-1 演算法的條件
1-2-2 演算法的表現方式
1-3 常見演算法簡介
1-3-1 分治法
1-3-2 貪心法
1-3-3 枚舉法
1-3-4 巴斯卡三角形演算法
1-3-5 質數求解演算法
1-4 演算法效能分析
1-4-1 Big-oh
1-4-2 Ω(omega)
1-4-3 θ(theta)
Chapter 2 陣列結構
2-1 線性串列簡介
2-1-1 儲存結構簡介
2-2 認識陣列
2-2-1 二維陣列
2-2-2 三維陣列
2-2-3 n維陣列
2-3 矩陣
2-3-1 矩陣相加
2-3-2 矩陣相乘
2-3-3 轉置矩陣
2-3-4 稀疏矩陣
2-3-5 上三角形矩陣
2-3-6 下三角形矩陣
2-3-7 帶狀矩陣
2-4 陣列與多項式
2-4-1 認識多項式
Chapter 3 串列結構
3-1 動態配置記憶體
3-1-1 動態配置變數
3-2 單向串列
3-2-1 建立單向串列
3-2-2 走訪單向串列
3-2-3 單向串列插入新節點
3-2-4 單向串列刪除節點
3-2-5 單向串列的反轉
3-2-6 單向串列的連結
3-2-7 多項式串列表示法
3-3 環狀串列結構
3-3-1 環狀串列的建立與走訪
3-3-2 環狀串列的插入節點
3-3-3 環狀串列的刪除節點
3-3-4 環狀串列的連結
3-3-5 稀疏矩陣的環狀串列表示法
3-4 雙向串列
3-4-1 雙向串列的建立與走訪
3-4-2 雙向串列加入新節點
3-4-3 雙向串列刪除節點
Chapter 4 堆疊
4-1 堆疊簡介
4-1-1 陣列實作堆疊
4-1-2 串列實作堆疊
4-2 堆疊的應用
4-2-1 遞迴演算法
4-2-2 動態規劃演算法
4-2-3 河內塔問題
4-2-4 回溯法-老鼠走迷宮
4-2-5 八皇后問題
4-3 算術運算式的表示法
4-3-1 中序轉為前序與後序
4-3-2 前序與後序轉為中序
4-3-3 中序表示法求值
4-3-4 前序表示法求值
4-3-5 後序表示法求值
Chapter 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 優先佇列
Chapter 6 樹狀結構
6-1 樹的基本觀念
6-1-1 樹專有名詞簡介
6-2 二元樹簡介
6-2-1 二元樹的定義
6-2-2 特殊二元樹簡介
6-3 二元樹儲存方式
6-3-1 陣列表示法
6-3-2 串列表示法
6-4 二元樹走訪
6-4-1 中序走訪
6-4-2 後序走訪
6-4-3 前序走訪
6-4-4 二元樹節點插入與刪除
6-4-5 二元運算樹
6-5 引線二元樹
6-5-1 二元樹轉為引線二元樹
6-6 樹的二元樹表示法
6-6-1 樹化為二元樹
6-6-2 二元樹轉換成樹
6-6-3 樹林化為二元樹
6-6-4 二元樹轉換成樹林
6-6-5 樹與樹林的走訪
6-6-6 決定唯一二元樹
6-7 最佳化二元搜尋樹
6-7-1 延伸二元樹
6-7-2 霍夫曼樹
6-8 平衡樹
6-8-1 平衡樹的定義
6-9-2 B樹
6-9-3 二元空間分割樹(BSP)
6-9-4 四元樹/八元樹
Chapter 7 圖形結構
7-1 圖形簡介
7-1-1 尤拉環與尤拉鏈
7-1-2 圖形的定義
7-1-3 無向圖形
7-1-4 有向圖形
7-2 圖形的資料表示法
7-2-1 相鄰矩陣法
7-2-2 相鄰串列法
7-2-3 相鄰複合串列法
7-2-4 索引表格法
7-3 圖形的走訪
7-3-1 先深後廣法
7-3-2 先廣後深搜尋法
7-4 擴張樹簡介
7-4-1 DFS擴張樹及BFS擴張樹
7-4-2 最小花費擴張樹
7-4-3 Kruskal演算法
7-4-4 Prim演算法
7-5 圖形最短路徑
7-5-1 單點對全部頂點
7-5-2 兩兩頂點間的最短路徑
7-5-3 A*演算法
7-6 AOV 網路與拓樸排序
7-6-1 拓樸序列簡介
7-7 AOE網路
7-7-1臨界路徑
Chapter 8 排序演算法
8-1 認識排序
8-1-1 排序的分類
8-1-2 排序演算法分析
8-2 內部排序法
8-2-1 氣泡排序法
8-2-2 選擇排序法
8-2-3 插入排序法
8-2-4 謝耳排序法
8-2-5 合併排序法
8-2-6 快速排序法
8-2-7 堆積排序法
8-2-8 基數排序法
8-3 外部排序法
8-3-1 直接合併排序法
8-3-2 k路合併法
Chapter 9 搜尋演算法與雜湊函數
9-1 常見搜尋演算法
9-1-1 循序搜尋法
9-1-2 二分搜尋法
9-1-3 內插搜尋法
9-1-4 費氏搜尋法
9-2 雜湊搜尋法
9-2-1 雜湊函數簡介
9-3 常見雜湊函數
9-3-1 除法
9-3-2 中間平方法
9-3-3 折疊法
9-3-4 數位分析法
9-4 碰撞與溢位處理
9-4-1 線性探測法
9-4-2 平方探測法
9-4-3 再雜湊法
9-4-4 鏈結串列法
附錄A 資料結構專有名詞索引
立即查看
圖解資料結構 × 演算法:運用C# (1版)
類似書籍推薦給您
立即查看
超圖解 C語言--用資料結構×演算法突破 APCS (1版)
類似書籍推薦給您
本書是專為有志往資訊科系發展的讀者所設計,具有以下幾項特色:
□ 【紮實基礎教學】:全面涵蓋 C 語言各項主題,沒學過程式設計也可從本書開始入門。主題涵蓋基本語法、函式、陣列、遞迴、指標與多維陣列、動態記憶體配置、前置處理器、結構體與自訂資料型態、到檔案輸出入等,不限於 APCS 檢測範圍,更為未來鋪路。
□ 【超圖解觀念解說】:程式設計抽象概念往往是初學者卡關主因,本書作者親手繪製數百張圖解以及流程圖具像呈現程式設計抽象觀念,易讀又好理解。
□ 【線上開發環境】:學習程式設計就是要動手練習,本書採用線上開發環境,不需安裝軟體,只要打開瀏覽器,就可以開始動手寫程式,甚至在手機、平板上都沒問題。
在 APCS 檢定的準備上,則是採取以下策略:
□ 【從思維邏輯解題】:著重解決問題的思維邏輯,帶你用紙筆解析問題,思考解法。
□ 【單一程式語言】:APCS 的觀念題以 C 語言出題,學 C 語言無可避免,本書實作題也採用 C 語言,只要專心學習單一語言,不需要同時學習兩種語言,以免耗時又容易混淆觀念。
□ 【資料結構與演算法】:帶你思考如何善用資料儲存方法或是執行步驟,讓程式更簡潔、更有效率。涵蓋堆疊、佇列、鏈節串列、樹狀結構、圖形等基本資料結構,以及排序、動態規劃、回溯、雜湊等關鍵演算法。
本書不限定在 APCS 的範疇,也為未來往軟體工程師做準備,包含以下延伸內容:
□ 【業界軟體工具】:gcc 編譯指令、make 專案建置、gdb 除錯程式等實務軟體工作現場必備的工具,為未來進入職場做好準備。
□ 【進階程式主題】:檔案輸出入、動態記憶體配置、模組化程式設計、文字編碼等。另外,本書也提供有 C++ 附錄,對於想要進一步瞭解 C++ 的讀者,快速介紹 C++ 與 C 的差異,並且針對最核心的物件導向概念,做了深入淺出的介紹。
本書特色:
□ 從基本語法、函式、陣列、遞迴、指標與多維陣列、動態記憶體配置、前置處理器、結構體與自訂資料型態、到檔案輸出入,完整打好基礎
□ 線上編譯環境,開瀏覽器就可立即練習
□ APCS 觀念題實戰演練,驗證學習成效
□ APCS 實作模擬題解析,熟練思考邏輯
□ ○/✗對照示範,建立程式正確觀念
□ 用流程圖輔助,具像理解程式邏輯
□ 涵蓋鏈結串列、樹狀結構、圖形、堆疊、佇列等基本資料結構
□ 涵蓋搜尋、排序、動態規劃、回溯法、雜湊等關鍵演算法
□ 包含 C++ 簡介附錄,提供進一步探索 C++ 的敲門磚
□ gcc、make、gdb 等開發工具簡介,跨入軟體開發專業領域
目錄大綱
目錄:
第 1 章 認識 C 語言、資料結構和演算法
1-1 認識 C 程式語言
1-2 C 語言的基本結構和執行流程
1-3 電腦語言翻譯機:編譯器和直譯器
1-4 資料結構和演算法
| APCS 觀念題練習
第 2 章 數學運算子、變數與資料型態
2-1 運算子、變數和常數
2-2 運算式
| APCS 觀念題練習
2-3 整數和浮點數資料型態
| APCS 觀念題練習
2-4 printf():合併字串和資料
2-5 整理程式演算思緒的好幫手:虛擬碼和流程圖
| APCS 觀念題練習
第 3 章 字串、字元編碼與自訂函式
3-1 確認資料型態大小以及注意事項
3-2 字元與字串資料型態
| APCS 觀念題練習
3-3 建立自訂函式
3-4 變數的儲存等級、有效範圍和生命週期
| APCS 觀念題練習
第 4 章 流程控制:選擇 (selection) 與迴圈 (iteration) 敘述
4-1 讀取鍵盤輸入資料的 scanf() 函式
4-2 改變程式流程的 if 條件式
4-3 條件運算子
| APCS 觀念題練習
4-4 switch…case 控制結構
4-5 努力不懈的迴圈
4-6 使用輾轉相除法求最大公因數
4-7 continue 和 break 指令
| APCS 觀念題練習
| APCS 實作題 購物車(堆積木)
第 5 章 排列與隨機
5-1 內容不可改變的「常數」
5-2 產生隨機數字
5-3 排列圖案
5-4 常用的數學函式
5-5 判斷某數字是否為「阿姆斯壯數」
| APCS 觀念題練習
| APCS 實作題 辨別三角形
第 6 章 陣列與字串
6-1 基本資料結構:陣列
6-2 處理字串資料
6-3 文字位移加密(shift cipher)
6-4 刪除字串裡的空白字元
6-5 運用 string.h 函式庫處理字串
6-6 使用 strtok() 函式切割、擷取子字串
6-7 檢測迴文句子以及變數的有效範圍
6-8 計算大數據
| APCS 觀念題練習
| APCS 實作題 修補圍籬 (壽司拼盤)
| APCS 實作題 猜拳遊戲(甲蟲爭霸戰)
第 7 章 遞迴和堆疊
7-1 遞迴:函式呼叫自己
7-2 認識「堆疊」記憶體區域和資料結構
7-3 利用 pythontutor.com 觀察程式運作狀況
7-4 河內塔問題
| APCS 觀念題練習
第 8 章 指標與多維陣列
8-1 取址運算子與指標運算子
8-2 指標與加減運算
8-3 二維陣列:表格式資料
8-4 用二維陣列儲存多筆字串資料
8-5 帕斯卡三角形和二項式係數
| APCS 觀念題練習
| APCS 實作題 矩陣總和
第 9 章 前置處理器、標頭檔與程式模組
9-1 外部 C 程式檔
9-2 前置處理指令與標頭檔
9-3 再談 extern(外部)與 static(靜態)儲存等級
9-4 #define:定義巨集
9-5 條件編譯
| APCS 觀念題練習
| APCS 實作題 矩陣轉置
第 10 章 自訂資料型態
10-1 列舉型態 enum
10-2 結構體(struct)
10-3 結構體陣列
10-4 在函式中使用結構體
10-5 讓記憶體空間華麗轉身的 union 自訂型態
10-6 位元欄位(bit-field)與位元資料操作
10-7 位元運算子(bitwise operator)與位移運算
10-8 互斥或(XOR)加密和解密
| APCS 觀念題練習
| APCS 實作題 邏輯運算子
第 11 章 演算法、資料排序和搜尋
11-1 測量執行程式的花費時間
11-2 評估演算法效率和大 O 符號
11-3 資料排序
11-4 氣泡排序原理與實作
11-5 快速排序原理與實作
11-6 求取中位數
11-7 二分搜尋法
| APCS 觀念題練習
| APCS 實作題 購買力計算
| APCS 實作題 成績指標
| APCS 實作題 線段覆蓋長度
| APCS 實作題 基地台覆蓋問題
第 12 章 動態配置記憶體與鏈接串列資料結構
12-1 動態配置記憶體
12-2 函式中的雙重指標參數
12-3 鏈結串列資料結構
12-4 使用區域變數指向串列的開頭
12-5 在串列的結尾新增節點
12-6 搜尋鏈接串列的內容
12-7 刪除節點
| APCS 觀念題練習
| APCS 實作題 定時 K 彈(約瑟夫問題)
第 13 章 樹狀結構
13-1 樹狀結構
| APCS 實作題 樹狀圖分析
13-2 二元樹與平衡二元樹
13-3 使用鏈接串列建立二元樹
13-4 走訪與搜尋二元樹的節點資料
13-5 新增二元樹的節點
13-6 刪除節點
| APCS 觀念題練習
| APCS 實作題 自動分裝(旅行團團員分配)
第 14 章 圖形、佇列、最長距離與最短路徑
14-1 圖形結構
14-2 深度優先(DFS)與廣度優先(BFS)走訪
14-3 佇列(queue)與廣度優先(BFS)走訪
14-4 用陣列實作佇列
14-5 廣度優先走訪(BFS)程式實作
| APCS 實作題 最長路徑(血緣關係)
14-6 計算最短路徑:Dijkstra(戴克斯特拉)演算法
| APCS 實作題 機器人移動路徑
第 15 章 動態規劃
15-1 計算費式數列
15-2 背包問題
15-3 找零所需的最少硬幣數量
15-4 最長共同子序列
| APCS 實作題 置物櫃(板凳)出租
| APCS 實作題 勇者修練
第 16 章 回溯法與雜湊表
16-1 走出迷宮
16-2 N 皇后問題
| APCS 實作題 美麗彩帶(完美序列)
16-3 可壓縮儲存空間的「雜湊表(Hash Table)」
16-4 具備碰撞處理機制的雜湊函式
| APCS 實作題 完美序列(雜湊版)
附錄 A 程式開發工具、GCC 以及 Makefile 編譯命令檔
A-1 安裝 Code::Blocks 程式開發工具
A-2 手動編譯 C 程式
A-3 其他 gcc 命令選項以及 gdb 除錯工具
A-4 封裝函式庫以及靜態連結函式庫
A-5 採用 makefile 檔編譯程式
A-6 在 Mac 電腦上安裝與設置 C 程式開發工具
附錄 B 讀寫檔案
B-1 文字檔和二進位檔
B-2 操作檔案的函式
B-3 讀取文字檔
B-4 寫入文字檔
B-5 採用 "w+" 讀寫與 "r+" 寫讀模式開啟檔案
B-6 在文字檔案中新增文字
B-7 以二進位形式讀寫檔案
B-8 處理多國語系字串:wchar_t 型態以及語言環境設定
附錄 C C++
C-1 處理標準輸出∕輸入資料流以及命名空間
C-2 物件導向程式設計(OOP)與 string 字串物件
C-3 函式簽名、多載以及預設參數值
C-4 標準樣板程式庫(STL)
立即查看