商品簡介
本書是數據結構和算法領域的經典之作,十余年來,暢銷不衰!全書共分為三部分:第一部分首先介紹了數據結構和算法的概念,以及使用它們的原因和意義,然后講解了數據結構和算法中最常用的技術——指針和遞歸,最后還介紹了算法的分析方法,旨在為讀者學習這本書打下堅實的基礎;第二部分對鏈表、棧、隊列、集合、哈希表、堆、圖等常用數據結構進行了深入闡述;第三部分對排序、搜索數值計算、數據壓縮、數據加密、圖算法、幾何算法等經典算法進行了精辟的分析和講解。
本書的眾多特色使得它在同類書中獨樹一幟:具體實現都采用正式的C語言代碼而不是偽代碼,在很多數據結構和算法的實現過程中,有大量細節問題是偽代碼不能解決的;每一章都有精心組織的主題和應用;全部示例來自真實的應用,不只是一般的練習;對每種數據結構、算法和示例都進行了詳細分析;每一章的末尾都會有一系列問題和對應的回答,旨在強調這一章的重要思想……
本書中的代碼尤為值得強調:所有實現都采用C語言編寫,所有代碼都優先用于教學目的,所有代碼都在4種平臺上經過完整測試,頭文件記錄了所有公共的接口,命名規則適用于全書所有的代碼,所有的代碼都包含大量注釋……本書 內容包括:
數據結構和算法的概念,以及使用它們的原因和意義
指針和遞歸
算法分析
常用數據結構:鏈表、棧、隊列、集合、哈希表、樹、堆、優先級隊列以及圖
排序和搜索
數值計算
數據壓縮
數據加密
圖算法
幾何算法
目次
前言 1第1部分 預備知識第1章 概述 9數據結構簡介 10算法簡介 11小酌軟件工程 14如何使用本書 15第2章 指針操作 16指針基礎 17存儲空間分配 18數據集合與指針的算術運算 20作為函數參數的指針 22泛型指針與類型轉換 25函數指針 28問與答 28相關主題 30第3章 遞歸 31基本遞歸 32尾遞歸 35問與答 37相關主題 39第4章 算法分析 40最壞情況分析 41O表示法 41計算的復雜度 43實例分析:插入排序 46問與答 47相關主題 48第2部分 數據結構第5章 鏈表 51單鏈表介紹 52單鏈表接口的定義 53單鏈表的實現與分析 56使用鏈表的例子:頁幀管理 61雙向鏈表介紹 63雙向鏈表接口的定義 64