本書對近年來程序設計教育和競賽培訓活動中涌現(xiàn)的許多實用的數(shù)據結構設計方法進行了全面總結,通過深入的分析和生動的實例引導讀者尋找問題中各對象之間的關系,確定數(shù)學模型所使用的邏輯結構;實現(xiàn)對各個對象的操作,即確定數(shù)據所采用的存儲結構;將數(shù)據類型與定義在該類型上的運算融于一體,為面向對象的程序設計方法奠定基礎。 本書既是大學計算機專業(yè)數(shù)據結構課程和算法設計課程的優(yōu)秀參考書,也是大中學生程序設計競賽不可多得的培訓教材。本書特色按照數(shù)據結構的知識體系,全書分為“線性表”、“樹型問題”和“圖型問題”三篇,介紹了幾十種存儲方式和相應的算法。 介紹了許多實用的數(shù)據結構設計方法,同時引導讀者盡可能采用“揚長避短”的選擇原則和“取長補短”的結合方法,選擇有利于提升算法效率的數(shù)據結構。 對每個比較難懂的概念都舉實例加以說明,對每個比較抽象的定理都有具體的應用例證幫助理解,對每個經典算法都有清晰的程序流程給予示范。此外,還大量運用圖表,使得概念、定理和算法的由來變得具體、形象和直觀。 書中采用了一種結構清晰、移植性強且貼近自然語言表述的類程序設計語言。只要讀者具備Pascal和C等任一種語言的基礎,就可以比較輕松地讀懂其語義。