內容介紹
《數據結構與程式設計》共分為9章,最後有一套實驗題目。每章都配置了本章要點、本章小結和習題,便於讀者理解、消化書中的內容。《數據結構與程式設計》的最後,有一套實驗題目,共有六個實驗,每個實驗又包含多道實驗題目,每道實驗題都從問題描述、基本要求、測試數據、實驗提示、選作內容等幾個環節給予解析,通過實驗進一步提高讀者運用數據結構知識解決實際問題的能力。全書融入了作者長期的教學經驗,在編排上注意體現教學思路的完整性,力求做到深入淺出、通俗易懂,同時也考慮了自學者的學習方便,適於教學和自學。
《數據結構與程式設計》的讀者對象是學習數據結構課程的本、專科及高職類學生,也可作為信息類各專業考試、高校教師以及其他專業技術人員的參考用書。
圖書目錄
第1章緒論1
1.1數據結構概述1
1.2算法及其複雜度3
1.2.1什麼是算法3
1.2.2有關算法複雜度的概念4
1.2.3算法複雜度分析4
本章小結8
習題一8第2章線性表10
2.1線性表的概念10
2.2順序存儲的線性表11
2.2.1順序線性表的基本操作11
2.2.2順序線性表套用舉例15
2.3線性鍊表17
2.3.1向前鍊表18
2.3.2循環鍊表25
2.3.3雙向循環鍊表28
2.4線性表套用舉例31
本章小結42
習題二42
第3章棧和佇列46
3.1棧46
3.1.1棧的定義和特性46
3.1.2棧的順序存儲方式46
3.1.3棧的連結存儲方式49
3.2棧的套用舉例51
3.3佇列56
3.3.1佇列的定義和特性56
3.3.2佇列的順序存儲方式56
3.3.3佇列的連結存儲方式61
3.4佇列套用舉例63
本章小結68
習題三68
數據結構與程式設計目錄
第4章串72
4.1串的基本概念和術語72
4.1.1串的定義72
4.1.2串的有關術語72
4.2串的存儲結構73
4.2.1順序存儲結構73
4.2.2鏈式存儲結構74
4.3串的基本操作75
4.3.1串的基本操作75
4.3.2順序串的操作舉例76
4.4串的模式匹配算法78
4.4.1簡單的模式匹配算法78
4.4.2改進後的模式匹配算法82
4.5串操作套用實例86
4.5.1堆存儲結構86
4.5.2文本編輯86
本章小結90
習題四91
第5章數組和廣義表92
5.1數組的定義92
5.2數組的存儲結構93
5.3特殊矩陣的壓縮存儲96
本章小結26
習題27
第3章Java流程控制與數組28
3.1Java程式流程控制28
3.2條件語句if-else29
3.3多分支語句switch和中斷語句break31
3.4循環語句35
3.4.1while語句35
3.4.2do-while語句35
3.4.3for語句36
3.5continue語句38
3.6return語句40
3.7數組和字元串41
3.7.1數組聲明41
3.7.2數組元素的引用及初始化42
3.7.3字元串44
本章小結45
習題45第4章Java面向對象的基本概念474.1面向對象的概念47
4.2面向對象編程基礎48
4.2.1抽象原則48
4.2.2對象49
4.2.3訊息49
4.2.4類50
4.2.5類與對象的關係51
4.3面向對象編程的基本特徵51
4.3.1封裝性51
4.3.2繼承性52
4.3.3多態性53
4.4類54
4.4.1定義類的一般格式54
4.4.2封裝機制55
4.4.3成員變數59
4.4.4成員方法62
4.5Java類庫75
4.5.1Java類庫的優點75
4.5.2Java類庫中的常用包76
4.6對象78
4.6.1對象的創建78
4.6.2對象的使用79
4.6.3對象的初始化與構造方法81
本章小結83
習題83第5章Java類與對象的高級特徵845.1Java面向對象編程的套用總結84
5.2特殊類的創建與訪問85
5.2.1抽象類85
5.2.2內部類85
5.2.3最終類90
5.2.4包90
5.2.5接口92
5.2.6常用包中的類的使用方法94
5.3構造方法94
5.3.1構造方法的概念95
5.3.2重載構造方法97
5.3.3默認構造方法98
5.3.4構造方法的調用98
5.3.5構造方法的作用域與訪問級別99
5.3.6構造方法的主要特點小結99
5.4方法重載與覆蓋100
5.4.1方法重載100
5.4.2方法覆蓋100
5.5創建對象的各種方式及對象的多態性108
5.5.1創建對象的各種方式108
5.5.2對象的多態性111
5.5.3關於對象的幾個主要關鍵字112
5.5.4Java主要修飾符匯總114
5.5.5程式實例114
本章小結115
習題116第6章Java輸入輸出系統121
6.1輸入輸出流概述121
6.1.1輸入輸出流類的層次結構121
6.1.2標準輸入輸出流122
6.1.3I/O中的異常122
6.2檔案處理122
6.2.1檔案處理的類結構123
6.2.2檔案處理的常用類與隨機訪問檔案類的常用方法123
6.2.3程式實例126
6.3位元組流128
6.3.1InputStream和OutputStream類的層次結構128
6.3.2InputStream和OutputStream類的常用方法129
6.3.3程式實例130
6.4字元流130
6.4.1Reader和Writer類的層次結構130
6.4.2Reader和Writer類的常用方法131
6.4.3程式實例131
6.5過濾流133
6.5.1過濾流的類結構133
6.5.2過濾流類的常用方法134
6.5.3程式實例134
6.6對象的串列化135
6.6.1對象的串列化接口與類135
6.6.2串列化方法135
6.6.3串列化的目的136
6.6.4程式實例138
本章小結139
習題140第7章Java圖形用戶界面144
7.1AWT與Swing組件144
7.1.1AWT組件145
7.1.2Swing組件153
7.2布局管理器168
7.2.1FlowLayout流布局管理器168
7.2.2BorderLayout邊界布局管理器169
7.2.3GridLayout格線布局管理器170
7.2.4CardLayout卡片布局管理器171
7.2.5GridBagLayout格線包布局管理器172
7.2.6BoxLayout盒布局管理器175
7.3事件處理175
7.3.1事件處理機制175
7.3.2創建互動三部曲177
7.4AWT繪圖186
7.4.1基本的繪圖方法186
7.4.2Graphics類及其他相關類187
7.5JavaApplet188
本章小結189
習題190第8章Java異常處理191
8.1Java異常處理概述191
8.2Java異常處理機制及其優點192
8.2.1Java異常處理機制192
8.2.2Java異常處理機制優點193
8.2.3Java異常處理具體形式193
8.3Java異常類196
8.4Java異常處理語句198
8.4.1throws聲明:聲明可能會出現的異常類199
8.4.2throw語句:拋出異常對象199
8.4.3try-catch語句:捕獲異常200
8.4.4finally語句:任何情況下都必須執行的語句204
8.4.5程式實例205
8.5自定義異常類205
本章小結207
習題207
第9章JDBC資料庫編程210
9.1JDBC概述210
9.1.1JDBC簡介210
9.1.2JDBCURL211
9.1.3JDBC-ODBC橋212
9.2JDBC編程212
9.2.1常用的JDBCAPI類212
9.2.2JDBC編程的一般步驟213
9.2.3用JDBC實現資料庫查詢和更新215
9.3Java資料庫編程218
本章小結221
習題222
參考文獻223
附錄AJava關鍵字分類224
附錄BJava運算符優先權表226
附錄CASCII表228
附錄DJava5.0部分常用包中的部分常用類230