算法引論

出版時(shí)間:2010-1  出版社:電子工業(yè)出版社  作者:[美]烏迪·曼博(Udi Manber)  頁(yè)數(shù):334  
Tag標(biāo)簽:無(wú)  

前言

編寫(xiě)本書(shū)的動(dòng)機(jī)來(lái)源于我在教學(xué)實(shí)踐中常常無(wú)法為給定算法給出清晰解析的困惑。與許多教師一樣,我發(fā)現(xiàn)對(duì)一些學(xué)生來(lái)說(shuō),要他們親自動(dòng)手解決一些簡(jiǎn)單問(wèn)題有困難,而讓他們理解給定問(wèn)題的解決方案同樣有困難。我相信,事物的兩個(gè)方面——?jiǎng)?chuàng)造和解釋——是相關(guān)而不可分離的。為了完全了解一個(gè)問(wèn)題,考察最后的答案遠(yuǎn)遠(yuǎn)不夠,我們必須了解問(wèn)題的求解過(guò)程。 本書(shū)強(qiáng)調(diào)了算法設(shè)計(jì)的創(chuàng)造性方面,其主要目的是要告訴讀者如何去設(shè)計(jì)一個(gè)新的算法。本書(shū)描述算法的順序不是“問(wèn)題X、算法A、算法A'、程序P、程序P'”,而是像(但并不總是)“問(wèn)題X、直接明了的問(wèn)題求解算法、缺點(diǎn)、改進(jìn)這些缺點(diǎn)的困難、(可能包含一些錯(cuò)誤的)好的算法、進(jìn)一步的改進(jìn)、分析以及其他方法和算法的關(guān)系”。本書(shū)的目標(biāo)不是給出一個(gè)容易轉(zhuǎn)換為程序代碼的算法,而是希望讀者理解算法的原理。算法因此被解釋為創(chuàng)造過(guò)程而不是最終產(chǎn)品。我們講授算法的目標(biāo)不僅是說(shuō)明如何求解特定的問(wèn)題,還包括傳授如何求解未來(lái)將產(chǎn)生或遇到的新問(wèn)題的技術(shù)。可以說(shuō),講授算法設(shè)計(jì)的思維過(guò)程與講授問(wèn)題求解細(xì)節(jié)是同樣重要的。

內(nèi)容概要

本書(shū)是國(guó)際算法大師烏迪·曼博(Udi Manber)博士撰寫(xiě)的一本享有盛譽(yù)的著作。全書(shū)共分12章:第1章到第4章為介紹性?xún)?nèi)容,涉及數(shù)學(xué)歸納法、算法分析、數(shù)據(jù)結(jié)構(gòu)等內(nèi)容;第5章提出了與歸納證明進(jìn)行類(lèi)比的算法設(shè)計(jì)思想;第6章到第9章分別給出了4個(gè)領(lǐng)域的算法,如序列和集合的算法、圖算法、幾何算法、代數(shù)和數(shù)值算法;第10章涉及歸約,也是第11章的序幕,而后者涉及NP完全問(wèn)題;第12章則介紹了并行算法;最后是部分習(xí)題的答案及參考文獻(xiàn)。本書(shū)的特色有二,旨在提高讀者的問(wèn)題求解能力,使讀者能夠理解算法設(shè)計(jì)的過(guò)程和思想:一是強(qiáng)調(diào)算法設(shè)計(jì)的創(chuàng)造性過(guò)程,注重算法設(shè)計(jì)背后的創(chuàng)造性思想,而不拘泥于某個(gè)具體算法的詳細(xì)討論;二是將算法設(shè)計(jì)類(lèi)比于定理歸納證明,揭示了算法設(shè)計(jì)的基本思想和本質(zhì)。    本書(shū)的組織結(jié)構(gòu)清晰且易于理解,強(qiáng)調(diào)了創(chuàng)造性,具有濃郁特色,時(shí)至今日仍有其巨大的價(jià)值,并且適合作為計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)算法和高級(jí)算法課程的教材。

作者簡(jiǎn)介

曼博(Udi Manber)美國(guó)著名的計(jì)算機(jī)科學(xué)家,國(guó)際公認(rèn)的算法大師,在線信息搜索引擎的先驅(qū)。1982年于華盛頓大學(xué)獲得計(jì)算機(jī)科學(xué)博士學(xué)位,曾是美國(guó)亞利桑那大學(xué)計(jì)算機(jī)專(zhuān)業(yè)教授。離開(kāi)學(xué)校后在雅虎公司擔(dān)任執(zhí)行官,閆前是亞馬遜(Amazon.com)的副總裁和首席算法師(CAO),也是亞馬遜旗下搜索網(wǎng)站A9.corn的首席執(zhí)行官。他提出的UDI測(cè)試已經(jīng)成為衡量搜索引擎質(zhì)量的評(píng)估標(biāo)準(zhǔn)。

書(shū)籍目錄

第1章  引論第2章 數(shù)學(xué)歸納法 2.1  引言 2.2 三個(gè)簡(jiǎn)單的例子 2.3 平面內(nèi)區(qū)域的計(jì)數(shù) 2.4 簡(jiǎn)單的著色問(wèn)題 2.5 復(fù)雜一些的加法題 2.6 一個(gè)簡(jiǎn)單的不等式 2.7 歐拉公式 2.8 圖論中的一個(gè)問(wèn)題 2.9 格雷碼 2.10 在圖上尋找無(wú)重邊的路 2.11 數(shù)學(xué)平均數(shù)和幾何平均數(shù)定理 2.12 循環(huán)不變量:將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 2.13 常見(jiàn)的錯(cuò)誤 2.14 小結(jié)第3章 算法分析 3.1 引言 3.2 符號(hào)O 3.3 時(shí)間與空間復(fù)雜度 3.4 習(xí)之和 3.5 遞推關(guān)系  3.5.1 巧妙地猜測(cè)  3.5.2 分治關(guān)系  3.5.3 涉及全部歷史的遞推關(guān)系 3.6 一些有用的證明論據(jù) 3.7 小結(jié)第4章 數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)介 4.1  引言 4.2 基本數(shù)據(jù)結(jié)構(gòu)  4.2.1 元素  4.2.2 數(shù)組  4.2.3 記錄  4.2.4 鏈表 4.3 樹(shù)  4.3.1  樹(shù)的表示  4.3.2 堆  4.3.3 二叉搜索樹(shù)  4.3.4 AVL樹(shù) 4.4 散列 4.5 合并碴找問(wèn)題 4.6  圖 4.7 小結(jié)第5章 基于歸納的算法設(shè)計(jì) 5.1  引言 5.2 多項(xiàng)式求值 5.3 最大導(dǎo)出子圖 5.4 尋找一對(duì)一映射 5.5 社會(huì)名流問(wèn)題 5.6 分治算法:輪廓問(wèn)題 5.7 在二叉樹(shù)中計(jì)算平衡因子 5.8 尋找最大連續(xù)子序列 5.9 增強(qiáng)歸納假設(shè) 5.10 動(dòng)態(tài)規(guī)劃:背包問(wèn)題 5.11 常見(jiàn)的錯(cuò)誤 5.12 小結(jié)第6章 序列和集合的算法 6.1  引言 6.2 二叉搜索的幾種形式  6.2.1  純二叉搜索  6.2.2 循環(huán)序列的二叉搜索  6.2.3 二叉搜索特殊下標(biāo)  6.2.4 二叉搜索長(zhǎng)度未知的序列  6.2.5 重疊子序列問(wèn)題  6.2.6 解方程 6.3  內(nèi)插搜索 6.4 排序  6.4.1 桶排序和基數(shù)排序  6.4.2 插入排序和選擇排序  6.4.3 歸并排序  6.4.4 快速排序  6.4.5 堆排序  ……第7章 圖算法第8章 幾何算法第9章 代數(shù)和數(shù)值算法第10章 歸約第11章 NP完全問(wèn)題第12章 并行算法部分習(xí)題答案參考文獻(xiàn)

章節(jié)摘錄

插圖:在《韋氏大學(xué)詞典(第九版)》中,算法的解釋是“求解數(shù)學(xué)問(wèn)題(如尋找最大公約數(shù))的一個(gè)過(guò)程,該過(guò)程步驟有限,通常還涉及重復(fù)的操作;廣義地說(shuō),算法是按部就班解決一個(gè)問(wèn)題或完成某個(gè)目標(biāo)的過(guò)程。本書(shū)取廣義的算法來(lái)定義。算法設(shè)計(jì)是一個(gè)古老的研究領(lǐng)域。自古以來(lái),人們總是對(duì)發(fā)現(xiàn)更好的目標(biāo)求解方法充滿興趣,不論是取火、建造金字塔還是對(duì)郵件進(jìn)行排序。而計(jì)算機(jī)算法的研究當(dāng)然是一個(gè)新的領(lǐng)域。一些計(jì)算機(jī)算法采用的方法早在計(jì)算機(jī)發(fā)明之前就存在,但大多數(shù)計(jì)算機(jī)算法的設(shè)計(jì)需要新的方法和技術(shù)。首先,告訴計(jì)算機(jī)諸如“察看小山,如果發(fā)現(xiàn)敵情就拉響警報(bào)”是不夠的。一臺(tái)計(jì)算機(jī)必須了解“察看”的確切含義,知道如何識(shí)別敵情,懂得如何拉響警報(bào)(基于技術(shù)原因,拉響警報(bào)是最容易的)。一臺(tái)計(jì)算機(jī)可接受的指令應(yīng)當(dāng)是定義明確、長(zhǎng)度有限的基本操作序列。將通常的命令轉(zhuǎn)換為計(jì)算機(jī)可以理解的指令是一個(gè)困難的過(guò)程,而該過(guò)程就是編程,目前有成百萬(wàn)的程序員正在不同層次上進(jìn)行編程。計(jì)算機(jī)上的編程,所需要的不僅僅是將那些為人所理解的命令轉(zhuǎn)換為計(jì)算機(jī)可以理解的語(yǔ)言。在大多數(shù)情況下,程序員必須設(shè)計(jì)出完全嶄新的算法來(lái)求解問(wèn)題。只學(xué)習(xí)與計(jì)算機(jī)交談所用的怪異語(yǔ)言會(huì)使編程變得困難,因?yàn)橹挥杏?jì)算機(jī)才知道你說(shuō)了什么。計(jì)算機(jī)不僅能以極快的速度執(zhí)行先前由人完成的操作,它還可以做得更多。計(jì)算機(jī)能處理數(shù)十億、數(shù)萬(wàn)億比特單位的信息,能在一秒內(nèi)完成數(shù)百萬(wàn)條基本指令。在這個(gè)數(shù)量級(jí)上進(jìn)行算法設(shè)計(jì)是一種嶄新的實(shí)踐,有很多方面會(huì)與我們的直覺(jué)相反,因?yàn)槲覀兺ǔV粚?duì)自己能感知的事物進(jìn)行思考。遺憾的是,一些能很好解決小問(wèn)題的程序在處理大問(wèn)題時(shí)就變得很糟。因此當(dāng)進(jìn)行大規(guī)模計(jì)算時(shí)不要忽視算法的復(fù)雜度和有效性。

編輯推薦

《算法引論:一種創(chuàng)造性方法》是國(guó)際算法大師烏迪·曼博(UdiManber)博士撰寫(xiě)的一本享有盛譽(yù)的著作,強(qiáng)調(diào)了算法設(shè)計(jì)的創(chuàng)造性方面,通過(guò)算法開(kāi)發(fā)步驟來(lái)描述算法設(shè)計(jì)過(guò)程。此外,《算法引論:一種創(chuàng)造性方法》創(chuàng)造性地將算法設(shè)計(jì)過(guò)程同定理歸納證明過(guò)程進(jìn)行類(lèi)比,揭示了算法設(shè)計(jì)的基本思想和本質(zhì),旨在提高讀者的問(wèn)題求解以及理解算法設(shè)計(jì)的過(guò)程和思想的能力?!端惴ㄒ?一種創(chuàng)造性方法》特點(diǎn):包括經(jīng)典算法以及流行算法算法設(shè)計(jì)技巧及其綜合應(yīng)用并行算法設(shè)計(jì)犬多數(shù)算法的偽代碼表示500多道習(xí)題,其中四分之一給出了答案將算法實(shí)現(xiàn)細(xì)節(jié)和算法思想盡可能分離

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    算法引論 PDF格式下載


用戶(hù)評(píng)論 (總計(jì)45條)

 
 

  •   Amazon的原首席技術(shù)官所作。應(yīng)該屬于最好的算法書(shū)之一。本書(shū)的特色是強(qiáng)調(diào)了證明與演繹的過(guò)程,讓人知其然并知其所以然,這一點(diǎn)是強(qiáng)過(guò)《算法導(dǎo)論》(the CLRS book)的地方。本書(shū)更適合有一定編程基礎(chǔ),想從全新角度學(xué)習(xí)算法的人士。如果是零基礎(chǔ)的純?nèi)腴T(mén),也許CLRS更好,應(yīng)為更詳細(xì)(相應(yīng)的,廢話會(huì)更多)。
  •   對(duì)比經(jīng)典的塞奇?zhèn)タ说摹端惴↖-IV》,開(kāi)創(chuàng)算法學(xué)科傳奇的《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》...等等,這本少了學(xué)院式的推導(dǎo)和工具書(shū)查閱的實(shí)用,但是,卻多了一份至關(guān)重要的:怎么樣思考,用算法的思想來(lái)思考,從而更具有在實(shí)踐中自行得到適合解決方案的能力!
  •   算法的設(shè)計(jì)不僅要熟悉一些經(jīng)典算法,還要知其所以然,這樣才能在解決具體問(wèn)題中來(lái)設(shè)計(jì)出有效的算法。這本書(shū)用歸納法的來(lái)分析了很多算法的設(shè)計(jì),讓思維過(guò)程更加連貫,繼續(xù)學(xué)習(xí)中
  •   本書(shū)可以告訴我們算法從哪里來(lái)。正如本書(shū)副標(biāo)題的一種創(chuàng)造性方法,當(dāng)我們掌握了這種方法以后,我們就有一種不同一般的觀點(diǎn)。再讀其它算法方面的書(shū)時(shí),我們會(huì)有一種不過(guò)如此的感覺(jué)。這是一本二十年前的九陰真經(jīng)。
  •   循序漸進(jìn)的講解了算法的各種知識(shí)。
  •   沒(méi)有《算法導(dǎo)論》細(xì),但題目更多。
  •   作者在算法界是個(gè)神般的人物,里面有他多年從事算法研究的心得,是獨(dú)家的,其他人其他書(shū)都沒(méi)有的,受益匪淺。
  •   這本書(shū)有些高級(jí),建議先學(xué)些初級(jí)的數(shù)據(jù)結(jié)構(gòu)。
  •   內(nèi)容新穎,適合用作教材
  •   這本書(shū)相當(dāng)不錯(cuò),感覺(jué)正是我急需的
  •   原來(lái)就想買(mǎi)這本書(shū),然而缺貨,現(xiàn)在終于買(mǎi)到了,是新版本的
  •   網(wǎng)上高手推薦的此書(shū)~買(mǎi)來(lái)拜讀解惑~
    快遞速度超快~這次兩天就到貨~包裝質(zhì)量也都無(wú)問(wèn)題~可惜的是書(shū)體有點(diǎn)臟~
  •   讓人知其然跟知其所以然,知道what,更知道why
  •   工科生的書(shū),我不懂啊。。??此恢倍荚诳?,應(yīng)該挺不錯(cuò)的
  •   算法之為何?抽象到具體,算法之精要深入骨髓。唯有創(chuàng)造性算法,才算成就!
  •   這本書(shū)主要是分類(lèi)講解各種算法的理論知識(shí),建議喜歡讀偽代碼學(xué)算法的同志買(mǎi)別的書(shū)~
  •   相比《算法導(dǎo)論》,《引論》別具風(fēng)格。以前在圖書(shū)館看到,覺(jué)得不錯(cuò)
  •   書(shū)不錯(cuò),在算法方面介紹得比較全面,主要精神是教你如何分治
  •   書(shū)雖然不厚,但內(nèi)容非常詳實(shí),講解的很不錯(cuò),不過(guò)要是有配套的書(shū)(代碼實(shí)現(xiàn)、習(xí)題答案)就更好了。
    習(xí)題很難,1/4的有答案,但剩下的3/4就算做了也不知道對(duì)不對(duì)。
  •   這本書(shū)出版日期是2011年的。印刷質(zhì)量貌似不過(guò)關(guān),好像還有味道。
  •   很好,值得慢慢深讀!
  •   感覺(jué)送貨速度挺快的
  •   本書(shū)創(chuàng)造性地將算法設(shè)計(jì)過(guò)程同定理歸納證明過(guò)程進(jìn)行類(lèi)比,揭示了算法設(shè)計(jì)的基本思想和本質(zhì)
  •   上課用書(shū),主要是數(shù)學(xué)歸納法,還行吧
  •   濂戒功
  •   [...]算法引論:一種創(chuàng)造性方法2009年02月26日 17:04這是一本可以給人帶來(lái)巨大閱讀樂(lè)趣的專(zhuān)業(yè)書(shū)籍。作者娓娓道來(lái),又惜墨如金。用極精煉的語(yǔ)言,為我們指明了一條通向那些美麗算法的線索。我要由衷地說(shuō):這本書(shū)不僅僅是一些結(jié)果的集合,更是一段美好的旅程。我對(duì)書(shū)中涉及的內(nèi)容已然熟悉,但讀過(guò)之后仍感收獲良多,對(duì)算法這門(mén)學(xué)問(wèn)又多了些認(rèn)識(shí)。真的是,寫(xiě)書(shū)當(dāng)如是。      對(duì)我來(lái)說(shuō),算法的教與學(xué)有兩個(gè)困難的地方:    其一,我們學(xué)習(xí)了那些經(jīng)典的算法,除了贊嘆一下設(shè)計(jì)的巧思,但總難免問(wèn)上一句:怎么想到的?對(duì)學(xué)生來(lái)說(shuō),這可能是最費(fèi)解、也最讓人窩火的地方。我們下再多的功夫去記憶書(shū)上的算法、去分析這些算法的效率,卻終究不能理喻得到這些算法的過(guò)程。心理盤(pán)算著:給我一個(gè)新問(wèn)題,讓我設(shè)計(jì)個(gè)算法出來(lái),我能行嗎?答案是:不知道?!   】蛇@偏偏又是極重要的,無(wú)論作研究還是實(shí)際工作,一個(gè)計(jì)算機(jī)專(zhuān)業(yè)人士最重要的能力,就是解決問(wèn)題——解決那些不斷從理論模型、或者從實(shí)際應(yīng)用中冒出來(lái)的新問(wèn)題?!   ∑涠?,算法作為一門(mén)學(xué)問(wèn),有兩條正交的線索。一個(gè)是算法處理的對(duì)象:數(shù)、矩陣、集合、串(strings)、排列(permutations)、圖(graph...s)、表達(dá)式(formula)、分布(distributions),等等。一個(gè)是算法的設(shè)計(jì)思想:貪婪、分治、動(dòng)態(tài)規(guī)劃、線性規(guī)劃、局部搜索(local search),等等。這兩條線索幾乎是相互獨(dú)立的:同一個(gè)離散對(duì)象,例如圖,稍有不同的問(wèn)題,例如single-source shortest path和all-pair shortest path,就可以用到不同的設(shè)計(jì)思想,如貪婪和動(dòng)態(tài)規(guī)劃;而完全不同的離散對(duì)象上的問(wèn)題,例如排序和整數(shù)乘法,也許就會(huì)用到相同的思想,例如分治?!   蓷l線索交織在一起,該如何表述。對(duì)學(xué)生而言,不同離散對(duì)象的差別是直觀的——我們已經(jīng)慣于在一章里面完全講排序、而在另一章里面完全講圖論算法;可是對(duì)算法而言,設(shè)計(jì)思想的差別是根本的,因?yàn)檫@是從問(wèn)題的結(jié)構(gòu)來(lái)的:不同離散對(duì)象上面定義的問(wèn)題,可以展現(xiàn)出類(lèi)似的結(jié)構(gòu),而這結(jié)構(gòu)特征,就是支持一類(lèi)算法的根本,也是我們?cè)O(shè)計(jì)算法的依據(jù)。       閱讀更多 ›
  •   Udi Manner確實(shí)是算法大師,很多國(guó)內(nèi)的書(shū)對(duì)算法的描述都是描述其最終形式,本書(shū)描述的是得到最終算法形式的過(guò)程,對(duì)于我們?cè)O(shè)計(jì)新算法非常有幫助,很多算法看了其他書(shū)再看這本書(shū),會(huì)有豁然開(kāi)朗的感覺(jué)!強(qiáng)烈推薦。作者用詞非常嚴(yán)謹(jǐn),思路很?chē)?yán)密,用語(yǔ)也精練,看這本書(shū)的時(shí)候大腦比較累,不過(guò)也很鍛煉人!看此書(shū)時(shí)候的相當(dāng)于是數(shù)學(xué)書(shū),我看了此書(shū)后再去參加各種算法機(jī)試、筆試、面試的時(shí)候容易多了!
  •   卓越發(fā)貨速度快,書(shū)的質(zhì)量也很好??戳瞬簧偎惴〞?shū),都是翻了幾頁(yè)就看不下去。而這本卻是充滿了往下看的興趣。
  •   內(nèi)容不錯(cuò),講得挺好,循序漸進(jìn)的講,值得一看。
  •   我是程序員,我推薦此書(shū)
  •   幫朋友買(mǎi)的, 他說(shuō)還不錯(cuò).
  •   推薦IT人士讀,對(duì)提升算法很有幫助
  •   耐心看完會(huì)有很大的收獲,尤其是在思維方法上
  •   有別于其他經(jīng)典算法圖書(shū)主要針對(duì)具體算法的詳細(xì)討論,重點(diǎn)在于鍛煉算法設(shè)計(jì)能力而不是算法應(yīng)用能力。
  •   速度很快啊!書(shū)也很好,謝謝!
  •   聽(tīng)說(shuō)是好書(shū),買(mǎi)了一本,看了很吃力。所以又買(mǎi)了本零基礎(chǔ)學(xué)算法,先補(bǔ)補(bǔ)基礎(chǔ)。
  •   書(shū)是好書(shū),可惜發(fā)現(xiàn)的太晚了
  •   翻譯的不夠好, 這要是大多數(shù)譯書(shū)的問(wèn)題.原書(shū)太貴了, 而且中國(guó)沒(méi)得賣(mài), 英文版亞馬遜價(jià)格竟然是90美元, 實(shí)在是望書(shū)興嘆
  •   上課要用的書(shū),內(nèi)容不錯(cuò).
  •   本書(shū)是一位博士寫(xiě)的, 未免有點(diǎn)pedantic, 中文翻譯, 感覺(jué)技術(shù)有限, 讀起來(lái)發(fā)澀. 如果有原版的話, 我是一定不會(huì)買(mǎi)這個(gè)中文版的, 翻譯的程度, 確實(shí)是, 相當(dāng)有限. 只能這么說(shuō), 如果是這本的話, 還是推薦各位看原版的書(shū).
  •   有別于一般的算法書(shū)
  •   很不錯(cuò)的書(shū),內(nèi)容很好,我很喜歡。
  •   算法首選書(shū)
  •   幫別人買(mǎi)的,號(hào)稱(chēng)很不錯(cuò)
  •   好書(shū)?。。W(xué)習(xí)中?。。?!
 

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

京ICP備13047387號(hào)-7