本書就是為想要鞏固計算機基礎知識,深入學習數據結構和算法的開發者打造的。本書並沒有像很多算法書籍一樣,使用類似 Java、C 這種學習曲線極高的編程語言進行算法描述,而是選擇語法簡單、可讀性強的 Python 作為示例語言。使用 Python 進行算法描述的好處在於,Python 的代碼簡單,可以讓讀者快速理解算法的特點和運行邏輯。本書意圖讓一個從零開始學習編程的讀者,可以快速感受數據結構和算法的神奇之處,並能對數據結構和算法有大致的認知和了解。本書中並不能詳盡地介紹所有的數據結構和算法,而是選擇極具代表性的數據結構(線性表、鏈表、棧、隊列、樹、圖等)和一些實際應用中的衍生結構進行介紹和模擬。在算法部分,也盡可能選擇簡單但有實際應用意義的算法進行原理的介紹並用代碼實現。
本書特色:
1. 基礎入門,從不會編程到熟練
本書從零開始逐步深入,從 Python 基礎語法到計算機的基本原理,從最簡單的數據結構到樹和圖等複雜結構,逐步求精。
2. 內容豐富,從數據結構到算法
本書涉及常見的數據結構,包括線性表、鏈表、棧、隊列、樹、圖等,每種數據結構都對應相應的結構實現和常用算法。
3. 知識全面,從基礎概念到實踐
本書涉及多種算法,這些算法大多具有實際的使用意義。書中還涉及大量的算法相關例題,並提供解題思路。
4.學以致用,從算法真題到總結
本書各個章節精選大量的相關習題和練習,這些題目大多是各個高校的考研算法真題,通過這些真題的練習,可以快速了解算法的考點並理解算法的執行過程。
5.多維度學習套餐
*同步視頻教程:提供與內容同步的高質量、超清晰的視頻講解,快速輕鬆掌握所學知識。
*提供思維導圖:每章首頁提供了一幅思維導圖,引導讀者在學習前,清晰了解每章知識要點。
*配習題及答案:為了讓讀者鞏固所學知識,達到學以致用的效果,還提供了相關習題、答案及實操練習。
*附贈教學 PPT:本書可作為高校及培訓機構用書,特贈送教學 PPT 供廣大教師參考使用。
數據結構和算法是計算機科學技術的基礎,尤其是在軟件行業,包括工業軟件開發、Web 系統開發、遊戲開發領域,其更是基礎學科。
伴隨著現代高級語言、開發框架、遊戲引擎等技術的發展,大多數的數據結構和算法不再需要應用層的開發者自行實現,而是可以直接使用,這使得開發者只需要專注於業務邏輯就可以完成編程的相關工作。但實際上,數據結構和算法依舊是崗位面試和相關考試的重點,也是一個合格的軟件開發者必須掌握的知識點。
本書就是為想要鞏固計算機基礎知識,深入學習數據結構和算法的開發者打造的。本書並沒有像很多算法書籍一樣,使用類似 Java、C 這種學習曲線極高的編程語言進行算法描述,而是選擇語法簡單、可讀性強的 Python 作為示例語言。使用 Python 進行算法描述的好處在於,Python 的代碼簡單,可以讓讀者快速理解算法的特點和運行邏輯,與“偽代碼”相比,Python 可以直接在系統中運行,並實時地根據輸入數據返回結果。
數據結構就是如何將已有的數據進行格式化的整理,使數據容易讀取和對其進行操作。算法就是處理數據的過程。在現實生活中會經常用到算法。例如,想要實現一個宏偉的目標,直接針對這個目標進行努力,可能非常困難。如果將這個大目標分解成多個難度不同的小目標,最終按照不同的實現難度依次完成,就相對簡單得多。這種算法被稱為梯度上升。
本書意圖讓一個從零開始學習編程的讀者,可以快速感受數據結構和算法的神奇之處,並能對數據結構和算法有大致的認知和了解。本書中並不能詳盡地介紹所有的數據結構和算法,而是選擇極具代表性的數據結構(線性表、鏈表、棧、隊列、樹、圖等)和一些實際應用中的衍生結構進行介紹和模擬。在算法部分,也盡可能選擇簡單但有實際應用意義的算法進行原理的介紹並用代碼實現。
第 1 章 Python 安裝與開發環境的搭建
1.1 Python 概述
1.2 Python 代碼的編寫
1.3 小結和練習
第 2 章 Python 算法入門
2.1 什麼是數據結構和算法
2.2 算法中常用的知識
2.3 基本算法思想
2.4 Python 算法中的基本語法
2.5 小結、習題和練習
第 3 章 Python 中的數據結構
3.1 Python 中的數據類型
3.2 Python 中線性表的實現
3.3 Python 中棧和隊列的實現
3.4 Python 中的哈希表
3.5 小結、習題與練習
第 4 章 Python 中的樹與二叉樹
4.1 數據結構中的樹和森林
4.2 二叉樹的實現
4.3 樹和森林的相關操作
4.4 哈夫曼樹
4.5 小結、習題和練習
第 5 章 Python 中的圖結構
5.1 圖的定義與實現
5.2 圖的遍歷
5.3 小結、習題與練習
第 6 章 Python 中的查找
6.1 查找
6.2 Python 中的字符串匹配問題
6.3 小結與練習
第 7 章 Python 中的排序
7.1 排序
7.2 插入排序
7.3 交換排序
7.4 其他排序
7.5 小結、習題和練習
第 8 章 Python 中的圖算法
8.1 圖和樹的轉換
8.2 最短路徑問題
8.3 小結、習題與練習
第 9 章 Python 中的樹算法
9.1 二叉搜索樹
9.2 二叉平衡樹
9.3 B 樹
9.4 紅黑樹
9.5 小結、習題與練習
第 10 章 其他經典算法
10.1 計算類算法
10.2 隨機問題
10.3 其他算法和思想
10.4 小結與練習
習題參考答案
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。