數據結構與演算法c語言描述
Ⅰ 數據結構與演算法分析:C語言描述的書評
現在的程序員總是用著別人封裝好的函數、類、庫、API,滿滿的,我們就會覺得編程不過是這么回事,搭積木而已,別人都把材料提供好了,至於材料是怎麼做的,不用理會。真的是這樣嗎?說數據結構和演算法沒用的人,那是因為他用不到。為什麼用不到?他的層次決定了他不會接觸到編程最關鍵最核心的部分——演算法。先不說那些反應演算法的力量的似乎變態的問題,也不說2006年第4期《程序員》的專題,只說,當我們遇到一個問題時,如何搭建數學模型?當我們在有限的硬體條件下要完成高速的數據處理,如何設計?當我們為客戶開發完一套軟體後,能不能保證未來幾年內數據猛增不會帶來計算量的指數級增長?當我們需要升級伺服器內存和硬碟是,能不能修改幾個函數就避免硬體的投資?這些問題的答案,請在這本書中尋找。表、棧、隊列、樹、圖等基本數據結構作者並未花大力氣描述,而是重在後面的對這些數據結構的應用上,每一個結論都給出了詳盡的數學證明,閱讀過程中,我們可以感受到蘊含在其中的匠心獨運的邏輯思維之美。借用GOOGLE黑板報的一個專題,演算法體現了——「數學之美」。並不是說本書就很完美了,有些章節講得太過籠統,讀起來跳躍感太強,比如第九章的網路流問題,介紹的太過簡單,推導過程中省略了不少步驟,對增廣路徑演算法講的太粗,至於預流推進演算法(Push-Relabel)則根本未提,不能不說是一個小小缺憾。
Ⅱ 數據結構與演算法分析:C語言描述的內容簡介
《數據結構與演算法分析:C語言描述(原書第2版)》內容簡介:書中詳細介紹了當前流行的論題和新的變化,討論了演算法設計技巧,並在研究演算法的性能、效率以及對運行時間分析的基礎上考查了一些高級數據結構,從歷史的角度和近年的進展對數據結構的活躍領域進行了簡要的概括。由於《數據結構與演算法分析:C語言描述(原書第2版)》選材新穎,方法實用,題例豐富,取捨得當。《數據結構與演算法分析:C語言描述(原書第2版)》的目的是培養學生良好的程序設計技巧和熟練的演算法分析能力,使得他們能夠開發出高效率的程序。從服務於實踐又鍛煉學生實際能力出發,書中提供了大部演算法的C程序和偽碼常式,但並不是全部。一些程序可從互聯網上獲得。
《數據結構與演算法分析:C語言描述(原書第2版)》是《Data Structures and Algorithm Analysis in C》一書第2版的簡體中譯本。原書曾被評為20世紀頂尖的30部計算機著作之一,作者Mark Allen Weiss在數據結構和演算法分析方面卓有建樹,他的數據結構和演算法分析的著作尤其暢銷,並受到廣泛好評.已被世界500餘所大學用作教材。
在《數據結構與演算法分析:C語言描述(原書第2版)》中,作者更加精煉並強化了他對演算法和數據結構方面創新的處理方法。通過C程序的實現,著重闡述了抽象數據類型的概念,並對演算法的效率、性能和運行時間進行了分析。
全書特點如下:
●專用一章來討論演算法設計技巧,包括貪婪演算法、分治演算法、動態規劃、隨機化演算法以及回溯演算法
●介紹了當前流行的論題和新的數據結構,如斐波那契堆、斜堆、二項隊列、跳躍表和伸展樹
●安排一章專門討論攤還分析,考查書中介紹的一些高級數據結構
●新開辟一章討論高級數據結構以及它們的實現,其中包括紅黑樹、自頂向下伸展樹。treap樹、k-d樹、配對堆以及其他相關內容
●合並了堆排序平均情況分析的一些新結果
《數據結構與演算法分析:C語言描述(原書第2版)》是國外數據結構與演算法分析方面的標准教材,介紹了數據結構(大量數據的組織方法)以及演算法分析(演算法運行時間的估算)。《數據結構與演算法分析:C語言描述(原書第2版)》的編寫目標是同時講授好的程序設計和演算法分析技巧,使讀者可以開發出具有最高效率的程序。 《數據結構與演算法分析:C語言描述(原書第2版)》可作為高級數據結構課程或研究生一年級演算法分析課程的教材,使用《數據結構與演算法分析:C語言描述(原書第2版)》需具有一些中級程序設計知識,還需要離散數學的一些背景知識。
Ⅲ 數據結構與演算法分析:C語言描述的作者簡介
作者:(美國)維斯 譯者:馮舜璽
Mark Allen Weiss是佛羅里達國際大學計算機學院教授,普林斯頓大學計算機科學博士。除本書外,他編寫的關於數據結構與演算法方面的知名教材還有:Data Structures and Algorithm Analysis:in Java, Data Structures and Algonthm Analysis:in C++以及Data Structures and Problem Solving:Using Jave、Data Struchures and Problem Solving:Using C++等。他目前是AP考試計算機學科委員會的主席。現任美國佛羅里達國際大學計算與信息科學學院教授。他曾經擔任全美AP(Advanced Placement)考試計算機學科委員會的主席(2000-2004)。他的主要研究方向是數據結構、演算法和教育學。
Ⅳ 數據結構與演算法分析C語言描述課本中的這個公式是什麼意思啊
f(N)就是關於N的函數,比如說f(N)=N+1,
由於你求和公式上的i是從1變換到N的,所以,這里N是一個常數,假設N=n,那麼就拿上面的f(N)=N+1來說,把N=n帶入f(N)中得到的是一個常數。因為i從1到N要加N次,每次的結果都是都已一樣的,是f(n),那麼加n次不就是nf(n)?
把n換成N就是上面紅線畫的公式。