數據結構精講與習題詳解(C語言版 第2版)/清華大學計算機係列教材 pdf epub mobi txt 電子書 下載 2024

圖書介紹


數據結構精講與習題詳解(C語言版 第2版)/清華大學計算機係列教材


殷人昆 著



點擊這裡下載
    


想要找書就要到 求知書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

发表于2024-11-24

類似圖書 點擊查看全場最低價

齣版社: 清華大學齣版社
ISBN:9787302465126
版次:2
商品編碼:12290572
包裝:平裝
開本:16開
齣版時間:2017-12-01
用紙:膠版紙
頁數:886
字數:1372000

數據結構精講與習題詳解(C語言版 第2版)/清華大學計算機係列教材 epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024

相關圖書



數據結構精講與習題詳解(C語言版 第2版)/清華大學計算機係列教材 epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024

數據結構精講與習題詳解(C語言版 第2版)/清華大學計算機係列教材 pdf epub mobi txt 電子書 下載 2024



具體描述

內容簡介

  本書是清華大學齣版社齣版的《數據結構(C語言版)》(第2版)的配套教材,對“數據結構”課程常用習題進行瞭解析,對許多不易通過自學理解的概念和知識做瞭深入講解,並針對“數據結構”課程的學習給齣瞭指導性建議。本書覆蓋瞭數據結構與算法的主要知識點,共分為8章,包括數據結構緒論,綫性錶,棧和隊列,多維數組、字符串與廣義錶,樹與二叉樹,圖,查找以及排序。每章劃分為多個知識點,首先給齣知識點提要,歸納有關要點和容易忽略的細節;然後給齣選擇題、判斷題、簡答題和算法題4種題型的典型習題。全書的題量為2840題。
  本書既可以作為大學計算機科學與技術、軟件工程等專業的本科生學習“數據結構”課程的輔助教材,也可供考研人員自學參考。

作者簡介

  殷人昆,清華大學計算機係教授,1985年赴日本國東京理科大學做訪問學者,研究方嚮為軟件工程過程的質量管理和軟件産品的質量評價。主要教學工作為計算機係大學本科“數據結構”、“軟件工程”和研究生“軟件工程設計與技術”、“軟件項目管理”課程負責人,主持教育部-微軟精品課程“數據結構”的建設。曾與人閤作或單獨編寫和齣版教材20餘部,其中,《數據結構》教材被評為教育部普通高等教育“十一五”國傢級規劃教材,並於2005年獲“北京市精品教材”。曾在核心刊物和專業會議發錶論文多篇,並參加或主持多項科研項目。

目錄

數據結構精講與習題詳解(C語言版)(第2版)目錄目錄

第1章數據結構緒論1

1.1數據結構的概念及分類1

1.1.1知識點提要1

1.1.2選擇題3

1.1.3判斷題4

1.1.4簡答題5

1.1.5算法題8

1.2算法設計與算法分析10

1.2.1知識點提要10

1.2.2選擇題13

1.2.3判斷題17

1.2.4簡答題18

1.2.5算法題25

第2章綫性錶30

2.1綫性錶的概念30

2.1.1知識點提要30

2.1.2選擇題31

2.1.3判斷題32

2.1.4簡答題32

2.1.5算法題33

2.2順序錶34

2.2.1知識點提要34

2.2.2選擇題36

2.2.3判斷題37

2.2.4簡答題38

2.2.5算法題39

2.3綫性錶的鏈接存儲錶示49

2.3.1知識點提要49

2.3.2選擇題51

2.3.3判斷題55

2.3.4簡答題56

2.3.5算法題57

2.4兩種存儲錶示的比較87

2.4.1知識點提要87

2.4.2選擇題88

2.4.3判斷題89

2.4.4簡答題90

2.4.5算法題91

2.5綫性錶的應用94

2.5.1知識點提要94

2.5.2選擇題97

2.5.3判斷題98

2.5.4簡答題98

2.5.5算法題100

第3章棧和隊列119

3.1棧119

3.1.1知識點提要119

3.1.2選擇題122

3.1.3判斷題126

3.1.4簡答題126

3.1.5算法題131

3.2隊列138

3.2.1知識點提要138

3.2.2選擇題142

3.2.3判斷題145

3.2.4簡答題145

3.2.5算法題150

3.3棧與隊列的應用160

3.3.1知識點提要160

3.3.2選擇題161

3.3.3判斷題162

3.3.4簡答題163

3.3.5算法題168

3.4棧與遞歸188

3.4.1知識點提要188

3.4.2選擇題190

3.4.3判斷題192

3.4.4簡答題193

3.4.5算法題196

第4章多維數組、字符串與廣義錶211

4.1多維數組211

4.1.1知識點提要211

4.1.2選擇題213

4.1.3判斷題215

4.1.4簡答題215

4.1.5算法題218

4.2特殊矩陣與稀疏矩陣242

4.2.1知識點提要242

4.2.2選擇題244

4.2.3判斷題246

4.2.4簡答題247

4.2.5算法題257

4.3字符串272

4.3.1知識點提要272

4.3.2選擇題275

4.3.3判斷題277

4.3.4簡答題278

4.3.5算法題282

4.4廣義錶298

4.4.1知識點提要298

4.4.2選擇題299

4.4.2判斷題300

4.4.3簡答題301

4.4.4算法題305

第5章樹與二叉樹317

5.1樹的基本概念317

5.1.1知識點提要317

5.1.2選擇題319

5.1.3判斷題320

5.1.4簡答題321

5.1.5算法題322

5.2二叉樹及其存儲錶示323

5.2.1知識點提要323

5.2.2選擇題326

5.2.3判斷題329

5.2.4簡答題330

5.2.5算法題334

5.3二叉樹的遍曆339

5.3.1知識點提要339

5.3.2選擇題342

5.3.3判斷題346

5.3.4簡答題347

5.3.5算法題357

5.4綫索二叉樹396

5.4.1知識點提要396

5.4.2選擇題397

5.4.3判斷題400

5.4.4簡答題400

5.4.5算法題402

5.5樹與森林的存儲與遍曆412

5.5.1知識點提要412

5.5.2選擇題415

5.5.3判斷題417

5.5.4簡答題418

5.5.5算法題423

5.6Huffman樹439

5.6.1知識點提要439

5.6.2選擇題442

5.6.3判斷題443

5.6.4簡答題444

5.6.5算法題449

5.7堆453

5.7.1知識點提要453

5.7.2選擇題456

5.7.3判斷題457

5.7.4簡答題457

5.7.5算法題460

5.8並查集466

5.8.1知識點提要466

5.8.2選擇題468

5.8.3判斷題469

5.8.4簡答題469

5.8.5算法題471

第6章圖473

6.1圖的基本概念473

6.1.1知識點提要473

6.1.2選擇題474

6.1.3判斷題476

6.1.4簡答題477

6.1.5算法題481

6.2圖的存儲錶示482

6.2.1知識點提要482

6.2.2選擇題487

6.2.3判斷題489

6.2.4簡答題490

6.2.5算法題496

6.3圖的遍曆517

6.3.1知識點提要517

6.3.2選擇題519

6.3.3判斷題521

6.3.4簡答題522

6.3.5算法題528

6.4最小生成樹556

6.4.1知識點提要556

6.4.2選擇題557

6.4.3判斷題559

6.4.4簡答題559

6.4.5算法題568

6.5最短路徑577

6.5.1知識點提要577

6.5.2選擇題579

6.5.3判斷題580

6.5.4簡答題580

6.5.5算法題585

6.6拓撲排序和關鍵路徑597

6.6.1知識點提要597

6.6.2選擇題600

6.6.3判斷題602

6.6.4簡答題603

6.6.5算法題609

第7章查找617

7.1查找的概念與簡單查找方法617

7.1.1知識點提要617

7.1.2選擇題622

7.1.3判斷題626

7.1.4簡答題626

7.1.5算法題637

7.2二叉查找樹647

7.2.1知識點提要647

7.2.2選擇題650

7.2.3判斷題652

7.2.4簡答題653

7.2.5算法題658

7.3AVL樹672

7.3.1知識點提要672

7.3.2選擇題676

7.3.3判斷題678

7.3.4簡答題679

7.3.5算法題684

7.4B樹與B+樹691

7.4.1知識點提要691

7.4.2選擇題696

7.2.3判斷題699

7.4.4簡答題699

7.4.5算法題709

7.5散列法715

7.5.1知識點提要715

7.5.2選擇題720

7.5.3判斷題724

7.5.4簡答題725

7.5.5算法題734

第8章排序746

8.1排序的概念746

8.1.1知識點提要746

8.1.2選擇題748

8.1.3判斷題749

8.1.4簡答題749

8.1.5算法題751

8.2插入排序752

8.2.1知識點提要752

8.2.2選擇題754

8.2.3判斷題756

8.2.4簡答題756

8.2.5算法題761

8.3交換排序767

8.3.1知識點提要767

8.3.2選擇題769

8.3.3判斷題772

8.3.4簡答題772

8.3.5算法題779

8.4選擇排序794

8.4.1知識點提要794

8.4.2選擇題796

8.4.3判斷題798

8.4.4簡答題798

8.4.5算法題804

8.5歸並排序810

8.5.1知識點提要810

8.5.2選擇題811

8.5.3判斷題812

8.5.4簡答題812

8.5.5算法題815

8.6桶排序823

8.6.1知識點提要823

8.6.2選擇題827

8.6.3判斷題827

8.6.4簡答題828

8.6.5算法題829

8.7內排序方法的比較834

8.7.1知識點提要834

8.7.2選擇題836

8.7.3判斷題838

8.7.4簡答題839

8.7.5算法題842

8.8外排序847

8.8.1知識點提要847

8.8.2選擇題854

8.8.3判斷題856

8.8.4簡答題857

8.8.5算法題874

參考文獻887


精彩書摘

  第3章棧 和 隊 列〖1〗本章的知識結構圖棧和隊列的知識結構圖如圖3��1所示。本章的主要知識點有六個,即棧的概念與存儲錶示、隊列的概念與存儲錶示、棧的應用、隊列的應用、棧和遞歸、特殊隊列(包括雙端隊列和優先級隊列)。
  圖3��1棧和隊列的知識結構圖
  3.1棧〖*4/5〗3.1.1知識點提要1. 棧的定義及基本運算
  (1) 棧(stack)可定義為隻允許在錶的末端進行插入和刪除的綫性錶。允許插入和刪除的一端叫做棧頂(top),而不允許插入和刪除的另一端叫做棧底(bottom)。當棧中沒有任何元素時則成為空棧。
  (2) 棧隻能通過棧頂進行訪問,故棧叫做後進先齣(Last In First Out,LIFO)或先進後齣(First In Last Out,FILO)的綫性錶。
  (3) 棧的基本運算包括以下5種:
  �r 棧初始化void initStack (Stack& S): 創建一個空棧S並使之初始化。
  �r 判棧空否int StackEmpty (Stack& S): 當棧S為空時函數返迴1,否則返迴0。
  �r 進棧int Push (Stack& S,type x): 當棧S未滿時,函數將元素x加入並使之成為新的棧頂。若操作成功,則函數返迴1,否則函數返迴0。
  �r 齣棧int Pop (Stack& S,type& x): 當棧S非空時,函數將棧頂元素從棧中退齣並通過引用參數x返迴退齣元素的值。若操作成功,則函數返迴1,否則函數返迴0。
  �r 讀棧頂元素int getTop (Stack& S,type& x): 當棧S非空時,函數將通過引用參數x返迴棧頂元素的值(但不退齣)。若操作成功,則函數返迴1,否則函數返迴0。
  利用上述5種基本運算,可以實現基於棧結構的應用問題的求解。
  注意,棧操作Pop(S,x)與getTop(S,x)是有區彆的。前者退齣棧頂的元素;後者僅復製齣一份棧頂元素,棧中元素個數不發生變化。
  2. 棧的混洗(shuffle)
  (1) 當一串元素通過棧時,齣棧元素的次序如何排列,與進棧和齣棧操作的排列組閤有關。如果每個元素進棧後立即齣棧,所有齣棧元素的排列與進棧順序完全相同;如果所有元素都進棧後纔開始齣棧,所有齣棧元素的排列與進棧順序完全顛倒。
  (2) 棧的進齣規則: 利用鐵路調車軌道的棧式結構分析,當列車車廂按照1,2,…,n的編號進棧時,可能的不同齣棧序列數目可利用catalan函數算齣: 1n+1Cn2n=1n+1×(2n)!n!×n!3. 棧的順序存儲結構
  棧的順序存儲,簡稱順序棧,是指用一組地址連續的存儲單元依次存儲棧中元素,同時附設指針top指示棧頂元素。
  (1) 順序棧的存儲分配有兩種:
  ① 順序棧的靜態存儲分配,它的存儲數組采用靜態方式定義。#define maxSize 100
  typedef char SElemType;
  typedef struct {
  SElemType elem[maxSize];
  int top;
  } SeqStack;順序棧的靜態存儲結構預先定義或申請棧的存儲空間,一旦裝滿就不能擴充。因此在順序棧中,當一個元素進棧之前,需要判斷是否棧滿,若棧滿,則元素進棧會發生上溢現象。
  ② 順序棧的動態存儲分配,它的存儲數組在使用時動態存儲分配,其好處是一旦棧滿可以擴充。順序棧的動態存儲結構定義如下(保存於SeqStack.h): #define initSize 100
  typedef char SElemType;
  typedef struct {
  SElemType �砮lem;
  int maxSize,top;
  } SeqStack;在初創基於動態存儲分配的順序棧時必須立即為它動態分配存儲空間: elem=(SElemType��)malloc(initSize�硈izeof(SELemType))並以initSize作為最初的maxSize。在擴充時需要申請一個新的具有2×maxSize的連續的存儲空間取代原來的存儲空間,把原來存儲空間內存放的所有棧元素轉移到新的存儲空間後釋放原來的存儲空間,再讓elem指針指示新的存儲空間,並讓maxSize=2×maxSize。
  (2) 進棧和齣棧的處理。有兩種進棧和齣棧的處理方式。
  �r 先讓棧頂指針進一,再按棧頂指針所指位置把進棧元素加入。這樣,棧頂是最後加入元素所處的位置。它的示意圖參看圖3��2。
  圖3��2順序棧的示意圖之一
  按照這種處理方式,在使用棧之前需要做初始化工作,即置空棧。因為一維數組下標從0開始,棧空時應該top<0,因此空棧時棧頂指針top=-1。
  �r 先按棧頂指針所指位置把進棧元素加入,再把棧頂指針加一。這樣,棧頂是最後加入元素的下一位置,是下一次加入元素的位置。它的示意圖參看圖3��3。
  圖3��3順序棧的示意圖之二
  按照這種處理方式,空棧時應該top=0。本書采用前一種處理方式。
  (3) 兩個順序棧共享一個存儲空間。
  利用棧底位置相對不變的特性,可讓兩個順序棧共享一個一維存儲空間,以調劑餘缺,實現方法是: 將兩個棧的棧底位置分彆設在存儲空間的兩端,讓它們的棧頂各自嚮中間延伸,如圖3��4所示。這樣,兩個棧的空間就可以相互調劑,隻有在整個存儲空間被占滿時纔發生上溢,這樣産生上溢的概率要小得多。
  圖3��4兩個棧共享一個存儲空間的結構示意圖
  若設0號棧的棧底指針為b[0],棧頂指針為t[0];1號棧的棧底指針為b[1],棧頂指針為t[1],則各棧初始化的條件為b[0]=t[0]=-1,b[1]=t[1]=maxSize;各棧判棧空的條件為t[0]==b[0] 和t[1]==b[1]。判棧滿的條件為t[0]+1==t[1],注意,絕對不是t[0]+t[1]==maxSize。
  4. 棧的鏈式存儲結構
  ……

前言/序言

  數據結構精講與習題詳解(C語言版)(第2版)第2版前言第2版前言
  本書是《數據結構精講與習題詳解》的第2版,與前一版相比,它做瞭如下改變:
  (1) 對第1版參考答案中存在的代碼錯誤和低效之處進行瞭全麵修改。
  (2) 局部改變瞭第1版的章節編排。將“樹與二叉樹”與“樹的應用”閤並為一章,將“內排序”與“外排序”閤並為一章,將“二叉查找(排序)樹”與“AVL樹”調整到第7章“查找”中。
  (3) 題量從1250 題增加到2840題,同時將“疑難點辨析”改為“判斷題”,部分調整到“簡答題”中。這是考慮到“判斷題”更能夠激發讀者的深度思考。
  (4) “知識點提要”部分沒有如同主教材那樣係統、詳細地討論有關知識點的細節,而是從復習的角度歸納瞭知識點的要點和容易忽略的細節。因此,如果要係統地學習數據結構的主要概念,還是應當以主教材為主,本書為輔,配閤學習。
  (5) 由於篇幅原因,“選擇題”和“判斷題”部分僅給齣答案,刪去瞭解析。因此,這兩部分對於讀者來說更需要“研讀”而不應“走馬觀花”,不但要知其然,而且要知其所以然。對於“選擇題”,首先要瞭解相關知識點的主要概念,如果有把握,可直接確定正確的選項;如果沒有把握,可采用排除法,利用自己掌握的知 數據結構精講與習題詳解(C語言版 第2版)/清華大學計算機係列教材 下載 mobi epub pdf txt 電子書
數據結構精講與習題詳解(C語言版 第2版)/清華大學計算機係列教材 pdf epub mobi txt 電子書 下載
想要找書就要到 求知書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

評分

評分

評分

評分

評分

評分

評分

評分

類似圖書 點擊查看全場最低價

數據結構精講與習題詳解(C語言版 第2版)/清華大學計算機係列教材 pdf epub mobi txt 電子書 下載





相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有