-
>
闖進數學世界――探秘歷史名題
-
>
中醫基礎理論
-
>
當代中國政府與政治(新編21世紀公共管理系列教材)
-
>
高校軍事課教程
-
>
思想道德與法治(2021年版)
-
>
毛澤東思想和中國特色社會主義理論體系概論(2021年版)
-
>
中醫內科學·全國中醫藥行業高等教育“十四五”規劃教材
算法設計與分析基礎(PYTHON語言描述)(微課視頻版) 版權信息
- ISBN:9787302659563
- 條形碼:9787302659563 ; 978-7-302-65956-3
- 裝幀:平裝
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
算法設計與分析基礎(PYTHON語言描述)(微課視頻版) 本書特色
本書特色:
(1)由淺入深,循序漸進。每種算法策略從設計思想、算法框架入手,由易到難地講解經典問題的求解過程。
(2)示例豐富,重視啟發。書中列舉大量的具有典型性的求解問題,深入剖析采用相關算法策略求解的思路,清晰地展示算法設計的過程。
(3)注重求解問題的多維性。同一個問題采用多種算法策略實現,通過不同算法策略的比較,使學生更容易了解每一種算法策略的設計特點和各自的優缺點。
(4)強調實踐和動手能力的培養。書中針對相關知識點以實戰題形式討論了力扣中國網站部分在線編程題的設計思路和解決過程,讓學生體會到“學以致用”和解決實際問題的樂趣。
算法設計與分析基礎(PYTHON語言描述)(微課視頻版) 內容簡介
本書結合Python語言的各種數據類型介紹窮舉法、歸納法、迭代法和遞歸法等基本算法設計方法,重點討論分治法、回溯法、分支限界法、貪心法和動態規劃五大算法設計策略的原理和算法設計框架,通過大量典型示例和LeetCode實戰題解析了多途徑構建模型、求解和驗證的過程。 全書既注重原理又注重實踐,配有大量圖表、練習題、上機實驗題和在線編程題,內容豐富,概念講解清楚,表達嚴謹,邏輯性強,語言精練,可讀性好。 本書既便于教師課堂講授,又便于自學者閱讀,適合作為高等院校“算法設計與分析”課程的教材,也可供ACM和各類程序設計競賽者參考。
算法設計與分析基礎(PYTHON語言描述)(微課視頻版) 目錄
(LeetCode921★★)/ 2.5雙端隊列/ 2.5.1雙端隊列的定義/ 2.5.2Python中的雙端隊列/ 2.5.3實戰——滑動窗口中的*大值
(LeetCode239★★★)/ 2.6隊列/ 2.6.1隊列的定義/ 2.6.2Python中的隊列/ 2.6.3實戰——無法吃午餐的學生的數量
(LeetCode1700★)/ 2.7優先隊列/ 2.7.1優先隊列的定義/ 2.7.2Python中的優先隊列/ 2.7.3實戰——數據流中第k大的元素
(LeetCode703★)/ 2.8樹和二叉樹/ 2.8.1樹/ 2.8.2二叉樹/ 2.8.3實戰——二叉樹的完全性檢驗
(LeetCode958★★)/ 2.9圖/ 2.9.1圖的基礎/ 2.9.2實戰——課程表(LeetCode207★★)/ 2.10并查集/ 2.10.1并查集的基礎/ 2.10.2實戰——省份的數量(LeetCode547★★)/ 2.11二叉排序樹和平衡二叉樹/ 2.11.1二叉排序樹/ 2.11.2平衡二叉樹/ 2.11.3紅黑樹/ 2.11.4Python中的有序類/ 2.11.5實戰——前k個高頻單詞(LeetCode692★★)/ 2.12哈希表/ 2.12.1哈希表的基礎/ 2.12.2Python中的哈希表/ 2.12.3實戰——多數元素(LeetCode169★)/ 習題2/ 第3章技能——基本算法設計方法/ 3.1窮舉法/ 3.1.1窮舉法概述/ 3.1.2*大連續子序列和/ 3.1.3實戰——*大子序列和(LeetCode53★)/ 3.2歸納法/ 3.2.1歸納法概述/ 3.2.2直接插入排序/ 3.2.3實戰——不同路徑(LeetCode62★★)/ 3.2.4猴子摘桃子問題/ 3.3迭代法/ 3.3.1迭代法概述/ 3.3.2簡單選擇排序/ 3.3.3實戰——多數元素(LeetCode169★)/ 3.3.4求冪集/ 3.3.5實戰——子集(LeetCode78★★)/ 3.4遞歸法/ 3.4.1遞歸法概述/ 3.4.2冒泡排序/ 3.4.3求全排列/ 3.4.4實戰——字符串解碼(LeetCode394★★)/ 3.5遞推式計算/ 3.5.1直接展開法/ 3.5.2遞歸樹方法/ 3.5.3主方法/ 習題3/ 第4章分而治之——分治法/ 4.1分治法概述/ 4.1.1什么是分治法/ 4.1.2分治法算法的框架/ 4.2求解排序問題/ 4.2.1快速排序/
4.2.2實戰——*小的k個數(面試題17.14★★)/ 4.2.3歸并排序/ 4.2.4實戰——數組中的逆序對(劍指Offer51★★★)/ 4.3求解查找問題/ 4.3.1查找*大和次大元素/ 4.3.2二分查找/ 4.3.3二分查找的擴展/ 4.3.4實戰——尋找峰值(LeetCode162★★)/ 4.3.5查找兩個等長有序序列的中位數/ 4.3.6查找假幣問題/ 4.4求解組合問題/ 4.4.1*大連續子序列的和/ 4.4.2實戰——*大子序列的和(LeetCode53★)/ 4.4.3實戰——多數元素(LeetCode169★)/ 4.4.4實戰——三數之和(LeetCode15★★)/ 4.4.5求*近點對距離/ 習題4/ 第5章走不下去就回退——回溯法/ 5.1回溯法概述/ 5.1.1問題的解空間/ 5.1.2什么是回溯法/ 5.1.3回溯法算法的時間分析/ 5.2深度優先搜索/ 5.2.1圖的深度優先遍歷/ 5.2.2深度優先遍歷和回溯法的差別/ 5.2.3實戰——二叉樹的所有路徑(LeetCode257★)/ 5.3基于子集樹框架的問題求解/ 5.3.1子集樹算法框架概述/ 5.3.2實戰——子集(LeetCode78★★)/ 5.3.3實戰——子集Ⅱ(LeetCode90★★)/ 5.3.4實戰——目標和(LeetCode494★★)/ 5.3.5子集和問題/ 5.3.6簡單裝載問題/ 5.3.70/1背包問題/ 5.3.8完全背包問題/ 5.3.9實戰——皇后Ⅱ(LeetCode52★★★)/ 5.3.10任務分配問題/ 5.3.11*實戰——完成所有工作的*短時間
(LeetCode1723★★★)/ 5.3.12圖的m著色/ 5.4基于排列樹框架的問題求解/ 5.4.1排列樹算法框架概述/ 5.4.2實戰——含重復元素的全排列Ⅱ(LeetCode47★★)/ 5.4.3任務分配問題/ 5.4.4貨郎擔問題/ 習題5/ 第6章朝*優解方向前進——分支限界法/ 6.1分支限界法概述/ 6.1.1什么是分支限界法/ 6.1.2分支限界法的設計要點/ 6.1.3分支限界法的時間分析/ 6.2廣度優先搜索/ 6.2.1圖的廣度優先遍歷/ 6.2.2廣度優先搜索算法框架/ 6.2.3實戰——到家的*少跳躍次數(LeetCode1654★★)/ 6.2.4實戰——滑動謎題(LeetCode773★★★)/ 6.2.5實戰——腐爛的橘子(LeetCode994★★)/ 6.3隊列式分支限界法/ 6.3.1隊列式分支限界法概述/ 6.3.2圖的單源*短路徑/ 6.3.3SPFA算法/ 6.3.4實戰——網絡延遲時間(LeetCode743★★)/ 6.3.50/1背包問題/ 6.4優先隊列式分支限界法/ 6.4.1優先隊列式分支限界法概述/ 6.4.2圖的單源*短路徑/ 6.4.3實戰——*小體力消耗路徑(LeetCode1631★★)/ 6.4.4*實戰——完成所有工作的*短時間
(LeetCode1723★★★)/ 6.4.50/1背包問題/ 6.4.6任務分配問題/ 6.4.7貨郎擔問題/ 習題6/ 第7章每一步局部*優——貪心法/ 7.1貪心法概述/ 7.1.1什么是貪心法/ 7.1.2貪心法求解問題具有的性質/ 7.1.3實戰——分發餅干(LeetCode455★)/ 7.1.4貪心法的一般求解過程/ 7.2求解組合問題/ 7.2.1活動安排問題Ⅰ/ 7.2.2實戰——無重疊區間(LeetCode435★★)/ 7.2.3求解背包問題/ 7.2.4實戰——雪糕的*大數量(LeetCode1833★★)/ 7.2.5實戰——*大數(LeetCode179★★)/ 7.2.6求解零錢兌換問題/ 7.3求解圖問題/ 7.3.1使用Prim算法構造*小生成樹/ 7.3.2使用Kruskal算法構造*小生成樹/ 7.3.3實戰——連接所有點的*小費用
(LeetCode1584★★)/ 7.3.4使用Dijkstra算法求單源*短路徑/ 7.3.5實戰——網絡延遲時間(LeetCode743★★)/ 7.4求解調度問題/ 7.4.1不帶懲罰的調度問題/ 7.4.2帶懲罰的調度問題/ 7.5哈夫曼編碼/ 7.5.1哈夫曼樹和哈夫曼編碼/ 7.5.2實戰——*后一塊石頭的重量
(LeetCode1046★)/ 習題7/ 第8章保存子問題的解——動態規劃/ 8.1動態規劃概述/ 8.1.1從一個簡單示例入門/ 8.1.2動態規劃的原理/ 8.1.3動態規劃求解問題的性質和步驟/ 8.1.4動態規劃與其他方法的比較/ 8.2一維動態規劃/ 8.2.1*大連續子序列和/ 8.2.2實戰——*大子序列和(LeetCode53★)/ 8.2.3*長遞增子序列/ 8.2.4*活動安排問題Ⅱ/ 8.3二維動態規劃/ 8.3.1三角形的*小路徑和/ 8.3.2實戰——下降路徑*小和(LeetCode931★★)/ 8.4三維動態規劃/ 8.4.1使用Floyd算法求多源*短路徑/ 8.4.2*雙機調度問題/ 8.5字符串動態規劃/ 8.5.1*長公共子序列/ 8.5.2編輯距離/ 8.6背包動態規劃/ 8.6.10/1背包問題/ 8.6.2實戰——目標和(LeetCode494★★)/ 8.6.3完全背包問題/ 8.6.4實戰——零錢兌換(LeetCode322★★)/ 8.6.5*多重背包問題/ 8.7樹形動態規劃/ 8.7.1樹形動態規劃概述/ 8.7.2實戰——找礦(LeetCode337★★)/ 8.7.3實戰——監控二叉樹(LeetCode968★★★)/ 8.8區間動態規劃/ 8.8.1區間動態規劃概述/ 8.8.2矩陣連乘問題/ 8.8.3實戰——*長回文子串(LeetCode5★★)/ 習題8/ 第9章*難問題——NP完全問題/ 9.1P類和NP類/ 9.1.1易解問題和難解問題/ 9.1.2判定問題/ 9.1.3P類/ 9.1.4NP類/ 9.2多項式時間變換和NP完全問題/ 9.2.1多項式時間變換/ 9.2.2NP完全性及其性質/ 9.2.3**個NP完全問題/ 9.2.4其他NP完全問題/ 習題9/ 參考文獻/
算法設計與分析基礎(PYTHON語言描述)(微課視頻版) 作者簡介
李春葆,武漢大學計算機學院教授。主要研究方向為數據挖掘和算法設計,先后主持和參加多個大型研究項目。主要為本科生講授數據結構(15年以上)和軟件工程等課程,為研究生講授軟件開發新技術、數據倉庫與數據挖掘等課程,并出版十多部精品著作。
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
名家帶你讀魯迅:故事新編
- >
推拿
- >
羅曼·羅蘭讀書隨筆-精裝
- >
龍榆生:詞曲概論/大家小書
- >
名家帶你讀魯迅:朝花夕拾
- >
苦雨齋序跋文-周作人自編集
- >
伯納黛特,你要去哪(2021新版)