數(shù)據(jù)結構與算法

出版時間:2009-6  出版社:科學出版社  作者:張千帆 編  頁數(shù):359  

前言

  國家教育部于1998年7月6日公布了新的《普通高等學校本科專業(yè)目錄》,將原來的經(jīng)濟信息管理、信息學、科技信息管理、林業(yè)信息管理和管理信息系統(tǒng)等專業(yè)合并為管理學科門類中的信息管理與信息系統(tǒng)專業(yè)??梢哉J為,這次合并既是學科相融的必然,也是國家信息化發(fā)展的需要。據(jù)有關資料介紹,到目前為止,全國已有超過200所高校開設了信息管理與信息系統(tǒng)專業(yè)。  自20世紀40年代以來,信息技術經(jīng)過60余年的高速發(fā)展,它對人類社會各個領域的影響越來越廣泛和深入,其影響最大、受益最多的當屬管理和經(jīng)濟領域。信息作為最主要的經(jīng)濟資源,已經(jīng)被人們所接受,并且愈來愈受到重視。信息技術的普及和推廣,信息資源的組織、開發(fā)和利用,促進了企業(yè)的發(fā)展和產(chǎn)業(yè)結構的調(diào)整。當前所實施的電子商務、電子政務和數(shù)字圖書館等工程直接加速了生產(chǎn)力的發(fā)展和促進了社會的進步。我國政府提出的“以信息化帶動工業(yè)化”的戰(zhàn)略舉措,必將有力提升我國的綜合國力,同時也為信息管理與信息系統(tǒng)專業(yè)帶來極大的發(fā)展機遇和發(fā)展空間?! ⌒畔⒐芾砼c信息系統(tǒng)是一門交叉學科,它不是信息技術和管理科學的簡單組合,而需要融合管理學、經(jīng)濟學、系統(tǒng)科學、運籌學和計算機科學于一體,因而,必須要有一套具有本專業(yè)特點的知識結構體系和適合本專業(yè)需要的教材體系。  信息管理與信息系統(tǒng)專業(yè)從1998年設立至今的10多年來,許多專家學者在專業(yè)建設和教材建設方面傾注了大量的心血,有力地促進了專業(yè)和學科的發(fā)展。但是,由于該專業(yè)具有跨度大、內(nèi)容新和變化快等特點,如何培養(yǎng)適應現(xiàn)代信息技術高速發(fā)展需要的、具有創(chuàng)新能力的、既懂信息技術又懂管理的復合型人才,對廣大教育工作者而言是一個巨大的挑戰(zhàn)。

內(nèi)容概要

  《數(shù)據(jù)結構與算法:C語言實現(xiàn)》主要介紹各種基本類型的數(shù)據(jù)結構及其算法實現(xiàn)?!稊?shù)據(jù)結構與算法:C語言實現(xiàn)》所有算法都有算法功能說明、算法思想分析、詳盡的實例描述、C語言編寫并可編譯執(zhí)行的完整程序及運行結果圖示,典型算法附有算法分析。《數(shù)據(jù)結構與算法:C語言實現(xiàn)》是數(shù)據(jù)結構的入門書籍,結構嚴謹,條理清晰,按照線性數(shù)據(jù)結構、層次數(shù)據(jù)結構和網(wǎng)狀數(shù)據(jù)結構的順序,由易到難介紹主要抽象數(shù)據(jù)類型及其應用,最后介紹各種查找和排序方法。抽象的數(shù)據(jù)結構原理與算法實現(xiàn)緊密結合的寫作特點使讀者能夠快速而卓有成效地掌握數(shù)據(jù)結構原理和經(jīng)典算法,以加深讀者對數(shù)據(jù)結構和算法的理解,從而提高編程能力?!  稊?shù)據(jù)結構與算法:C語言實現(xiàn)》可以作為高等院校信息管理類專業(yè)的本科和??平滩?,也可以作為其他理工科專業(yè)的選修教材或?qū)嶒炛笇Ы滩摹?/pre>

書籍目錄

第1章 緒論1.1 數(shù)據(jù)結構與程序設計1.1.1 學習數(shù)據(jù)結構的意義1.1.2 數(shù)據(jù)與數(shù)據(jù)結構1.1.3 數(shù)據(jù)結構類型1.2 抽象數(shù)據(jù)類型1.2.1 C語言中的數(shù)據(jù)類型1.2.2 抽象數(shù)據(jù)類型1.3 算法分析1.3.1 問題、算法與程序1.3.2 算法效率的度量本章小結思考與練習題第2章 線性表2.1 線性表的基本概念2.1.1 線性表的定義與特點2.1.2 線性表的兩類存儲結構2.2 順序表的算法實現(xiàn)2.2.1 順序表的創(chuàng)建2.2.2 順序表內(nèi)結點的插入2.2.3 順序表內(nèi)結點的查找2.2.4 順序表內(nèi)元素的刪除2.3 單鏈表的算法實現(xiàn)2.3.1 單鏈表的結點結構和一般形式2.3.2 單鏈表的創(chuàng)建2.3.3 單鏈表內(nèi)元素的插入2.3.4 單鏈表內(nèi)元素的查找2.3.5 單鏈表內(nèi)元素的刪除2.3.6 兩個單鏈表的合并2.4 雙向鏈表的算法實現(xiàn)2.4.1 雙向鏈表的結點結構和一般形式2.4.2 雙向鏈表的創(chuàng)建2.4.3 雙向鏈表內(nèi)元素的插入2.4.4 雙向鏈表內(nèi)元素的查找2.4.5 雙向鏈表內(nèi)元素的刪除2.5 循環(huán)鏈表的算法實現(xiàn)2.5.1 循環(huán)鏈表的結點結構和一般形式2.5.2 循環(huán)鏈表的創(chuàng)建本章小結思考與練習題第3章 棧與隊列3.1 棧的基本概念3.1.1 棧的定義與特點3.1.2 棧的兩類存儲結構3.2 順序棧的算法實現(xiàn)3.2.1 順序棧的建立和入棧3.2.2 順序棧出棧3.3 隊列的基本概念3.3.1 隊列的定義與特點3.3.2 隊列的存儲結構3.4 順序隊列的算法實現(xiàn)3.4.1 順序隊列建立和入隊3.4.2 順序隊列出隊3.5 循環(huán)隊列的算法實現(xiàn)3.5.1 循環(huán)隊列建立和入隊3.5.2 循環(huán)隊列出隊3.6 鏈隊列的算法實現(xiàn)3.6.1 鏈隊列建立和入隊3.6.2 鏈隊列出隊3.7 棧和隊列的應用——算術表達式求值本章小結思考與練習題第4章 串4.1 串的基本概念4.1.1 串的定義與特點4.1.2 串的存儲結構4.2 串的算法實現(xiàn)4.2.1 串賦值算法4.2.2 求子串算法4.2.3 串比較算法4.2.4 串聯(lián)接算法4.3 串的模式匹配算法實現(xiàn)4.3.1 串的樸素模式匹配算法4.3.2 改進的模式匹配算法本章小結思考與練習題第5章 數(shù)組和廣義表5.1 數(shù)組的基本概念5.1.1 數(shù)組的定義與特點5.1.2 數(shù)組的存儲結構5.2 特殊矩陣的壓縮存儲5.3 矩陣的算法實現(xiàn)5.4 廣義表的基本概念5.4.1 廣義表的定義與圖形表示5.4.2 廣義表的存儲結構5.5 廣義表的算法實現(xiàn)本章小結思考與練習題第6章 樹和二叉樹6.1 樹的基本概念6.1.1 樹的定義與基本術語6.1.2 樹的表示形式和存儲結構6.2 二叉樹的基本概念6.2.1 二叉樹的定義與性質(zhì)6.2.2 二叉樹的存儲結構6.2.3 樹、森林和二叉樹的轉換6.2.4 二叉樹的遍歷6.3 二叉樹算法實現(xiàn)6.3.1 二叉樹的建立6.3.2 遞歸的二叉樹前序遍歷6.3.3 非遞歸的二叉樹前序遍歷6.3.4 遞歸的二叉樹中序遍歷6.3.5 非遞歸的二叉樹中序遍歷6.3.6 遞歸的二叉樹后序遍歷6.3.7 非遞歸的二叉樹后序遍歷6.4 哈夫曼樹及其應用6.4.1 哈夫曼樹與哈夫曼編碼6.4.2 哈夫曼算法實現(xiàn)本章小結思考與練習題第7章 圖7.1 圖的基本概念7.1.1 圖的定義和術語7.1.2 圖的表示與存儲結構7.2 圖的構造算法實現(xiàn)7.2.1 構造數(shù)組存儲的圖7.2.2 構造鄰接表存儲的無向圖7.2.3 構造鄰接表存儲的有向圖7.2.4 構造十字鏈表存儲的有向圖7.2.5 構造鄰接多重表存儲的無向圖7.3 圖的遍歷算法實現(xiàn)7.3.1 深度優(yōu)先遍歷算法7.3.2 廣度優(yōu)先遍歷算法7.4 最小生成樹算法實現(xiàn)7.4.1 普里姆算法7.4.2 克魯斯卡爾算法7.5 圖的應用7.5.1 拓撲排序7.5.2 關鍵路徑7.5.3 最短路徑本章小結思考與練習題第8章 查找8.1 查找的基本概念8.1.1 相關術語8.1.2 查找表結構8.2 順序查找算法的實現(xiàn)8.3 折半查找算法的實現(xiàn)8.4 分塊查找算法8.4.1 索引表8.4.2 分塊查找算法實現(xiàn)8.5 二叉排序樹及其算法實現(xiàn)8.5.1 二叉排序樹及其查找過程8.5.2 二叉排序樹插入結點的過程8.5.3 二叉排序樹刪除結點的過程8.5.4 二叉排序樹的算法實現(xiàn)8.6 平衡二叉樹及其算法實現(xiàn)8.6.1 平衡二叉排序樹及其構造8.6.2 平衡二叉排序樹算法實現(xiàn)8.7 B-樹及其算法實現(xiàn)8.7.1 B-樹8.7.2 B-樹的查找8.7.3 B-樹的插入8.7.4 B-樹的刪除8.7.5 B-樹的算法實現(xiàn)8.8 哈希查找的算法實現(xiàn)8.8.1 哈希表8.8.2 哈希函數(shù)構造方法8.8.3 哈希沖突的處理方法8.8.4 哈希表的算法實現(xiàn)本章小結思考與練習題第9章 排序9.1 排序的基本概念9.1.1 術語介紹9.1.2 常用的內(nèi)容排序算法簡介類型9.2 插入排序的算法實現(xiàn)9.2.1 直接插入排序9.2.2 希爾排序9.3 快速排序的算法實現(xiàn)9.4 選擇排序的算法實現(xiàn)9.4.1 直接選擇排序9.4.2 堆排序9.5 歸并排序的算法實現(xiàn)9.6 基數(shù)排序的算法實現(xiàn)9.7 各種內(nèi)部排序方法的比較9.7.1 時間性能9.7.2 空間性能9.7.3 排序方法的穩(wěn)定性9.8 外部排序本章小結思考與練習題第10章 文件10.1 文件的基本概念10.1.1 文件記錄與文件結構10.1.2 文件操作10.2 文件的存儲結構10.2.1 順序文件10.2.2 索引文件10.2.3 散列文件10.2.4 多關鍵字文件10.2.5 倒排序文件本章小結思考與練習題參考文獻

章節(jié)摘錄

  算法具有以下5個基本特征?! ?)輸入:一個算法具有零個或若干個輸入,這些輸入取自于某個特定的對象集合?! ?)輸出:一個算法至少產(chǎn)生一個輸出或執(zhí)行一個有意義操作,這些輸出是同輸入有著某些特定關系的量?! ?)有窮性:算法的指令執(zhí)行序列是有限的。  4)確定性:每一條指令的含義明確,無二義性?! ?)可執(zhí)行性:每一條指令都應在有限的時間內(nèi)完成?! ∫粋€好的算法應滿足以下5個目標。  1)正確性:算法應確切地滿足具體問題的需求,這是算法設計的基本目標?! ?)可讀性:算法的可讀性有利于人們對算法的理解,這既有利于程序的調(diào)試和維護,也有利于算法的交流和移植。算法的可讀性主要體現(xiàn)在兩方面:一是類名、對象名、方法名等的命名要見名知義;二是要有足夠的注釋。  3)健壯性:當輸入非法數(shù)據(jù)時算法要能做出適當?shù)奶幚?,而不應產(chǎn)生不可預料的結果?! ?)高時間效率:算法的時間效率是指算法的執(zhí)行時間。對于同一個問題如果有多個算法可供選擇,應盡可能選擇執(zhí)行時間短的算法。執(zhí)行時間短的算法稱作高時間效率的算法。  5)低內(nèi)存要求:算法在執(zhí)行時一般要求額外的內(nèi)存空間。對于同一個問題如果有多個算法可供選擇,應盡可能選擇內(nèi)存要求低的算法。

編輯推薦

  《數(shù)據(jù)結構與算法:C語言實現(xiàn)》共10章。第1章為數(shù)據(jù)結構概述,內(nèi)容包括數(shù)據(jù)結構和抽象數(shù)據(jù)類型等概念及算法復雜度的度量。第2章至第7章介紹線性表、棧、隊列、串、數(shù)組、廣義表、樹和二叉樹以及圖等基本類型的數(shù)據(jù)結構及其應用。第8章介紹查找的基本概念,各種查找方法及其算法實現(xiàn)與算法分析。第9章介紹排序的概念及主要排序方法的排序原理、算法實現(xiàn)與算法分析。第10章介紹文件的基本概念及常用的文件結構。  《數(shù)據(jù)結構與算法:C語言實現(xiàn)》可以作為高等院校信息管理類專業(yè)的本科和??平滩模部梢宰鳛槠渌砉た茖I(yè)的選修教材。教師可以根據(jù)本學校的專業(yè)特點、學生情況和教學學時,選講部分章節(jié)的內(nèi)容。

圖書封面

評論、評分、閱讀與下載


    數(shù)據(jù)結構與算法 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7