出版時間:2010-1 出版社:電子工業(yè)出版社 作者:[美]烏迪·曼博(Udi Manber) 頁數(shù):334
Tag標簽:無
前言
編寫本書的動機來源于我在教學(xué)實踐中常常無法為給定算法給出清晰解析的困惑。與許多教師一樣,我發(fā)現(xiàn)對一些學(xué)生來說,要他們親自動手解決一些簡單問題有困難,而讓他們理解給定問題的解決方案同樣有困難。我相信,事物的兩個方面——創(chuàng)造和解釋——是相關(guān)而不可分離的。為了完全了解一個問題,考察最后的答案遠遠不夠,我們必須了解問題的求解過程。 本書強調(diào)了算法設(shè)計的創(chuàng)造性方面,其主要目的是要告訴讀者如何去設(shè)計一個新的算法。本書描述算法的順序不是“問題X、算法A、算法A'、程序P、程序P'”,而是像(但并不總是)“問題X、直接明了的問題求解算法、缺點、改進這些缺點的困難、(可能包含一些錯誤的)好的算法、進一步的改進、分析以及其他方法和算法的關(guān)系”。本書的目標不是給出一個容易轉(zhuǎn)換為程序代碼的算法,而是希望讀者理解算法的原理。算法因此被解釋為創(chuàng)造過程而不是最終產(chǎn)品。我們講授算法的目標不僅是說明如何求解特定的問題,還包括傳授如何求解未來將產(chǎn)生或遇到的新問題的技術(shù)??梢哉f,講授算法設(shè)計的思維過程與講授問題求解細節(jié)是同樣重要的。
內(nèi)容概要
本書是國際算法大師烏迪·曼博(Udi Manber)博士撰寫的一本享有盛譽的著作。全書共分12章:第1章到第4章為介紹性內(nèi)容,涉及數(shù)學(xué)歸納法、算法分析、數(shù)據(jù)結(jié)構(gòu)等內(nèi)容;第5章提出了與歸納證明進行類比的算法設(shè)計思想;第6章到第9章分別給出了4個領(lǐng)域的算法,如序列和集合的算法、圖算法、幾何算法、代數(shù)和數(shù)值算法;第10章涉及歸約,也是第11章的序幕,而后者涉及NP完全問題;第12章則介紹了并行算法;最后是部分習(xí)題的答案及參考文獻。本書的特色有二,旨在提高讀者的問題求解能力,使讀者能夠理解算法設(shè)計的過程和思想:一是強調(diào)算法設(shè)計的創(chuàng)造性過程,注重算法設(shè)計背后的創(chuàng)造性思想,而不拘泥于某個具體算法的詳細討論;二是將算法設(shè)計類比于定理歸納證明,揭示了算法設(shè)計的基本思想和本質(zhì)。 本書的組織結(jié)構(gòu)清晰且易于理解,強調(diào)了創(chuàng)造性,具有濃郁特色,時至今日仍有其巨大的價值,并且適合作為計算機及相關(guān)專業(yè)算法和高級算法課程的教材。
作者簡介
曼博(Udi Manber)美國著名的計算機科學(xué)家,國際公認的算法大師,在線信息搜索引擎的先驅(qū)。1982年于華盛頓大學(xué)獲得計算機科學(xué)博士學(xué)位,曾是美國亞利桑那大學(xué)計算機專業(yè)教授。離開學(xué)校后在雅虎公司擔(dān)任執(zhí)行官,閆前是亞馬遜(Amazon.com)的副總裁和首席算法師(CAO),也是亞馬遜旗下搜索網(wǎng)站A9.corn的首席執(zhí)行官。他提出的UDI測試已經(jīng)成為衡量搜索引擎質(zhì)量的評估標準。
書籍目錄
第1章 引論第2章 數(shù)學(xué)歸納法 2.1 引言 2.2 三個簡單的例子 2.3 平面內(nèi)區(qū)域的計數(shù) 2.4 簡單的著色問題 2.5 復(fù)雜一些的加法題 2.6 一個簡單的不等式 2.7 歐拉公式 2.8 圖論中的一個問題 2.9 格雷碼 2.10 在圖上尋找無重邊的路 2.11 數(shù)學(xué)平均數(shù)和幾何平均數(shù)定理 2.12 循環(huán)不變量:將十進制數(shù)轉(zhuǎn)換為二進制數(shù) 2.13 常見的錯誤 2.14 小結(jié)第3章 算法分析 3.1 引言 3.2 符號O 3.3 時間與空間復(fù)雜度 3.4 習(xí)之和 3.5 遞推關(guān)系 3.5.1 巧妙地猜測 3.5.2 分治關(guān)系 3.5.3 涉及全部歷史的遞推關(guān)系 3.6 一些有用的證明論據(jù) 3.7 小結(jié)第4章 數(shù)據(jù)結(jié)構(gòu)簡介 4.1 引言 4.2 基本數(shù)據(jù)結(jié)構(gòu) 4.2.1 元素 4.2.2 數(shù)組 4.2.3 記錄 4.2.4 鏈表 4.3 樹 4.3.1 樹的表示 4.3.2 堆 4.3.3 二叉搜索樹 4.3.4 AVL樹 4.4 散列 4.5 合并碴找問題 4.6 圖 4.7 小結(jié)第5章 基于歸納的算法設(shè)計 5.1 引言 5.2 多項式求值 5.3 最大導(dǎo)出子圖 5.4 尋找一對一映射 5.5 社會名流問題 5.6 分治算法:輪廓問題 5.7 在二叉樹中計算平衡因子 5.8 尋找最大連續(xù)子序列 5.9 增強歸納假設(shè) 5.10 動態(tài)規(guī)劃:背包問題 5.11 常見的錯誤 5.12 小結(jié)第6章 序列和集合的算法 6.1 引言 6.2 二叉搜索的幾種形式 6.2.1 純二叉搜索 6.2.2 循環(huán)序列的二叉搜索 6.2.3 二叉搜索特殊下標 6.2.4 二叉搜索長度未知的序列 6.2.5 重疊子序列問題 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完全問題第12章 并行算法部分習(xí)題答案參考文獻
章節(jié)摘錄
插圖:在《韋氏大學(xué)詞典(第九版)》中,算法的解釋是“求解數(shù)學(xué)問題(如尋找最大公約數(shù))的一個過程,該過程步驟有限,通常還涉及重復(fù)的操作;廣義地說,算法是按部就班解決一個問題或完成某個目標的過程。本書取廣義的算法來定義。算法設(shè)計是一個古老的研究領(lǐng)域。自古以來,人們總是對發(fā)現(xiàn)更好的目標求解方法充滿興趣,不論是取火、建造金字塔還是對郵件進行排序。而計算機算法的研究當(dāng)然是一個新的領(lǐng)域。一些計算機算法采用的方法早在計算機發(fā)明之前就存在,但大多數(shù)計算機算法的設(shè)計需要新的方法和技術(shù)。首先,告訴計算機諸如“察看小山,如果發(fā)現(xiàn)敵情就拉響警報”是不夠的。一臺計算機必須了解“察看”的確切含義,知道如何識別敵情,懂得如何拉響警報(基于技術(shù)原因,拉響警報是最容易的)。一臺計算機可接受的指令應(yīng)當(dāng)是定義明確、長度有限的基本操作序列。將通常的命令轉(zhuǎn)換為計算機可以理解的指令是一個困難的過程,而該過程就是編程,目前有成百萬的程序員正在不同層次上進行編程。計算機上的編程,所需要的不僅僅是將那些為人所理解的命令轉(zhuǎn)換為計算機可以理解的語言。在大多數(shù)情況下,程序員必須設(shè)計出完全嶄新的算法來求解問題。只學(xué)習(xí)與計算機交談所用的怪異語言會使編程變得困難,因為只有計算機才知道你說了什么。計算機不僅能以極快的速度執(zhí)行先前由人完成的操作,它還可以做得更多。計算機能處理數(shù)十億、數(shù)萬億比特單位的信息,能在一秒內(nèi)完成數(shù)百萬條基本指令。在這個數(shù)量級上進行算法設(shè)計是一種嶄新的實踐,有很多方面會與我們的直覺相反,因為我們通常只對自己能感知的事物進行思考。遺憾的是,一些能很好解決小問題的程序在處理大問題時就變得很糟。因此當(dāng)進行大規(guī)模計算時不要忽視算法的復(fù)雜度和有效性。
編輯推薦
《算法引論:一種創(chuàng)造性方法》是國際算法大師烏迪·曼博(UdiManber)博士撰寫的一本享有盛譽的著作,強調(diào)了算法設(shè)計的創(chuàng)造性方面,通過算法開發(fā)步驟來描述算法設(shè)計過程。此外,《算法引論:一種創(chuàng)造性方法》創(chuàng)造性地將算法設(shè)計過程同定理歸納證明過程進行類比,揭示了算法設(shè)計的基本思想和本質(zhì),旨在提高讀者的問題求解以及理解算法設(shè)計的過程和思想的能力?!端惴ㄒ?一種創(chuàng)造性方法》特點:包括經(jīng)典算法以及流行算法算法設(shè)計技巧及其綜合應(yīng)用并行算法設(shè)計犬多數(shù)算法的偽代碼表示500多道習(xí)題,其中四分之一給出了答案將算法實現(xiàn)細節(jié)和算法思想盡可能分離
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載