數據結構與算法分析

出版時間:2004-1-1  出版社:機械工業(yè)出版社  作者:Mark Allen Weiss (維斯)  頁數:391  譯者:馮舜璽  
Tag標簽:無  

內容概要

書中詳細介紹了當前流行的論題和新的變化,討論了算法設計技巧,并在研究算法的性能、效率以及對運行時間分析的基礎上考查了一些高級數據結構,從歷史的角度和近年的進展對數據結構的活躍領域進行了簡要的概括。由于本書選材新穎,方法實用,題例豐富,取舍得當。本書的目的是培養(yǎng)學生良好的程序設計技巧和熟練的算法分析能力,使得他們能夠開發(fā)出高效率的程序。從服務于實踐又鍛煉學生實際能力出發(fā),書中提供了大部算法的C程序和偽碼例程,但并不是全部。一些程序可從互聯(lián)網上獲得。
  本書是《Data Structures and Algorithm Analysis in
C》一書第2版的簡體中譯本。原書曾被評為20世紀頂尖的30部計算機著作之一,作者Mark Allen
Weiss在數據結構和算法分析方面卓有建樹,他的數據結構和算法分析的著作尤其暢銷,并受到廣泛好評.已被世界500余所大學用作教材。
  在本書中,作者更加精煉并強化了他對算法和數據結構方面創(chuàng)新的處理方法。通過C程序的實現,著重闡述了抽象數據類型的概念,并對算法的效率、性能和運行時間進行了分析。
  全書特點如下:
  ●專用一章來討論算法設計技巧,包括貪婪算法、分治算法、動態(tài)規(guī)劃、隨機化算法以及回溯算法
  ●介紹了當前流行的論題和新的數據結構,如斐波那契堆、斜堆、二項隊列、跳躍表和伸展樹
  ●安排一章專門討論攤還分析,考查書中介紹的一些高級數據結構
  ●新開辟一章討論高級數據結構以及它們的實現,其中包括紅黑樹、自頂向下伸展樹。treap樹、k-d樹、配對堆以及其他相關內容
  ●合并了堆排序平均情況分析的一些新結果
  本書是國外數據結構與算法分析方面的標準教材,介紹了數據結構(大量數據的組織方法)以及算法分析(算法運行時間的估算)。本書的編寫目標是同時講授好的程序設計和算法分析技巧,使讀者可以開發(fā)出具有最高效率的程序。本書可作為高級數據結構課程或研究生一年級算法分析課程的教材,使用本書需具有一些中級程序設計知識,還需要離散數學的一些背景知識。

作者簡介

Mark Allen
Weiss是佛羅里達國際大學計算機學院教授,普林斯頓大學計算機科學博士。除本書外,他編寫的關于數據結構與算法方面的知名教材還有:Data
Structures and Algorithm Analysis:in Java, Data Structures and
Algonthm Analysis:in C++以及Data Structures and Pro

書籍目錄

出版者的話
專家指導委員會
譯者序
前言
第1章 引論
第2章 算法分析
第3章 表、棧和隊列
第4章 樹
第5章 散列
第6章 優(yōu)先隊列(堆)
第7章 排序
第8章 不相交集ADT
第9章 圖論算法
第10章 算法設計技巧
第11章 攤還分析
第12章 高級數據結構及其實現
索引

編輯推薦

《數據結構與算法分析:C語言描述(原書第2版)》討論數據結構和算法分析。數據結構主要研究組織大量數據的方法,而算法分析則是對算法運行時間的評估。隨著計算機的速度越來越快,對于能夠處理大量輸入數據的程序的需求變得日益急切。可是,由于在輸入量很大的時候,程序的低效率現象變得非常明顯,因此這又要求對效率問題給予更仔細的關注。通過在實際編程之前對算法的分析,學生可以決定一個特定的解法是否可行。例如,學生在《數據結構與算法分析:C語言描述(原書第2版)》中將讀到一些特定的問題并看到精心的實現方法是如何把對大量數據的時間限制從16年減至不到1秒的。因此,若無運行時間的闡釋,就不會有算法和數據結構的提出?!稊祿Y構與算法分析:C語言描述(原書第2版)》是國外數據結構與算法分析方在的標準教材,介紹了數據結構(大量數據的組織方法)以及算法分析(算法運行時間的估算)?!稊祿Y構與算法分析:C語言描述(原書第2版)》的編寫目標是同時廛授好的程序設計和算法分析技巧,使讀者可以開發(fā)出具有最高效率的程序?!稊祿Y構與算法分析:C語言描述(原書第2版)》可作為高級數據結構課程或研究生一年級算法分析課程的教材,使用《數據結構與算法分析:C語言描述(原書第2版)》需具有一些中級程序設計知識,還需要離散數學的一些背景知識。隨著速度的不斷提高和存儲容量的持續(xù)增長,計算機的功能日益強大,從而處理數據和解決問題的規(guī)模和復雜程度與日俱增。這不僅帶來了需要認真研究的新課題,而且突出了原有數據結構和算法效率低下的缺點。程序的效率問題不是由于計算機功能的強大而受到冷落,相反地,倒是被人們提到前所未有的重視程度,因為大型問題的解決所涉及到的大容量存儲和高速度運算容不得我們對效率有絲毫的忽視。《數據結構與算法分析:C語言描述(原書第2版)》正是在闡述數據結構基本概念的同時深入地分析了算法的效率。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    數據結構與算法分析 PDF格式下載


用戶評論 (總計169條)

 
 

  •   之所以選這本書,還因為它的簡體中文版翻譯得相當不錯,幾乎沒有給我的閱讀帶來什么障礙這本教科書所使用的是C語言,也許很多人會說C語言已經過時了,但是,我認為在數據結構的學習中,應該用盡量簡單的語言,以免進入了語言的細枝末節(jié)中,反而沖淡了主題。實際上在國外的許多大學中(甚至中學),數據結構和算法分析的課程是選用Scheme的,例如MIT麻省理工大學極其著名的SICP課程。書中詳細介紹了當前流行的論題和新的變化,討論了算法設計技巧,并在研究算法的性能、效率以及對運行時間分析的基礎上考查了一些高級數據結構,從歷史的角度和近年的進展對數據結構的活躍領域進行了簡要的概括。由于本書選材新穎,方法實用,題例豐富,取舍得當。本書的目的是培養(yǎng)學生良好的程序設計技巧和熟練的算法分析能力,使得他們能夠開發(fā)出高效率的程序。從服務于實踐又鍛煉學生實際能力出發(fā),書中提供了大部算法的C程序和偽碼例程,但并不是全部。一些程序可從互聯(lián)網上獲得。
  •   之所以選這本書,還因為它的簡體中文版翻譯得相當不錯,幾乎沒有給我的閱讀帶來什么障礙 這本教科書所使用的是C語言,也許很多人會說C語言已經過時了,但是,我認為在數據結構的學習中,應該用盡量簡單的語言,以免進入了語言的細枝末節(jié)中,反而沖淡了主題。實際上在國外的許多大學中(甚至中學),數據結構和算法分析的課程是選用Scheme的,例如MIT麻省理工大學極其著名的SICP課程。 書中詳細介紹了當前流行的論題和新的變化,討論了算法設計技巧,并在研究算法的性能、效率以及對運行時間分析的基礎上考查了一些高級數據結構,從歷史的角度和近年的進展對數據結構的活躍領域進行了簡要的概括。
  •   這本書可以算是物美價廉了,至少我這樣認為。
    最近讀了這本書,讀到AVL樹,在這個過程中,我最大的感悟就是:數據結構其實不能夠單獨地羅列出來講,只有將數據結構和算法完美地融匯在一起,才能體現出二者的價值。
    數據結構重在它的選擇,因為在實際應用中,數據結構的選擇是重要的,選擇的好壞可能會影響到應用程序的性能;而算法則注重在你所選擇的數據結構上進行的設計,那么算法分析的價值也就體現出來了——性能,性能該如何評價,當然是算法執(zhí)行的效率。
    本書開篇給出了這樣的求子序列和的例子,采用漸進的設計思想不斷優(yōu)化算法,分析算法執(zhí)行效率,感覺這個例子出現的位置及其所呈現的思想相當不錯。同時,也讓我們看到,如果一個算法的優(yōu)化沒有達到理論上的極限,它總能在你經過一定分析設計的基礎上,使算法性能大幅度提升。
    對于如何消化掉這本書,我初步給出一個建議:
    讀上本書三遍,能堅持下來,你的收獲會很大:
    第一遍,通讀本書,不要丟掉任何細節(jié),這一遍下來至少不能對書中涉及到的內容存在疑問(如果適當結合課后的習題還是不錯的,不過習題不是第一遍的重點);
    第二遍,照樣通讀本書,重點在于解決課后習題,我發(fā)現本書的課后習題絕對能讓你學會思考并解決問題,提高你的問題解決能力與算法設計能力;
    第三遍,復習鞏固,注重你的算法設計能力,不能給你一個問題,你去設計十天半個月,訓練你的思維力與敏捷力。
  •   數據結構與算法分析:C語言描述,經典教材,程序猿的選擇。
  •   數據結構與算法分析:C語言描述(原書第2版)
    只是書背面的封面給蹭破了,明顯這是知道的,這樣都發(fā)貨過來!!誒,當當。。
  •   這本書從是站在很高的角度,張口閉口就是“計算機科學”,其實設計那些一般的小程序根本不用考慮那么多運行時間上的問題,初學者只要代碼能通不把電腦搞爆就可以了,用不著分析代碼還和寫代碼的時間一樣長,何況這書是在國外九七年出的,當時電腦還很落后,他里面說一個要消耗1GB內存的算法是毫無用處的,實際上現在電腦幾GB的內存比比皆是。當然如果你要應付極大的數據量和計算量可能就不得不考慮這些問題了。

    不過算法本身就是思路的問題,這本書本身的目的就是告訴你怎么實現的思路,而不是給你現成的可以調用的代碼來套用,如果偽代碼翻譯成了問題只能說明你基礎不夠扎實,前言說了讀者要有一定的程序設計基礎的。
  •   作為數據結構與算法分析方面的經典著作,這本書相當的薄,但是內容卻異常豐富,有能力的最好把所有源代碼全部敲打一遍,那樣子提高的速度是驚人的
  •   本書號稱數據結構經典教材但理論性較強 書中代碼很少 算法很多 不適合初學者
    建議編程能力較強的朋友購買 或是計算機專業(yè)研究生使用
    初學者還是看嚴蔚敏的書比較好
  •   嘛,我想想看這本書的人都是很有耐心的人吧。書講的淺顯易懂,但是個人認為,書中的C代碼注釋稍稍少了一點。不過沒關系,因為都不長,認真看,很快就看懂了。準確地說,這本書其實主要還是在講數據結構,算法分析只是輕輕的涉及了一點。大家去看《算法分析》就知道算法分析的恐怖了……
  •   里面詳細描述了數據結構以及一些基本的算法分析,非常值得一看
  •   挺好的,買的教材。數據結構與算法分析:C語言描述
  •   這本書主要側重講解各種算法,在數據結構方面和離散數學近似相同。但是書中給出的C語言代碼片段太多了!有時候要自己想辦法把代碼連起來才能編譯
  •   程序=數據結構+算法。很重要。
  •   不錯的一本書,基于c語言的數據結構和算法書不多了,而自己用的課本又很糟糕,所以買這本書,里面的一些例子很好~~
  •   學好數據結構與算法分析,對編程水平的提升有很大的幫助
  •   初步認識了數據結構與算法分析的概念!
  •   數據結構和算法本來就是一體的,這本書很好的做到了這一點,而且在數學論證和代碼實現兩方面都做得很好。
  •   這次一共購買了四本關于《數據結構與算法》方面的書,這本是我閱讀次序排在第二位。當年也是以C語言描述來學習數據結構的,對之前的記憶雖然有些模糊了,就是因為模糊,所以再次閱讀此類書籍來加深回憶。
  •   很多的中國的大學的數據結構或者算法方面的教材或者參考書里面的講解的東西,很多都是仿照這本書的,可見本書的權威性和影響力!
  •   拿到書,大略翻了一下,講得很細,算法很多,代碼較少,不適合作為數據結構的第一本書??戳藝牢得舻脑賮韺W它,更有收獲,理解上也更容易些??偟囊痪湓挘浀渚褪墙浀?,不能不讀!
  •   一個開電動三路車的老大爺,載著他的老妻和我的C語言數據結構算法,在路邊向我招手,在這之前,我已經拒絕了他第一次過來時收獲的請求,因為我當時不在那。書很好,人也很好。謝謝,這是在淘寶不能感受到的。
  •   之前都是電子版本,一直想買數據結構、算法這方面的書, 終于買了這一本, 正在看中。外國人寫的書,就是比國人的嚴謹!
  •   數據結構和算法方面挺不錯的一本值得參考的教材了。
  •   我決定從此書開始數據結構和算法~希望能成功!
  •   講的有點深,不建議初學者看,等你數據結構入了門,看這本書和《算法導論》是個不錯的選擇!
  •   講算法比較細致,只是需要一定的數據結構基礎
  •   想深入學習數據結構與算法,對信息學奧賽有幫助
  •   數據結構和算法經典之作。
  •   物美價廉,比國內的數據結構、算法書寫的好。
  •   學習數據結構和算法的不二選擇,必讀~
  •   對于學習數據結構和算法是很不錯的~
  •   個人感覺比國內的數據結構、算法書寫的好,講的透徹
  •   非常喜歡,結合算法和數據結構寫的很棒!
  •   用來復習算法與數據結構
  •   這門課程能夠決定一個人程序設計水平的高低,是一門核心課程。很多人喜歡買C++版的,但我覺得沒有必要。C++的語法讓算法實現過程變得復雜多了,而且許多老師喜歡用模塊這一東西讓算法變得更復雜。倒是在學完了C版的書以后再來瀏覽一下 C++的版的書是最好的。
  •   買這本書是因為在寫一個五子棋博弈程序時需要用到alpha-beta算法,網上講的不清楚。
    買回來后立即解決。
    書很好,不過翻譯的人計算機水平可能有點差,“內存系統(tǒng)”被翻譯成“簿記系統(tǒng)”……,無語
    還好不影響理解
  •   開篇第一章引論的第一節(jié)提出一個問題:
      
      “設有一組N個數而要確定其中第K個最大者”
      
      并給出兩種解法
      
       全排序后返回K位置上的元素。平均復雜度O(NLogN)
      
       再建立一個臨時數組,從N中讀取K個數,全排序,然后依次讀入其余N - K個數進來和第K名比較,大于K的值則插入到合適位置,只待循環(huán)完畢返回K位置元素。平均復雜度O(KLogK + (N - K))
      
      這兩種方法在N=100萬,K=50萬時速度都尤其“漫長“,往往讓人抓耳撓腮,作者講敘到還有一種算法1秒鐘就可以得出答案。該算法原理和快速排序一致,但只有一個方向的遞歸。平均復雜度O(N)。
      
      先選取一個中值元素(該中值是否合理將影響到算法效率),然后將大于等于該數的元素放到其左側,小于該數的放到右側,如7 4 6 8 0 -1 選取6作為中值元素,則結果應該為4 0 -1 6 8 7,接下來比較K值和現在的中值元素6所在索引(3),如何小于3,則只需在索引0~2間再進行遞歸操作繼續(xù)選取第K名,大于3則在4~5中遞歸選取第K - 3名即可。還有一關鍵是該為遞歸中的數組長度選取一臨界點,小于該臨界則進行選擇排序,插入排序即可,比如20以內。
      
      算法真是精妙,趕緊學習。
  •   這本書很好的講解了C和算法分析。值得閱讀
  •   和離散數學一起買的,現在在研讀離散數學,回過頭來再重溫一下算法,這本書不算厚但內容不少,經典的書就需要細細的品
  •   比較經典的算法書。
    不過和很多計算機類的書一樣,由于篇幅有限,有些內容不能完全覆蓋。
    但至少覆蓋到的內容是非常值得一看的。
  •   就是 內容偏向分析算法了,我本來是想學算法基礎的。
  •   本書介紹的算法很實用。是一本不錯的書
  •   書中包涵各類數據結構,基礎的到高級的都有所介紹,其中沒有國內同類書籍中介紹的“字符串”。
  •   兩本書都很好,都是很經典的書,不過算法很難弄有待進一步學習
  •   價格不貴,內容非常值得一看,有詳細的代碼描述。和算法導論比,這本書更適合入門。
  •   物超所值。。。不得不讀的書。看完之后可以看看算法導論。
  •   代碼寫的超級好,是我見過的數據結構方面的書中最好的。但可惜的是,圖一章沒有代碼實現
  •   這本書,初期適合給初學者提供一個方向和提綱,對于有一定基礎的人員來說,適合提升能力和個人技術和算法水平等。
  •   書的印刷質量不錯,很清晰。算法的示例簡潔、直觀!很多算法例子非常實用,強烈推薦?。?!
  •   這本書的性價比很高,與《算法導論》一起學習!
  •   即使你已經學過數據結構,你還是需要看看這本書,因為這本書中包含很多你以前了解但不深入的太多的知識,而且它們又是那么的使用。
  •   這本書的內容很好,講的算法都很好,不過不太建議初學者使用。
  •   理論性較強 書中代碼很少 算法很多
  •   倒霉的數據結構全英課,用的竟然是這本書的英文原版教材,這讓我這類英語不行的人情何以堪?。⌒姨澷I了這本中文書,不然以后的課怎么上啊。
  •   書不錯,內容很好,是學習數據結構很好的教材,不過沒有基礎的還是先看看清華的那本吧
  •   比其他的算法書少了很多公式,多了很多跟代碼結合的地方。
  •   經典讀物,適合作為算法的查閱書目。講得不是很詳細,但算法的重點已經全部道出,適合每個經歷過算法入門學習的人查閱使用。
  •   很好,對算法的講解很到位,有助于提高編程的合理性
  •   很好的一本學習數據結構的書,這種書還得是看國外的,翻譯的也還算不錯
  •   原版翻譯,是算法學習的優(yōu)秀教材。
  •   這本書相比較學校的數據結構教材來說,更全面.適合想深入學習的人進階用.
  •   這本書看完后,對數據結構知識有一個很好的復習效果。看完第一遍了,
    準備后些時候看第二遍。
  •   這本書絕對是一本好書,是我看過的最好的一本講數據結構的書(純屬個人意見),雖然很久以前就學過了數據結構,但是還是想買一本回來翻翻,對自己絕對有好處。
  •   有難度,但對提高算法能力是巨大的
  •   書的內容很好,經典的數據結構(C語言)書;但是書的質量較差(書的紙質很?。?/li>
  •   當當到貨就是快呀,而且書也很不錯,比較適合作為數據結構的教材
  •   小孩要參加信息比賽,此書對算法描述很好,滿分
  •   一定要讀,里面的算法都很有用
  •   很好的數據結構的書,是正版的,紙質很不錯
  •   在學校粗略的學了下數據結構,應付考試。再看這本書,有進階的效果,經典。P.S.一定要好好學數學
  •   確實是本不錯的講解數據結構的書,有淺的內容,也有比較深的內容,適合比較有自學能力的OIer
  •   算法的學習是個慢慢積累的過程,唯有堅持
  •   將算法比較深刻,不適合初學者
  •   當時是一位學長推薦的,說是這本書的課后題目全部弄明白了可以秒殺一切的數據結構面試
  •   相當經典的書想學習數據結構的朋友可以一看
  •   數據結構的經典之作,看這樣的書很有收獲。
  •   不錯的書,但不適合初學者,適合有學過《數據結構》的人看。
  •   學習數據結構的經典書籍,仔細研究中
  •   數據結構里比較基本的一本書
  •   需要有一定的數據結構基礎,對于想鞏固完善數據結構這塊基礎的人來說是不錯的選擇。
    如果是初學,建議還是嚴蔚敏的那本,上手會更快些
  •   不錯的數據結構。要仔細的讀,才可以冷略
  •   學數據結構的絕對經典,好書,講得很深入?。?/li>
  •   適合有一定數學及數據結構基礎的人學習
  •   數據結構的經典書籍,慢慢研究!
  •   老師推薦的,說是對于學習數據結構很有幫助
  •   我們學習數據結構就看它的,講解挺詳細的,中文翻譯不錯
  •   想把數據結構在好好看一遍
  •   以前看過其它的數據結構,都沒有這本好
  •   比較適合初學數據結構者!
  •   是學習數據結構的好書
  •   學習數據結構的必備
  •   看了之后,對數據結構的學習有很大幫助.
  •   此書適合于學習了《C程序設計》的讀者學習,很好的補充和描述了C語言,讓我們更深入的學習C程序。不愧于“計算機科學叢書”,對編程感興趣的學者來說,值得一讀。
  •   代碼不多,有一定程序設計基礎的人實用,否則,偽代碼翻譯有一定困難
  •   結構內容很不錯的一本書
  •   上大學的讀過,后來在一次面試的時候發(fā)現連堆排序都不會了,于是又買了本書,再次讀一下經典
  •   挺好的一本書,用c語言描述,國外經典教材,如果手頭有清華那本也可以,這本書寫的簡潔明了,易于理解。
  •   說一句實在話,我感覺之所以外國人在計算機方面長于我們,就是因為人家教材寫的好啊~~~咱們的教材說實在話,就是不愿意看,通篇的知識點,不知道從哪來,往哪走。
    總之啊~~~想學好編程的人啊~~~我感覺要買一本~~~一定會有所感悟的~~~~
  •   好久沒來當當了,突然覺得買書還是要來當當。
    書到用時方恨少,只恨平生歡娛多。
    只是想找本與嚴蔚敏,吳偉民 版本不同的,因為國內的教材真的需要改革了,太晦澀,需要大量的精力去理解很多無用的甚至獨創(chuàng)的定義。此書基本符合要求。
  •   速度很快!質量不錯,內容全面,計算機專業(yè)的學生值得一看!
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7