首頁 搜尋 我的知識庫
圖解資料結構 × 演算法:運用 C 語言結合 ChatGPT 輔助驗證及寫程式

圖解資料結構 × 演算法:運用 C 語言結合 ChatGPT 輔助驗證及寫程式

作者: 胡昭民
出版社: 博碩
出版日期: 2023/11/10
ISBN-13: 9786263336421
書店 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 資料結構專有名詞索引






相關書籍

Unity UCU 國際認證應考攻略 (Artist/Programmer)

iOS App程式開發實務攻略:快速精通SwiftUI

全端網站開發筆記:活用MERN技術,打造制霸全球的動態網站,開創六位數被動收入!(iThome鐵人賽系列書)【軟精裝】

無料AI:ChatGPT+Gemini+Claude+Copilot+Coze+PlaygroundAI+Ideogram+Stylar+Faceswapper+Suno+Stable Audio+D-ID+Runway+Sora+Gamma-「文字、繪圖、動漫、視覺、音樂、影片、簡報」創意無限(二版)