演算法邏輯力:工程師必備的演算法解題、設計、加速技巧 (Algorithmic Thinking: A Problem-Based Introduction)
Daniel Zingaro 著 蔡牧村 譯
- 出版商: 博碩
- 出版日期: 2023-04-18
- 定價: $720
- 售價: 6.6 折 $475 (限時優惠至 2025-12-31)
- 語言: 繁體中文
- 頁數: 464
- 裝訂: 平裝
- ISBN: 6263334274
- ISBN-13: 9786263334274
-
相關分類:
Algorithms-data-structures
- 此書翻譯自: Algorithmic Thinking: A Problem-Based Introduction
立即出貨 (庫存 > 10)
買這商品的人也買了...
-
Binary Hacks -- 駭客秘傳技巧一百招$580$458 -
無瑕的程式碼 番外篇-專業程式設計師的生存之道 (The Clean Coder: A Code of Conduct for Professional Programmers)
$360$281 -
物件導向設計模式-可再利用物件導向軟體之要素 (精裝典藏版) (Design Patterns: Elements of Reusable Object-Oriented Software)$550$550 -
為你自己學 Git$500$390 -
提升程式設計師的面試力|189道面試題目與解答, 6/e (修訂版) (Cracking the Coding Interview : 189 Programming Questions and Solutions, 6/e)$980$774 -
大話資料結構:全新彩色版$780$616 -
程式設計必修的數學課$450$383 -
白話演算法!培養程式設計的邏輯思考 (Grokking Algorithms: An illustrated guide for programmers and other curious people)$520$468 -
深入淺出設計模式, 2/e (Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software, 2/e)$980$774 -
內行人才知道的系統設計面試指南$580$458 -
Web Hacking 現場指南:真實世界抓漏和獵蟲的賞金之旅 (Real-World Bug Hunting: A Field Guide to Web Hacking)$550$363 -
會動的演算法:61 個演算法動畫+全圖解逐步拆解,人工智慧、資料分析必備$620$490 -
Linux 網路內功修煉 - 徹底了解底層原理及高性能架構$780$616 -
演算法生存指南$800$632 -
Google 的軟體工程之道|從程式設計經驗中吸取教訓 (Software Engineering at Google)$880$695 -
圖說演算法 : 使用 C語言, 3/e$560$437 -
圖說演算法 : 使用 C++, 3/e$600$468 -
Hacking APIs|剖析 Web API 漏洞攻擊技法$580$458 -
邁向 Linux 工程師之路:Superuser 一定要懂的技術與運用, 3/e (How Linux Works : What Every Superuser Should Know, 3/e)$780$585 -
資料科學基礎數學 (Essential Math for Data Science)$680$537 -
完全 OS 核心精修 - 熟稔 Windows API 高級篇$1,280$1,011 -
完全 OS 核心精修 - 熟稔 Windows API 基礎篇$980$774 -
親密的駭人 – 堅固網路安全建設從內網開始$880$695 -
一本精通 - Python 範例應用大全:Python 詳細語法教學 & 100+ 個 Python 範例$880$695 -
遞迴演算法大師親授面試心法:Python 與 JavaScript 解題全攻略 (The Recursive Book of Recursion)$680$448
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
無師自通最高難度的計算問題!
- 本書將教你如何解決艱難的程式設計問題,並設計屬於你自己的演算法。透過教學大神Daniel Zingaro從USACO、IOI等世界級程式競賽中精選來的範例,你將學會如何分類問題、選擇資料結構,並辨認出適合的演算法。同時也將學到,你所選擇的資料結構(無論是雜湊表、堆積、或樹)會如何影響執行時間,以及如何讓你的演算法加速,包括應用遞迴、動態規劃、二元搜尋等強大的策略來解決艱難的問題。
透過程式碼的逐一講解,你將學到的演算法和資料結構包括:
❏ 用圖與廣度優先搜尋演算法來尋找桌遊的最佳策略、或是翻譯一本書的最好方法。
❏ 用Dijkstra演算法來判斷有多少老鼠能成功走出迷宮、或是兩個地點之間最短路徑的數量。
❏ 用聯集尋找資料結構來回答關於社群網路上的連結或判斷敵友等問題。
❏ 用堆積資料結構來決定促銷活動期間所送出的獎金金額。
❏ 用雜湊表資料結構來判斷雪花是否獨一無二、或在字典中辨認出複合詞。
➤本書中的每一道問題都可在程式解題系統網站上,由系統判定是否正確解題,網站的網址和問題編號都會列在說明之中。
作者簡介
- Daniel Zingaro任教於多倫多密西沙加大學的數學與資訊科學系,是位獲獎的助理教授。他在大學中以他獨特的互動式教學方法聞名,且其專業在國際間以主動學習的領域著稱。
目錄大綱
- [導論]
線上資源
本書對象
程式語言
--為什麼是C語言?
--靜態關鍵字
--導入的檔案
--記憶體釋放
主題
解題系統
題目描述的構成
題目:取餐排隊
--解開問題
筆記
[第1章_雜湊表]
題目一:獨特雪花
--問題
--簡化問題
--解決核心問題
--解答一:逐對比較
--解答二:減輕工作量
雜湊表
--設計雜湊表
--為什麼要使用雜湊表?
題目二:複合詞
--問題
--辨別複合詞
--解答
題目三:拼字檢查─刪除字母
--問題
--思索雜湊表
--一個量身打造的解答
摘要
筆記
[第2章_樹與遞迴]
題目一:萬聖節糖果收集
--問題
--二元樹
--解決一個較簡單的實例
--二元樹表示方法
--收集所有糖果
--一個完全不一樣的解答
--走最少街道
--讀取輸入
為什麼要使用遞迴?
題目二:子孫的距離
--問題
--讀取輸入
--一個節點的子孫數目
--全部節點的子孫數目
--節點排序
--輸出資訊
--main函數
總結
筆記
[第3章_記憶法與動態規劃]
題目一:漢堡狂熱
--問題
--產生一個計畫
--刻劃最佳解
--解答一:遞迴
--解答二:記憶法
--解答三:動態規劃
記憶法與動態規劃
--步驟一:最佳解的結構
--步驟二:遞迴解
--步驟三:記憶法
--步驟四:動態規劃
題目二:守財奴
--問題
--刻劃出最佳解
--解答一:遞迴
--解答二:記憶法
題目三:冰球世仇
--問題
--關於世仇
--刻劃出最佳解
--解答一:遞迴
--解答二:記憶法
--解答三:動態規劃
--空間最佳化
題目四:及格方法
--問題
--解答:記憶法
總結
筆記
[第4章_圖與廣度優先搜尋]
題目一:騎士追逐
--問題
--最佳化移動
--騎士的最佳結果
--騎士反反覆覆
--時間最佳化
圖(Gragh)與 BFS
--什麼是圖?
--圖vs.樹
--圖上的BFS
題目二:攀爬繩子
--問題
--解答一:找出動作
--解答二:重新建模
題目三:書籍翻譯
--問題
--圖的建立
--BFS
--總成本
總結
筆記
[第5章_加權圖中的最短路徑]
題目一:老鼠迷宮
--問題
--從BFS繼續邁進
--加權圖中的最短路徑
--圖的建立
--實作Dijkstra演算法
--兩種最佳化
Dijkstra演算法
--Dijkstra演算法的執行時間
--負權重邊
題目二:拜訪奶奶規劃
--問題
--相鄰矩陣
圖的建立
--怪異路徑
--任務一:最短路徑
--任務二:最短路徑的數目
總結
筆記
[第6章_二元搜尋]
題目一:螞蟻餵食
--問題
--新風味的樹問題
--讀取輸入
--可行性測試
--搜尋解答
二元搜尋
--二元搜尋的執行時間
--判斷可行性
--搜尋排序過的陣列
題目二:跳躍河流
--問題
--貪婪演算法的思路
--測試可行性
--搜尋解答
--讀取輸入
題目三:生活品質
--問題
--排序所有的矩形
--二元搜尋
--測試可行性
--更快速測試可行性
題目四:洞穴門
--問題
--解決子任務
--使用線性搜尋
--使用二元搜尋
總結
筆記
[第7章_堆積與區段樹]
題目一:超市促銷
--問題
--解答一:陣列中的最大值與最小值
--最大堆積
--最小堆積
--解答二:堆積
堆積
--兩個額外的應用
--選擇一個資料結構
題目二:建立樹堆
--問題
--遞迴輸出樹堆
--根據標籤排序
--解答一:遞迴
--區間最大值查詢
--區段樹
--解答二:區段樹
區段樹
題目三:二元素和
--題目
--填寫區段樹
--查詢區段樹
--更新區段樹
--main函數
總結
筆記
[第8章_聯集尋找]
問題一:社群網路
--問題
--用圖來模擬
--解答一:BFS
--聯集尋找
--解答二:聯集尋找
--最佳化一:依大小聯集
--最佳化二:路徑壓縮
聯集尋找
--關聯:三個需求
--選擇聯集尋找
--最佳化
題目二:朋友與敵人
--問題
--擴充:敵人
--main函數
--尋找和聯集
--SetFriends與SetEnemies
--AreFriends與AreEnemies
題目三:抽屜雜務
--問題
--等價抽屜
--main函數
--尋找和聯集
總結
筆記
後記
[附錄A_演算法執行時間]
計時與其他東西之事件簿
大O符號
--線性時間
--常數時間
--另一個例子
--平方時間
--本書中的大O
[附錄B_因為我忍不住]
獨特雪花:隱式鏈結串列
漢堡狂熱:重建解答
騎士追逐:編碼移動
Dijkstra演算法:使用堆積
--老鼠迷宮:用堆積來追蹤
--老鼠迷宮:用堆積來實作
路徑壓縮的壓縮
--步驟一:不使用三元運算子
--步驟二:較簡潔的指派運算子
--步驟三:理解遞迴
[附錄C_題目貢獻者]
