出版時間:2010-9 出版社:清華大學出版社 作者:滕國文 頁數(shù):226
Tag標簽:無
前言
“數(shù)據(jù)結(jié)構(gòu)”課程的教學目標是要求學生學會分析數(shù)據(jù)對象特征,掌握數(shù)據(jù)組織方法和計算機的表示方法,以便為應(yīng)用所涉及的數(shù)據(jù)選擇適當?shù)倪壿嫿Y(jié)構(gòu)、存儲結(jié)構(gòu)以及相應(yīng)算法,初步掌握算法時間空間分析的技巧,培養(yǎng)良好的程序設(shè)計技能。數(shù)據(jù)結(jié)構(gòu)的學習過程是進行復雜程序設(shè)計的訓練過程。技能培養(yǎng)的重要程度不亞于知識傳授,學生不僅要理解授課內(nèi)容,還應(yīng)培養(yǎng)應(yīng)用知識解答復雜問題的能力,形成良好的算法設(shè)計思想、方法技巧與風格,進行構(gòu)造性思維,強化程序抽象能力和數(shù)據(jù)抽象能力。因此,學習數(shù)據(jù)結(jié)構(gòu),僅從書本上學習是不夠的,必須經(jīng)過大量的實踐,在實踐中體會構(gòu)造性思維的方法,掌握數(shù)據(jù)組織與程序設(shè)計的技術(shù)。在該課程的學習過程中,初學者會感到困惑,其主要原因:一是數(shù)據(jù)結(jié)構(gòu)內(nèi)容抽象;二是動態(tài)存儲結(jié)構(gòu)難以理解;三是使用多種技術(shù),如遞歸技術(shù)等掌握較為困難;四是算法描述、設(shè)計無從下手等。為了使學生更好地學習本課程,理解和掌握算法設(shè)計所需的技術(shù),為整個專業(yè)的學習打好基礎(chǔ),本人根據(jù)學生的學習特點及自己二十多年的教學經(jīng)驗和總結(jié),編寫了本書,希望能給學生帶來一些啟發(fā)。編寫本書的出發(fā)點不是要給學生幾個課程設(shè)計實例,而是希望通過一些典型的課程設(shè)計實例訓練,使學生掌握如何利用數(shù)據(jù)結(jié)構(gòu)知識去解決實際問題。全書共分為8章。第1章是關(guān)于數(shù)據(jù)結(jié)構(gòu)課程設(shè)計的概述;第2~8章按照一般教學順序,分別給出線性表、棧、隊列、串、多維數(shù)組和廣義表、樹狀結(jié)構(gòu)和圖狀結(jié)構(gòu)的課程設(shè)計實例。本書是在作者的“數(shù)據(jù)結(jié)構(gòu)”講義和指導學生的“課程設(shè)計大作業(yè)”基礎(chǔ)上編寫而成的。第2~8章的課程設(shè)計分別由宮耀勤、李闖、張偉、叢飚、逯洋、李淑梅和英昌盛完成修改或設(shè)計,2007級學生王旭峰、楊名、張洋銘、袁洋、楊靜、王珊珊和張群等參加了部分代碼編寫和程序調(diào)試,夏鳳琴、劉艷玲、姚建盛、李穎、張桂杰、梁微、代勝男、羅琳、郝萬萍和王金平等人進行了文稿的校對,最后由英昌盛對源程序統(tǒng)一整理,作者謹此一并致以誠摯的謝意。全書由滕國文教授統(tǒng)稿、審閱和整理后定稿。
內(nèi)容概要
本書列舉了數(shù)據(jù)結(jié)構(gòu)課程設(shè)計實例,通過綜合訓練,能夠培養(yǎng)學生實際分析問題、解決問題、編程和動手操作等多方面的能力,最終目的是幫助學生系統(tǒng)地掌握該門課程的基本內(nèi)容,并運用所學的數(shù)據(jù)結(jié)構(gòu)知識去解決實際問題。 全書共8章,內(nèi)容包括數(shù)據(jù)庫課程設(shè)計概述、線性表、棧、隊列、串、多維數(shù)組和廣義表、樹狀結(jié)構(gòu)、圖狀結(jié)構(gòu)等問題的應(yīng)用。 本書是一本獨立于具體的數(shù)據(jù)結(jié)構(gòu)教材的課程設(shè)計輔導書,通過針對每種數(shù)據(jù)結(jié)構(gòu)的具體實例,循序漸進地啟發(fā)學生完成設(shè)計。書中給出的實例都是完整可運行的,同時給出了測試樣例、總結(jié)與思考等,是一本很好的教學輔導參考書。 本書可作為高等院校計算機專業(yè)及相關(guān)專業(yè)教材或參考書,也可供從事軟件開發(fā)工作和計算機編程愛好者參考。
書籍目錄
第1章 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計概述1 1.1 數(shù)據(jù)結(jié)構(gòu)簡介1 1.2 課程設(shè)計目標和特點2 1.3 編寫說明3 1.4 課程設(shè)計實例的標準格式4第2章 線性表的應(yīng)用6 2.1 存儲結(jié)構(gòu)與基本運算的算法6 2.2 集合的交、并運算15 2.3 學生成績管理18 2.4 多項式求導25 2.5 約瑟夫環(huán)問題30 2.6 數(shù)據(jù)庫管理系統(tǒng)34第3章 棧的應(yīng)用58 3.1 存儲結(jié)構(gòu)與基本運算的算法58 3.2 括號匹配63 3.3 漢諾塔問題66 3.4 算術(shù)表達式求值69 3.5 馬踏棋盤76第4章 隊列的應(yīng)用82 4.1 存儲結(jié)構(gòu)與基本運算的算法82 4.2 看病排隊候診問題88 4.3 數(shù)制的轉(zhuǎn)換91 4.4 停車場管理99 4.5 基數(shù)排序107第5章 串的應(yīng)用114 5.1 存儲結(jié)構(gòu)與基本運算的算法114 5.2 KMP算法118 5.3 最長公共子串121 5.4 大整數(shù)計算器123數(shù)據(jù)結(jié)構(gòu)課程設(shè)計目 錄 第6章 多維數(shù)組和廣義表的應(yīng)用130 6.1 存儲結(jié)構(gòu)與基本運算的算法130 6.2 魔方陣139 6.3 稀疏矩陣的加法運算143 6.4 本科生導師制問題151第7章 樹狀結(jié)構(gòu)的應(yīng)用169 7.1 存儲結(jié)構(gòu)與基本運算的算法169 7.2 線索二叉樹的創(chuàng)建與遍歷172 7.3 由遍歷確定二叉樹175 7.4 電文的編碼和譯碼177 7.5 家族關(guān)系查詢系統(tǒng)183第8章 圖狀結(jié)構(gòu)的應(yīng)用201 8.1 存儲結(jié)構(gòu)與基本運算的算法201 8.2 地鐵建設(shè)問題209 8.3 安排教學計劃214 8.4 校園導航218附錄A 課程設(shè)計實例軟件包224參考文獻227
章節(jié)摘錄
插圖:數(shù)據(jù)結(jié)構(gòu)是計算機理論與技術(shù)的重要基石,是計算機科學的核心課程之一。用計算機求解任何問題都離不開程序設(shè)計,而程序設(shè)計的實質(zhì)是數(shù)據(jù)表示和數(shù)據(jù)處理。著名的瑞士計算機科學家沃思(N. Wirth)教授曾指出:算法+數(shù)據(jù)結(jié)構(gòu)一程序。這里的數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),而算法則是對數(shù)據(jù)運算的描述。由此可見,程序設(shè)計的實質(zhì)是對實際問題選擇一種好的數(shù)據(jù)結(jié)構(gòu),再設(shè)計一個好的算法,而好的算法在很大程度上取決于描述實際問題的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)不僅是一般程序設(shè)計的基礎(chǔ),而且是設(shè)計和實現(xiàn)操作系統(tǒng)、數(shù)據(jù)庫及其他系統(tǒng)程序和大型應(yīng)用程序的重要基礎(chǔ)。1968年,著名的美國算法大師克努特(D. E. Knuth)教授開創(chuàng)了“數(shù)據(jù)結(jié)構(gòu)”的最初體系,他所著的《計算機程序設(shè)計藝術(shù)》第一卷《基本算法》是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)及其操作的著作。20世紀70年代初,“數(shù)據(jù)結(jié)構(gòu)”作為一門獨立的課程開始進入大學課堂。數(shù)據(jù)結(jié)構(gòu)是計算機科學與技術(shù)各專業(yè)的核心課程,它既是理論性較強的基礎(chǔ)課,又是實踐性很強的專業(yè)技術(shù)課,在計算機科學領(lǐng)域的主干課程中具有承上啟下的作用。它的先行課程有計算機基礎(chǔ)、程序設(shè)計語言、離散數(shù)學和數(shù)學等;后繼課程有操作系統(tǒng)、數(shù)據(jù)庫原理、編譯原理和軟件開發(fā)技術(shù)等?!皵?shù)據(jù)結(jié)構(gòu)”的發(fā)展趨勢包括兩個方面:一方面是面向?qū)iT領(lǐng)域中特殊問題的數(shù)據(jù)結(jié)構(gòu)的研究和發(fā)展,如圖形數(shù)據(jù)結(jié)構(gòu)、知識數(shù)據(jù)結(jié)構(gòu)和空間數(shù)據(jù)結(jié)構(gòu);另一方面從抽象數(shù)據(jù)類型的角度出發(fā),用面向?qū)ο蟮挠^點來討論數(shù)據(jù)結(jié)構(gòu),已成為新的發(fā)展趨勢。2.數(shù)據(jù)結(jié)構(gòu)課程的教學目標數(shù)據(jù)結(jié)構(gòu)課程的教學目標是要求學生學會分析數(shù)據(jù)對象特征,掌握數(shù)據(jù)在計算機中的組織方法和表示方法,以便為應(yīng)用所涉及的數(shù)據(jù)選擇適當?shù)倪壿嫿Y(jié)構(gòu)、存儲結(jié)構(gòu)及相應(yīng)算法,初步掌握算法分析的技巧,培養(yǎng)良好的程序設(shè)計技能。
編輯推薦
《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計》是獨立于具體的數(shù)據(jù)結(jié)構(gòu)教材的課程設(shè)計輔導書,是用于指導學生完成“數(shù)據(jù)結(jié)構(gòu)課程設(shè)計”大作業(yè)的理想教材。通過針對每種數(shù)據(jù)結(jié)構(gòu)的具體實例,循序漸進地啟發(fā)學生完成設(shè)計。每個課程設(shè)計實例都從提出問題、設(shè)計要求,到選擇使用的數(shù)據(jù)結(jié)構(gòu)、問題的分析與實現(xiàn),最后給出完整可運行的源程序,同時給出了測試樣例。每個課程設(shè)計實例的總結(jié)與思考是該課程設(shè)計的拓展部分。學生可以在具體實例的基礎(chǔ)上,根據(jù)指導自己去開發(fā)設(shè)計,達到舉一反三,真正提高自身實踐能力的目的。對于較大的課程設(shè)計實例,可以將其劃分為幾個子項目,多個學生分工合作共同完成,以培養(yǎng)學生的團隊合作精神。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 PDF格式下載