算法:C語言實現(xiàn)

出版時間:2009-10  出版社:機(jī)械工業(yè)出版社  作者:塞奇威克  頁數(shù):456  譯者:霍紅衛(wèi)  
Tag標(biāo)簽:無  

前言

寫本書的目的是為了對當(dāng)今使用最為重要的計算機(jī)算法做一綜述,并為需要學(xué)習(xí)這方面知識的越來越多的讀者提供基礎(chǔ)的技術(shù)。本書可以在學(xué)生掌握了所需的基本程序設(shè)計技巧,熟悉了計算機(jī)系統(tǒng),但還未學(xué)過計算機(jī)科學(xué)或計算機(jī)應(yīng)用高級領(lǐng)域的專業(yè)課程的時候,用作計算機(jī)科學(xué)的第二。第三或第四門課程的教科書。此外,由于本書包含了大量有用算法的實現(xiàn),以及關(guān)于這些算法的性能特征的詳細(xì)信息,因而它還可用于自學(xué),或者作為從事計算機(jī)系統(tǒng)或應(yīng)用程序開發(fā)人員的參考手冊。寬廣的視角使得本書成為計算機(jī)算法領(lǐng)域最合適的入門讀物。對于新的一版,我不僅完全重寫了它的內(nèi)容,而且還添加了一千多個練習(xí)。一百多幅圖表和數(shù)十個新程序。我還給所有圖表和程序添加了詳細(xì)的注釋。新的素材不僅涵蓋了新的主題,而且還包含對經(jīng)典算法的更完整解釋。抽象數(shù)據(jù)類型是這本書的重點(diǎn),這使得程序應(yīng)用更廣泛,并且與現(xiàn)代面向?qū)ο蟮某绦蛟O(shè)計環(huán)境更緊密。讀過本書舊版本的人一定會發(fā)現(xiàn),新版本包含了更為豐富的新信息,所有讀者將發(fā)現(xiàn)大量的教學(xué)資料為掌握基本概念提供了有效途徑。由于新的素材數(shù)量過多,所以我們把新版本分為兩卷(每一卷的容量都大約為舊版本的大?。緯堑谝痪?。這卷書中包含了基本概念。數(shù)據(jù)結(jié)構(gòu)。排序算法和搜索算法,第二卷涵蓋的高級算法及應(yīng)用是以第一卷的基本抽象概念和方法為基礎(chǔ)的。這個新版中的關(guān)于基本原理和數(shù)據(jù)結(jié)構(gòu)的所有素材幾乎都是新的。這本書不僅適合于程序員和計算機(jī)科學(xué)專業(yè)的學(xué)生,而且也適合于想利用計算機(jī)并想使它運(yùn)行更快或是想要解決更大問題的人們。這本書中的算法代表了過去50年來所研究的知識主體。對于大量應(yīng)用問題,這些知識主體已經(jīng)成為有效使用計算機(jī)的不可缺少的部分。從物理學(xué)中的N-體模擬問題到分子生物學(xué)中的序列分析問題,在此所描述的基本方法在科學(xué)研究中已日顯重要。另外,對于從數(shù)據(jù)庫系統(tǒng)到Internet搜索引擎,這些方法已經(jīng)成為現(xiàn)代軟件系統(tǒng)的重要組成部分。隨著計算機(jī)應(yīng)用的覆蓋面越來越廣,基本算法的影響也日益顯著。本書的目標(biāo)是要提供一種資源,使廣大學(xué)生以及專業(yè)人士可以了解并有效利用這些算法解決計算機(jī)應(yīng)用中出現(xiàn)的問題。

內(nèi)容概要

本書細(xì)膩講解計算機(jī)算法的C語言實現(xiàn)。全書分為四部分,共16章。包括基本算法分析原理,基本數(shù)據(jù)結(jié)構(gòu)、抽象數(shù)據(jù)結(jié)構(gòu)、遞歸和樹等數(shù)據(jù)結(jié)構(gòu)知識,選擇排序、插入排序、冒泡排序、希爾排序、快速排序方法、歸并和歸并排序方法、優(yōu)先隊列與堆排序方法、基數(shù)排序方法以及特殊用途的排序方法,并比較了各種排序方法的性能特征,在進(jìn)一步講解符號表、樹等抽象數(shù)據(jù)類型的基礎(chǔ)上,重點(diǎn)討論散列方法、基數(shù)搜索以及外部搜索方法。書中提供了用C語言描述的完整算法源程序,并且配有豐富的插圖和練習(xí),還包含大量簡潔的實現(xiàn)將理論和實踐成功地相結(jié)合,這些實現(xiàn)均可用在真實應(yīng)用上。
本書內(nèi)容豐富,具有很強(qiáng)的實用價值,適合作為高等院校計算機(jī)及相關(guān)專業(yè)本科生算法課程的教材,也是廣大研究人員的極佳參考讀物。

作者簡介

塞奇威克(Robert Sedgewick),擁有斯坦福大學(xué)博士學(xué)位(導(dǎo)師為donald
E.Knuth),普林斯頓大學(xué)計算機(jī)科學(xué)系教授,Adobe Systems公司董事,曾是Xerox
PARC的研究人員,還曾就職于美國國防防御分析研究所以及INRIA。除本書外,他還與Philippe
Flajolet合著了《算法分析導(dǎo)論》

書籍目錄

出版者的話
譯者序
前言
第一部分 基礎(chǔ)知識
 第1章 引言
  1.1 算法
  1.2 典型問題——連通性
  1.3 合并一查找算法
  1.4 展望
  1.5 主題概述
 第2章 算法分析的原理
  2.1 實現(xiàn)和經(jīng)驗分析
  2.2 算法分析
  2.3 函數(shù)的增長
  2.4 大O符號
  2.5 基本遞歸方程
  2.6 算法分析示例
  2.7 保證、預(yù)測及局限性
第二部分 數(shù)據(jù)結(jié)構(gòu)
 第3章 基本數(shù)據(jù)結(jié)構(gòu)
  3.1 構(gòu)建組件
  3.2 數(shù)組
  3.3 鏈表
  3.4 鏈表的基本處理操作
  3.5 鏈表的內(nèi)存分配
  3.6 字符串
  3.7 復(fù)合數(shù)據(jù)結(jié)構(gòu)
 第4章 抽象數(shù)據(jù)類型
  4.1 抽象對象和對象集
  4.2 下推棧ADT
  4.3 棧ADT客戶示例
  4.4 棧ADT的實現(xiàn)
  4.5 創(chuàng)建一個新ADT
  4.6 FIFO隊列和廣義隊列
  4.7 復(fù)制和索引項
  4.8 一級ADT
  4.9 基于應(yīng)用的ADT示例
  4.10 展望
 第5章 遞歸與樹
  5.1 遞歸算法
  5.2 分治法
  5.3 動態(tài)規(guī)劃
  5.4 樹
  5.5 樹的數(shù)學(xué)性質(zhì)
  5.6 樹的遍歷
  5.7 遞歸二叉樹算法
  5.8 圖的遍歷
  5.9 綜述
第三部分 排序
 第6章 基本排序方法
  6.1 游戲規(guī)則
  6.2 選擇排序
  6.3 插入排序
  6.4 冒泡排序
  6.5 基本排序方法的性能特征
  6.6 希爾排序
  6.7 對其他類型的數(shù)據(jù)進(jìn)行排序
  6.8 索引和指針排序
  6.9 鏈表排序
  6.10 關(guān)鍵字索引統(tǒng)計
 第7章 快速排序
  7.1 基本算法
  7.2 快速排序算法的性能特征
  7.3 棧大小
  7.4 小的子文件
  7.5 三者取中劃分
  7.6 重復(fù)關(guān)鍵字
  7.7 字符串和向量
  ……
 第8章 歸并與歸并排序
 第9章 優(yōu)先隊列和堆排序
 第10章 基數(shù)排序
 第11章 特殊用途的排序方法
第四部分 搜索
 第12章 符號表和二叉搜索樹
 第13章 平衡樹
 第14章 散列
 第15章 基數(shù)搜索
 第16章 外部搜索

章節(jié)摘錄

插圖:還有一個例子出現(xiàn)在某種程序設(shè)計環(huán)境中,連通性可用來斷言兩個變量名是否等價。問題是在經(jīng)過這樣的斷言序列之后,能夠確定兩個給定的名字是否等價。這個應(yīng)用激發(fā)了我們打算考慮的幾個算法的研制。它直接將我們的問題與一種簡單抽象關(guān)聯(lián)起來,為使算法具有廣泛應(yīng)用而提供了一種方法。我們即將看到這一點(diǎn)。像上一段描述的變量名等價問題這樣的應(yīng)用程序要求我們把每個不同的變量名與一個整數(shù)關(guān)聯(lián)起來。這種關(guān)聯(lián)關(guān)系也隱含在前面描述的網(wǎng)絡(luò)連接和電路連接的應(yīng)用中。在第10章至第16章,我們將會以一種更高效的方法考慮提供這種連接關(guān)系的大量算法。因此,不失一般性,本章假設(shè)有N個對象,每個都與0一N一1之間的一個整數(shù)名對應(yīng)。我們正在尋求完成特定和良定義任務(wù)的程序,可能還想要解決其他許多相關(guān)的問題。在研制算法時我們面對的首要任務(wù)之一是確信我們已經(jīng)以合理的方式指定了問題。我們要求算法的越多,它完成任務(wù)所需要的時間和空間越多。不可能量化這個關(guān)系,并且我們在發(fā)現(xiàn)一個問題難以求解或是求解代價昂貴,或是在好的情況下,發(fā)現(xiàn)算法可以比原始說明提供更多有用的信息時,我們常常修改這個問題的說明。例如,我們的連通問題的說明只要求我們的程序知道任意給定對p—q是否是連通的,并不能夠表明連接那個對的任何方式。添加這樣一個說明的要求會使問題更加困難,會涉及其他的算法,我們將在第5章簡略討論,并在第7章詳細(xì)討論。前面這段提到的說明要比原始說明要求更多的信息,我們也可以要求更少的信息。例如,我們可能只想回答這樣的問題:“M個連接足以把Ⅳ個對象都連接起來嗎?”這個問題表明,要研制一個高效的算法,常常需要我們對正在處理的抽象對象進(jìn)行高級推理。在這種情況下,由圖論基本結(jié)果可以得出所有Ⅳ個對象是連通的,當(dāng)且僅當(dāng)連通算法輸出的對的個數(shù)恰好為N一1(見5.4節(jié))。換句話說,連通算法永遠(yuǎn)不會輸出多于N一1個對,這是因為一旦它輸出N一1個對,則它從那個時刻遇見的任何對將會是連通的。因此,我們可以修改求解連通問題的程序,增加一個計數(shù)器就可以得到一個回答yes-no問題的程序,而不輸出那些前面不連通的每個對,當(dāng)計數(shù)器的值為N-1時,程序回答“yes”,否則回答“no”。這個問題只是我們希望回答關(guān)于連通性的許多問題中的一個例子。輸入對的集合稱為圖(graph),輸出對的集合稱為圖的生成樹,它連接了所有對象。我們在第七部分考察圖、生成樹以及所有相關(guān)算法的性質(zhì)。

媒體關(guān)注與評論

對于在數(shù)學(xué)分析方面不算熟練且需要留意理論算法的普通程序員來說,本書是一本可讀性很強(qiáng)的優(yōu)秀讀本。他們應(yīng)該會從中獲益良多?!  猄teve Summit,《C Programming FAQs》的作者Sedgewick有一種真正的天賦,可以用易于理解的方式來解釋概念。書中采用了一些易懂的實戰(zhàn)程序,其篇幅僅有一頁左右,這更是錦上添花。而書中大量采用的圖、程序、表格也會極大幫助讀者的學(xué)習(xí)和理解,這使本書更顯得與眾不同?!  猈illiam A. Ward,南亞拉巴馬大學(xué)

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    算法:C語言實現(xiàn) PDF格式下載


用戶評論 (總計113條)

 
 

  •   計算機(jī)最核心的就是算法,數(shù)據(jù)結(jié)構(gòu)
  •   算法實現(xiàn)的經(jīng)典書籍。要是能把這一本書和另外一本圖論結(jié)合到一起的書就好了。內(nèi)容和算法導(dǎo)論比比較簡單,容易懂。和程序設(shè)計藝術(shù)比就更簡單了。推薦算法入門者讀,多多練習(xí)才是王道嘛。
  •   首先送書很快,讓我異常驚訝,書的內(nèi)容很棒,一般在學(xué)習(xí)算法方面的內(nèi)容的圖書的時候都會被大量的數(shù)學(xué)分析而嚇跑,而這本書不會,作者以其獨(dú)到的筆鋒帶你進(jìn)入另一個算法的世界
  •   想要研究一下算法的C語言實現(xiàn),所以就買了這邊書。
  •   本書是一本非常專業(yè)的書籍。難度有點(diǎn)大。但是認(rèn)真研究完后確實能夠提高你的數(shù)據(jù)結(jié)構(gòu)的運(yùn)用能力。這本書要慢慢地品味,切不可馬虎。但是本書的價格確實貴了一點(diǎn)。而且還將圖的部分分到另一本書上面,明顯是為了賺錢,因為本書根本不厚。經(jīng)典書籍有很多,但是知識也是有價的啊。
  •   算法:C語言實現(xiàn)
  •   個人比較笨一點(diǎn),對偽代碼實現(xiàn)的算法,有些看不懂,所以就買了這本書,沒想到這本書講的如此詳細(xì),讓我受寵若驚
  •   很優(yōu)秀的書,看過前三章,感覺它可以超越我看過的任何算法書籍
  •   很經(jīng)典的算法解析類的書,是程序員必備
  •   這本書很經(jīng)典,將各種算法通過具體的事例來進(jìn)行講解,加快了學(xué)習(xí)的速度
  •   對算法很有幫助,尤其是學(xué)習(xí)C語言的同學(xué)
  •   感覺沒有算法導(dǎo)論這本書寫的好,但是有興趣的買來看看吧
  •   翻譯得還不錯,關(guān)于數(shù)據(jù)結(jié)構(gòu)很不錯的書,要繼續(xù)讀下去
  •   算法經(jīng)典書,值得一看
  •   一本值得收藏的算法書。
  •   很經(jīng)典的算法教材哦
  •   比起嚴(yán)蔚敏所謂的數(shù)據(jù)結(jié)構(gòu)至少算是好書了
  •   最近在學(xué)習(xí)算法,這么一本書很值得學(xué)習(xí)。
  •   不錯,看過電子書覺得不錯才買的,算法中不錯的書吧
  •   大致上用C語言描述偽代碼,值得仔細(xì)地研究
  •   我是配套買的,雖然計算機(jī)二級過了,但是嘛,學(xué)的畢竟是皮毛,所以想認(rèn)真鉆研一下,書確實不錯,不愧為經(jīng)典之作?。?!
  •   學(xué)長推薦的書,代碼部分非常經(jīng)典,值得一讀!
  •   看書必看經(jīng)典,這名話還是很有價值的。在歷史的磨練下,很多書只是一時紅火,而真正的經(jīng)典留了下來。這本書就是其中之一,感慨的是,國內(nèi)許多所謂大作占用發(fā)展基金,到頭來很多卻是濫竽充數(shù)的貨色。我認(rèn)為只有用心之作才能得到讀者的真正歡迎。
  •   實現(xiàn)很好,對自己幫助很大,實用
  •   純C的代碼,不像清華版的都是vc,上機(jī)直接運(yùn)行
  •   C語言寫的很好
  •   很經(jīng)典的書 適合初學(xué)者,只是有些貴了
  •   這本書的包裝碉堡了,書的外面還有一層膜。
  •   書看起來不錯,不適合初學(xué)者
  •   書挺不錯,挺經(jīng)典,不過沒太怎么看,送人了
  •   書還沒看,內(nèi)容不評論。書質(zhì)量很好,包裝也很認(rèn)真,印刷很清晰,很滿意。贊一個當(dāng)當(dāng)?shù)目爝f員,服務(wù)態(tài)度真的沒話說。
  •   書很好,內(nèi)容需要自己仔細(xì)的推敲
  •   不用懷疑很好的書
  •   挺有用的書 工具必備
  •   國外的書,很不錯。
  •   書的質(zhì)量很好,對自己很有幫助
  •   回過頭再重新掌握基礎(chǔ)的東西,才能有提高
  •   寫得很好,不過有些難。初學(xué)編程者不太適合學(xué)習(xí)。
  •   東西是正品的。內(nèi)容不好說,是外國人寫的東西,不像中國人寫的好理解,主要是讓人去思考。
  •   我才剛看這本書,內(nèi)容有待以后再說,印刷很清楚,不足是紙薄了點(diǎn)
  •   這本書是我轉(zhuǎn)戰(zhàn)互聯(lián)網(wǎng)的智囊
  •   本書確實很好!但是有些細(xì)節(jié)翻譯的不夠完美
  •   圖文并茂 物超所值 值得仔細(xì)研究
  •   非常不錯,非常適合初學(xué)者學(xué)習(xí)
  •   有點(diǎn)深奧,但經(jīng)典來的
  •   先去圖書館借了看,感覺不錯,買了一本,就可以在上面做筆記了!
  •   書不錯,值得一看,我是拿來收藏的
  •   收貨很快,目視不錯哦,希望收獲可以很多
  •   同事說不錯哦
  •   買到的書籍都是新的,沒有損壞,發(fā)貨速度也非???,非常滿意
  •   包裝挺好的,還沒看,應(yīng)該不錯
  •   同事要求買的,看起來挺好的
  •   不多說了,給好評
  •   好書 值得研究
  •   買來自己查閱的
  •   做工挺好, 字體清晰。
  •   不過還是謝謝了
  •   一直收藏著等下冊一起買呢,口碑好
  •   女兒說現(xiàn)在還用不上,要到下學(xué)期。
  •   買了幾次,質(zhì)量都很好,人品看來不錯哈
  •   唉,寫什么呢好書唄
  •   值得一看,讓我受益匪淺。









  •   是一本好工具書。
  •   該書應(yīng)該還算是不錯啊
  •   不錯,就是課后習(xí)題如果有答案對照一下 就更完美了
  •   希望大家都多關(guān)注
  •   還不錯,看了一段時間
  •   對初學(xué)者有點(diǎn)難,不過確實是好書哦
  •   挺好的,給同事買的,看起來挺不錯的。
  •   因為對算法和數(shù)據(jù)結(jié)構(gòu)了解不是很好,這本書比較基礎(chǔ),所以感覺不錯的……
  •   這本書把算法原理講解的很透徹,有些人喜歡TAOCP,個人認(rèn)為TAOCP太過理論,如果要是偏重使用性還是這本書好些,讀過這本再去讀TAOCP就沒有那么艱澀的感覺了
  •   有點(diǎn)貴,但是本書總體編寫還是非常不錯的。可以當(dāng)作算法設(shè)計的入門經(jīng)典
  •   經(jīng)典算法理論,送貨速度也挺快,紙的質(zhì)量有待提高
  •   這個是給有經(jīng)驗的c語言開發(fā)者看的,我發(fā)現(xiàn)我看起來很吃力,新手初學(xué)者應(yīng)該不要買。里面的內(nèi)容真的很好,很緊湊,就算看不透徹也覺得值了,值得收藏。
  •   還在初級階段,一點(diǎn)一點(diǎn)的看。書的內(nèi)容十分經(jīng)典。
  •   書沒得說,就是有點(diǎn)貴,本來以為特別厚呢,誰知道才400多頁。
  •   書很好,是正版 ,就是紙張有點(diǎn)薄
  •   書還行,大概翻了下,文字過多,代碼過少。
  •   看過 不錯 值得擁有
  •   好書啊。。值得研究
  •   邏輯思想表述不錯!
  •   和K的經(jīng)典相比,可以作為速查
  •   內(nèi)容很好,毋庸置疑,翻譯確實不咋地,要發(fā)揮想象力
  •   剛寄過來時有點(diǎn)破損,別的都好。找了很久,就是沒找到英文版的,早就聽說翻譯不是很好,看的時候確實有困惑的地方。但是,又一想,譯者的水平總比我高。
  •   書本身的質(zhì)量不錯,送貨速度也快,如果時間充裕的話還是建議讀英文版的吧,翻譯的確不敢恭維,總感覺別扭
  •   就是翻譯得有點(diǎn)難懂
  •   好書,需要靜下心來看
  •   還可以 還在看
  •   算法方面的參考書,沒看呢還
  •   原書應(yīng)該不錯,霍紅衛(wèi)翻譯太差了
    買了高教出的計算精髓(第3版)也是被他給糟蹋了!
  •   本來書是看內(nèi)容。但是當(dāng)我把袋子打開后,發(fā)現(xiàn)書的封面有很多折痕。感覺這本書好像被損壞過。
  •   經(jīng)典書,好好學(xué)習(xí)中!
  •   這是一本非常棒的書,因為我看過算法導(dǎo)論了,所以看這本書感受特深,更加貼近實際,很多工程化的考慮。但是,這本書翻譯極其爛,我不是聳人聽聞,我曾經(jīng)花了不到三天讀完head first那本七百多頁的設(shè)計模式,但是這本書我花了三天才剛讀完前三章!歧義非常多,錯字、落字,你一句話說不明白,你分幾句話講也行啊,各種復(fù)合結(jié)構(gòu)的句式,非常復(fù)雜,斷句麻煩的比讀原版還累?。「灰崮切┓g錯誤了??!翻譯的極其爛,比我上兩天吐槽的那本python基礎(chǔ)教程翻譯的還要爛!而且又爛的升了級!?。?qiáng)烈大家讀原版書,相信我,讀原版也比讀這個人翻譯的容易!
  •   都是一些很好的基礎(chǔ)書籍,有很都實用性很強(qiáng)的例子,是一本入門的好書。
  •   書的內(nèi)容還是不錯的...但是有些地方翻譯的很突兀,翻譯不給力;代碼也存在部分錯誤;不過耐心看下去還是很有收獲的.....
  •   書來了,大概翻了一下,翻譯確實有點(diǎn)問題,不過內(nèi)容還是不錯的。but?。。?!書的特點(diǎn)說有一千多道的練習(xí)題,但是沒有答案。連參考答案都沒有,翻遍了百度和google都沒有,我有種蛋蛋的憂傷。
  •   個人懷疑該書是分段承包翻譯的,有的章節(jié)好,有的章節(jié)爛
  •   就是翻譯的不太好,其他的都很好。
  •   這次的書,頭天晚上定的,第二天中午就到。書的印刷質(zhì)量很好,內(nèi)容也很經(jīng)典,正在看。
  •   學(xué)習(xí)c語言算法,必讀之作
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7