出版時間:2008-12 出版社:清華大學(xué)出版社 作者:(美)賽德維克,(美)韋恩 著,葛秀慧 等譯 頁數(shù):488
Tag標(biāo)簽:無
內(nèi)容概要
本書由計(jì)算機(jī)著名專家Robert Sedgewick編寫。本書根據(jù)學(xué)習(xí)編程的四個階段(基本元素、函數(shù)、面向?qū)ο蟪绦蛟O(shè)計(jì)、算法和數(shù)據(jù)結(jié)構(gòu))來組織。基本元素包括變量、賦值語句、數(shù)據(jù)的內(nèi)置類型、控制流(條件和循環(huán))、數(shù)組和輸入輸出、包括圖和聲音。函數(shù)包括庫函數(shù)和遞歸函數(shù),將程序劃分成可以獨(dú)立調(diào)試、維護(hù)和復(fù)用的程序段。然后介紹如何使用、創(chuàng)建和設(shè)計(jì)數(shù)據(jù)類型。最后介紹了經(jīng)典的排序和搜索算法,同時也介紹了基本的數(shù)據(jù)結(jié)構(gòu)(包括堆棧、隊(duì)列和符號表)及它們的應(yīng)用,強(qiáng)調(diào)了使用科學(xué)方法來理解實(shí)現(xiàn)的性能特性。本書示例豐富,涉及了Java在各種學(xué)科之中的應(yīng)用,具有很高的參考價值。高等院校計(jì)算機(jī)及相關(guān)專業(yè)的研究生和本科生,從事編程工作的人員。 本書適用于高等院校計(jì)算機(jī)及相關(guān)專業(yè)的研究生和本科生,以及從事編程工作的專業(yè)人員。
作者簡介
Robert Sedgewick,普林斯頓大學(xué)計(jì)算機(jī)科學(xué)系教授,在美國斯坦福大學(xué)獲得博士學(xué)位,師從算法與程序設(shè)計(jì)大師Donald E.Knuth教授。他所著作的《算法》系列書在計(jì)算機(jī)界有著舉足輕重的影響力。
書籍目錄
第1章 程序設(shè)計(jì)的元素 1.1 第一個程序 1.1.1 Java 程序設(shè)計(jì) 1.1.2 輸入與輸出 問題與回答(Q&A) 練習(xí) 1.2 內(nèi)置數(shù)據(jù)類型 1.2.1 定義 1.2.2 字符和字符串 1.2.3 整數(shù) 1.2.4 浮點(diǎn)數(shù) 1.2.5 布爾型 1.2.6 比較 1.2.7 庫方法和API 1.2.8 類型轉(zhuǎn)換 小結(jié) 問題與回答(Q&A) 練習(xí) 創(chuàng)新練習(xí) 1.3 條件與循環(huán) 1.3.1 if 語句 1.3.2 while循環(huán) 1.3.3 for循環(huán) 1.3.4 嵌套 1.3.5 應(yīng)用 1.3.6 其他條件和循環(huán)結(jié)構(gòu) 1.3.7 死循環(huán) 小結(jié) 問題與回答(Q&A)53Java程序設(shè)計(jì)--一種跨學(xué)科的方法 練習(xí) 創(chuàng)新練習(xí) 1.4 數(shù)組 1.4.1 在Java中的數(shù)組 1.4.2 優(yōu)惠券收購 1.4.3 Eratosthenes的素?cái)?shù)篩選 1.4.4 二維數(shù)組 1.4.5 示例: 自回避隨機(jī)行走 小結(jié) 問題與回答(Q&A)80 練習(xí) 創(chuàng)新練習(xí) 1.5 輸入與輸出 1.5.1 鳥瞰功能 1.5.2 標(biāo)準(zhǔn)輸出 1.5.3 標(biāo)準(zhǔn)輸入 1.5.4 重定向和管道 1.5.5 標(biāo)準(zhǔn)圖畫 1.5.6 標(biāo)準(zhǔn)音頻 問題與回答(Q&A) 練習(xí) 創(chuàng)新練習(xí) 1.6 案例研究: 隨機(jī)Web沖浪 1.6.1 輸入格式 1.6.2 過渡矩陣 1.6.3 模擬 1.6.4 混合馬爾可夫鏈 1.6.5 經(jīng)驗(yàn) 練習(xí) 創(chuàng)新練習(xí)第2章 函數(shù)與模塊 2.1 靜態(tài)方法 2.1.1 使用和定義靜態(tài)方法 2.1.2 靜態(tài)方法的屬性 2.1.3 實(shí)現(xiàn)數(shù)學(xué)函數(shù) 2.1.4 使用靜態(tài)方法組織代碼 2.1.5 用數(shù)組實(shí)現(xiàn)靜態(tài)方法 2.1.6 示例:聲波的疊加 問題與回答(Q&A) 練習(xí) 創(chuàng)新練習(xí) 2.2 庫和客戶端 2.2.1 使用在其他程序中的靜態(tài)方法 2.2.2 庫 2.2.3 隨機(jī)數(shù) 2.2.4 數(shù)組的輸入和輸出 2.2.5 迭代函數(shù)系 2.2.6 標(biāo)準(zhǔn)統(tǒng)計(jì) 2.2.7 模塊化程序設(shè)計(jì) 問題與回答(Q&A) 練習(xí) 創(chuàng)新練習(xí) 2.3 遞歸 2.4 案例研究:滲濾第3章 面向?qū)ο蟪绦蛟O(shè)計(jì) 3.1 數(shù)據(jù)類型 3.2 創(chuàng)建數(shù)據(jù)類型 3.3 設(shè)計(jì)數(shù)據(jù)類型 3.4 案例研究: N體模擬第4章 算法與數(shù)據(jù)結(jié)構(gòu) 4.1 性能 4.2 排序與搜索 4.3 堆棧與隊(duì)列 4.4 符號表 4.5 案例研究:小世界后記
章節(jié)摘錄
第1章 程序設(shè)計(jì)的元素 在這一章,我們的目標(biāo)是使你深信編寫程序比寫文章(例如寫段落或文章)更容易。寫散文是很難的:我們在學(xué)?;硕嗄陼r間來學(xué)習(xí)如何進(jìn)行散文創(chuàng)作。相比之下,僅僅一些構(gòu)建模塊就足以使你能編寫程序,這些程序可以幫助我們解決各種有趣的(但除去不可接近的)問題。在這一章中,我們帶你通過這些構(gòu)建模塊來開始Java程序設(shè)計(jì),同時還學(xué)習(xí)各種各樣的有趣程序。在短短數(shù)周里,你將能夠通過編寫程序來表達(dá)自己。就像寫散文的能力一樣,編程能力是一個終身的技能,它可以使你不斷完善并能更好地融入未來。 在本書中,你將學(xué)習(xí)Java程序設(shè)計(jì)語言,對你而言,舉例來說,學(xué)習(xí)這門語言的任務(wù)會比較容易,至少比學(xué)習(xí)一門外語容易得多。事實(shí)上,程序設(shè)計(jì)語言的特點(diǎn)是不超過幾十個的詞匯和語法規(guī)則。在本書中我們涉及的大部資料都可以用C語言、C++語言或任何其他現(xiàn)代程序設(shè)計(jì)語言來編寫。但我們都特別使用Java來描述一切,以便使你能夠立即開始創(chuàng)建和運(yùn)行程序。一方面,我們將集中精力學(xué)習(xí)程序,而不是學(xué)習(xí)Java的細(xì)節(jié)。另一方面,程序設(shè)計(jì)具有挑戰(zhàn)性的部分是應(yīng)該了解哪些細(xì)節(jié)與具體條件相關(guān)∥Java正在被廣泛使用,使用Java語言學(xué)習(xí)編程將使你能在許多計(jì)算機(jī)(如你自己的計(jì)算機(jī))上編寫程序。同時,使用Java學(xué)習(xí)編程可以更容易地學(xué)習(xí)其他語言,包括低級語言(如c語言)和專門語言(例如MATLAB)?! ?.1 第一個程序 在本小節(jié)中,我們通過必要的基本步驟來得到一個簡單程序的運(yùn)行,帶你進(jìn)入Java程序設(shè)計(jì)的世界。Java系統(tǒng)是一個應(yīng)用程序的集成,但又不像你所習(xí)慣使用的許多其他應(yīng)用程序(如文字處理軟件、電子郵件程序和因特網(wǎng)瀏覽器)。正如任何應(yīng)用程序一樣,要使用Java,你必須肯定Java已經(jīng)在你的計(jì)算機(jī)上安裝妥當(dāng),許多計(jì)算機(jī)都預(yù)裝了Java,或者你可以很輕松地下載Java。另外,你還需要一個文本編輯器和終端應(yīng)用。
編輯推薦
《Java程序設(shè)計(jì):一種跨學(xué)科的方法》特色是接學(xué)習(xí)編程的四個階段來組織《Java程序設(shè)計(jì):一種跨學(xué)科的方法》。示例豐富,涉及了Java在各種學(xué)科之中的應(yīng)用,具有很高的參考價值。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載