本書編者倡導“自主編程”,以問題解決為主線,致力于提升讀者的計算思維與編程技能,引導讀者科學地學習算法。全書共分為四章:第一章重點闡述數(shù)據(jù)抽象的方法及如何選擇合適的數(shù)據(jù)結構,并介紹線性數(shù)據(jù)結構的基本應用;第二章通過生動的例子,詳述了模擬、解析和貪心這三種策略,展示了如何結合嚴密的算法邏輯與實際操作經驗來解決問題;第三章則以深入淺出的方式,講解了“大化小”的思維方式,介紹了如何利用遞推、分治和動態(tài)規(guī)劃等算法來簡化和解決復雜問題;第四章全面剖析了好算法的標準,并詳細介紹了優(yōu)化算法時間復雜度和空間復雜度的常用技巧。 本書可以作為數(shù)據(jù)結構和算法入門的培訓教材,也可以作為準備參加全國信息學奧林匹克競賽的學生賽前集訓用書,還可以作為有一定編程語言基礎的算法愛好者的參考書籍。