[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

     经部  史类  子部  集部  古籍管理  古籍工具书  四库全书  古籍善本影音本  中国藏书
  •  文化

     文化评述  文化随笔  文化理论  传统文化  世界各国文化  文化史  地域文化  神秘文化  文化研究  民俗文化  文化产业  民族文化  书的起源/书店  非物质文化遗产  文化事业  文化交流  比较文化学
  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

     执业资格考试用书  室内设计/装潢装修  标准/规范  建筑科学  建筑外观设计  建筑施工与监理  城乡规划/市政工程  园林景观/环境艺术  工程经济与管理  建筑史与建筑文化  建筑教材/教辅  英文原版书-建筑
  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

     园艺  植物保护  畜牧/狩猎/蚕/蜂  林业  动物医学  农作物  农学(农艺学)  水产/渔业  农业工程  农业基础科学  农林音像
  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

  •  保健/养生

  •  体育/运动

  •  手工/DIY

  •  休闲/爱好

  •  英文原版书

  •  港台图书

  •  研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学

  •  音乐
     音乐理论

     声乐  通俗音乐  音乐欣赏  钢琴  二胡  小提琴
  • 數據結構與算法分析(C++版)(第三版)(英文版)
    該商品所屬分類:圖書 -> 電子工業出版社
    【市場價】
    1203-1744
    【優惠價】
    752-1090
    【作者】 CliffordAShaffer克利福德 A謝弗CliffordAShaffer 
    【所屬類別】 電子工業出版社 
    【出版社】電子工業出版社 
    【ISBN】9787121393549
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    出版社:電子工業出版社
    ISBN:9787121393549
    版次:3

    商品編碼:12714093
    品牌:電子工業出版社
    包裝:平裝

    叢書名:國外計算機科學教材繫列
    開本:16開
    出版時間:2020-08-01

    用紙:膠版紙
    頁數:604
    字數:1256000

    正文語種:中文
    作者:Clifford,A.,Shaffer,克利福德,?,A.,謝弗],Clifford,A.,Shaffer


        
        
    "

    編輯推薦

    適讀人群 :本書適合作為大專院校計算機軟件專業與計算機應用專業學生的教材和參考書,也適合計算機工程技術人員參考。

    本書采用程序員偏愛的面向對像C++語言來描述數據結構和算法,並把數據結構原理和算法分析技術有機地結合在一起,繫統介紹了各種類型的數據結構和排序、檢索的各種方法。作者非常注意對每一種數據結構的不同存儲方法及有關算法進行分析比較。書中還引入了一些比較高級的數據結構與先進的算法分析技術,並介紹了可計算性理論的一般知識。

    內容簡介

    本書采用程序員偏愛的面向對像C++語言來描述數據結構和算法,並把數據結構原理和算法分析技術有機地結合在一起,繫統介紹了各種類型的數據結構和排序、檢索的各種方法。作者非常注意對每一種數據結構的不同存儲方法及有關算法進行分析比較。書中還引入了一些比較高級的數據結構與先進的算法分析技術,並介紹了可計算性理論的一般知識。書中分別給出了C++實現方法和偽碼實現方法,便於讀者根據情況選擇。在作者維護的網站可下載相關代碼、編程項目和輔助練習資料。本書已根據作者在網站提供的勘誤表進行過內容更正。

    作者簡介

    Clifford A. Shaffer教授於美國馬裡蘭大學獲得計算機科學博士學位,在弗吉尼亞理工大學計算機科學繫任教超過30年,具有豐富的教學經驗,並參與遺傳學、生物信息學和計算生物學等交叉項目。著有多本數據結構和算法分析的教材。
    Clifford A. Shaffer教授於美國馬裡蘭大學獲得計算機科學博士學位,在弗吉尼亞理工大學計算機科學繫任教超過30年,具有豐富的教學經驗,並參與遺傳學、生物信息學和計算生物學等交叉項目。著有多本數據結構和算法分析的教材。

    目錄

    Contents
    Part I Preliminaries 預備知識
    Chapter 1 Data Structures and Algorithms 數據結構和算法 3
    1.1 A Philosophy of Data Structures 數據結構的原則 4
    1.1.1 The Need for Data Structures 學習數據結構的必要性 4
    1.1.2 Costs and Benefits 代價與效益 6
    1.2 Abstract Data Types and Data Structures 抽像數據類型和數據結構 8
    1.3 Design Patterns 設計模式 12
    1.3.1 Flyweigh模式 13
    1.3.2 Visitor 訪問者模式 13
    1.3.3 Composite 組合模式 14
    1.3.4 Strategy 策略模式 15
    1.4 Problems, Algorithms, and Programs 問題、算法和程序 16
    1.5 Further Reading 深入學習導讀 18
    1.6 Exercises 習題 20

    Chapter 2 Mathematical Preliminaries 數學預備知識 25
    2.1 Sets and Relations 集合和關繫 25
    2.2 Miscellaneous Notation 常用數學術語 29
    2.3 Logarithms 對數 31
    2.4 Summations and Recurrences 級數求和與遞歸 32
    2.5 Recursion 遞歸 36
    2.6 Mathematical Proof Techniques 數學證明方法 38
    2.6.1 Direct Proof 直接證明法 39
    2.6.2 Proof by Contradiction 反證法 39
    2.6.3 Proof by Mathematical Induction 數學歸納法 40
    2.7 Estimation 估計 46
    2.8 Further Reading 深入學習導讀 47
    2.9 Exercises 習題 48

    Chapter 3 Algorithm Analysis 算法分析 55
    3.1 Introduction 概述 55
    3.2 Best, Worst, and Average Cases 最佳、最差和平均情況 61
    3.3 A Faster Computer, or a Faster Algorithm 換一臺更快的計算機,還是換一種更快的算法 62
    3.4 Asymptotic Analysis 漸近分析 65
    3.4.1 Upper Bounds 上限 65
    3.4.2 Lower Bounds 下限 67
    3.4.3 Θ Notation Θ表示法 68
    3.4.4 Simplifying Rules 化簡法則 69
    3.4.5 Classifying Functions 函數分類 70
    3.5 Calculating the Running Time for a Program 程序運行時間的計算 71
    3.6 Analyzing Problems 問題的分析 76
    3.7 Common Misunderstandings 容易混淆的概念 77
    3.8 Multiple Parameters 多參數問題 79
    3.9 Space Bounds 空間代價 80
    3.10 Speeding Up Your Programs 加速你的程序 82
    3.11 Empirical Analysis 實證分析 85
    3.12 Further Reading 深入學習導讀 86
    3.13 Exercises 習題 86
    3.14 Projects 項目設計 90

    Part II Fundamental Data Structures 基本數據結構
    Chapter 4 Lists, Stacks, and Queues 線性表、棧和隊列 95
    4.1 Lists 線性表 96
    4.1.1 Array-Based List Implementation 順序表的實現 100
    4.1.2 Linked Lists 鏈表 103
    4.1.3 Comparison of List Implementations 線性表實現方法的比較 112
    4.1.4 Element Implementatio素的表示 114
    4.1.5 Doubly Linked Lists 雙鏈表 115
    4.2 Stacks 棧 120
    4.2.1 Array-Based Stacks 順序棧 121
    4.2.2 Linked Stacks 鏈式棧 123
    4.2.3 Comparison of Array-Based and Linked Stacks 順序棧與鏈式棧的比較 123
    4.2.4 Implementing Recursion 遞歸的實現 125
    4.3 Queues 隊列 127
    4.3.1 Array-Based Queues 順序隊列 128
    4.3.2 Linked Queues 鏈式隊列 133
    4.3.3 Comparison of Array-Based and Linked Queues 順序隊列與鏈式隊列的比較 133
    4.4 Dictionaries 字典 133
    4.5 Further Reading 深入學習導讀 145
    4.6 Exercises 習題 145
    4.7 Projects 項目設計 148

    Chapter 5 Binary Trees 二叉樹 151
    5.1 Definitions and Properties 定義及主要特性 151
    5.1.1 The Full Binary Tree Theorem 滿二叉樹定理 153
    5.1.2 A Binary Tree Node ADT 二叉樹的抽像數據類型 155
    5.2 Binary Tree Traversals 遍歷二叉樹 155
    5.3 Binary Tree Node Implementations 二叉樹的實現 160
    5.3.1 Pointer-Based Node Implementations 使用指針實現二叉樹 160
    5.3.2 Space Requirements 空間代價 166
    5.3.3 Array Implementation for Complete Binary Trees 使用數組實現完全二叉樹 168
    5.4 Binary Search Trees 二叉檢索樹 168
    5.5 Heaps and Priority Queues 堆與優先隊列 178
    5.6 Huffman Coding Trees Huffman編碼樹 185
    5.6.1 Building Huffman Coding Trees 建立Huffman編碼樹 186
    5.6.2 Assigning and Using Huffman Codes Huffman編碼及其用法 192
    5.6.3 Search in Huffman Trees 在Huffman樹中搜索 195
    5.7 Further Reading 深入學習導讀 196
    5.8 Exercises 習題 196
    5.9 Projects 項目設計 200

    Chapter 6 Non-Binary Trees 樹 203
    6.1 General Tree Definitions and Terminology 樹的定義與術語 203
    6.1.1 An ADT for General Tree Nodes 樹結點的ADT 204
    6.1.2 General Tree Traversals 樹的遍歷 205
    6.2 The Parent Pointer Implementation 父指針表示法 207
    6.3 General Tree Implementations 樹的實現 213
    6.3.1 List of Children 子結點表表示法 214
    6.3.2 The Left-Child/Right-Sibling Implementation 左子結點/右兄弟結點表示法 215
    6.3.3 Dynamic Node Implementations 動態結點表示法 215
    6.3.4 Dynamic “Left-Child/Right-Sibling” Implementation 動態左子結點/右兄弟結點表示法 218
    6.4 K-ary Trees K叉樹 218
    6.5 Sequential Tree Implementations 樹的順序表示法 219
    6.6 Further Reading 深入學習導讀 223
    6.7 Exercises 習題 223
    6.8 Projects 項目設計 226

    Part III Sorting and Searching 排序與檢索
    Chapter 7 Internal Sorting 內排序 231
    7.1 Sorting Terminology and Notation 排序術語 232
    7.2 Three Θ(n2) Sorting Algorithms 三種代價為Θ(n2)的排序算法 233
    7.2.1 Insertion Sort 插入排序 233
    7.2.2 Bubble Sort 冒泡排序 235
    7.2.3 Selection Sort 選擇排序 237
    7.2.4 The Cost of Exchange Sorting 交換排序算法的時間代價 238
    7.3 Shellsort Shell排序 239
    7.4 Mergesort 歸並排序 241
    7.5 Quicksort 快速排序 244
    7.6 Heapsort 堆排序 251
    7.7 Binsort and Radix Sort 分配排序和基數排序 252
    7.8 An Empirical Comparison of Sorting Algorithms 對各種排序算法的實驗比較 259
    7.9 Lower Bounds for Sorting 排序問題的下限 261
    7.10 Further Reading 深入學習導讀 265
    7.11 Exercises 習題 265
    7.12 Projects 項目設計 269

    Chapter 8 File Processing and External Sorting 文件管理和外排序 273
    8.1 Primary versus Secondary Storage 主存儲器和輔助存儲器 273
    8.2 Disk Drives 磁盤 276
    8.2.1 Disk Drive Architecture 磁盤結構 276
    8.2.2 Disk Access Costs 磁盤訪問代價 280
    8.3 Buffers and Buffer Pools 緩衝區和緩衝池 282
    8.4 The Programmer’s View of Files 程序員的文件視圖 290
    8.5 External Sorting 外排序 291
    8.5.1 Simple Approaches to External Sorting 外排序的簡單方法 294
    8.5.2 Replacement Selection 置換選擇排序 296
    8.5.3 Multiway Merging 多路歸並 300
    8.6 Further Reading 深入學習導讀 303
    8.7 Exercises 習題 304
    8.8 Projects 項目設計 307

    Chapter 9 Searching 檢索 311
    9.1 Searching Unsorted and Sorted Arrays 檢索未排序和已排序的數組 312
    9.2 Self-Organizing Lists 自組織線性表 317
    9.3 Bit Vectors for Representing Sets 集合檢索 323
    9.4 Hashing 散列方法 324
    9.4.1 Hash Functions 散列函數 325
    9.4.2 Open Hashing 開散列方法 330
    9.4.3 Closed Hashing 閉散列方法 331
    9.4.4 Analysis of Closed Hashing 閉散列方法分析 339
    9.4.5 Deletion 刪除 344
    9.5 Further Reading 深入學習導讀 345
    9.6 Exercises 習題 345
    9.7 Projects 項目設計 348

    Chapter 10 Indexing 索引技術 351
    10.1 Linear Indexing 線性索引 353
    10.2 ISAM 索引順序訪問方法 356
    10.3 Tree-based Indexing 基於樹的索引 358
    10.4 2-3 Trees 2-3樹 360
    10.5 B-Trees B樹 364
    10.5.1 B+-Trees B+樹 368
    10.5.2 B-Tree Analysis B樹分析 374
    10.6 Further Reading 深入學習導讀 375
    10.7 Exercises 習題 375
    10.8 Projects 項目設計 377

    Part IV Advanced Data Structures 高級數據結構
    Chapter 11 Graphs 圖 381
    11.1 Terminology and Representations 術語和表示法 382
    11.2 Graph Implementations 圖的實現 386
    11.3 Graph Traversals 圖的遍歷 390
    11.3.1 Depth-First Search 深度優先搜索 393
    11.3.2 Breadth-First Search 廣度優先搜索 394
    11.3.3 Topological Sort 拓撲排序 394
    11.4 Shortest-Paths Problems 最短路徑問題 399
    11.4.1 Single-Source Shortest Paths 單源最短路徑 400
    11.5 Minimum-Cost Spanning Trees 最小支撐樹 402
    11.5.1 Prim’s Algorithm Prim算法 404
    11.5.2 Kruskal’s Algorithm Kruskal算法 407
    11.6 Further Reading 深入學習導讀 408
    11.7 Exercises 習題 408
    11.8 Projects 項目設計 412

    Chapter 12 Lists and Arrays Revisited 線性表和數組高級技術 415
    12.1 Multilists 廣義表 415
    12.2 Matrix Representations 矩陣的表示方法 418
    12.3 Memory Management 存儲管理 422
    12.3.1 Dynamic Storage Allocation 動態存儲分配 424
    12.3.2 Failure Policies and Garbage Collection 失敗處理策略和收集 431
    12.4 Further Reading 深入學習導讀 435
    12.5 Exercises 習題 436
    12.6 Projects 項目設計 437

    Chapter 13 Advanced Tree Structures 高級樹結構 439
    13.1 Tries Tries結構 439
    13.2 Balanced Trees 平衡樹 444
    13.2.1 The AVL Tree AVL樹 445
    13.2.2 The Splay Tree 伸展樹 447
    13.3 Spatial Data Structures 空間數據結構 450
    13.3.1 The k-d Tree k-d樹 452
    13.3.2 The PR quadtree PR四分樹 457
    13.3.3 Other Point Data Structures 其他點狀數據結構 461
    13.3.4 Other Spatial Data Structures 其他空間數據結構 463
    13.4 Further Reading 深入學習導讀 463
    13.5 Exercises 習題 464
    13.6 Projects 項目設計 465

    Part V Theory of Algorithms 算法理論
    Chapter 14 Analysis Techniques 分析技術 471
    14.1 Summation Techniques 求和技術 472
    14.2 Recurrence Relations 遞歸關繫 477
    14.2.1 Estimating Upper and Lower Bounds 估算上下限 477
    14.2.2 Expanding Recurrences 擴展遞歸 480
    14.2.3 Divide and Conquer Recurrences 分治法遞歸 482
    14.2.4 Average-Case Analysis of Quicksort 快速排序平均情況分析 484
    14.3 Amortized Analysis 均攤分析 486
    14.4 Further Reading 深入學習導讀 489
    14.5 Exercises 習題 489
    14.6 Projects 項目設計 493

    Chapter 15 Lower Bounds 下限 495
    15.1 Introduction to Lower Bounds Proofs 下限證明簡介 496
    15.2 Lower Bounds on Searching Lists 線性表檢索的下限 498
    15.2.1 Searching in Unsorted Lists 無序線性表檢索 498
    15.2.2 Searching in Sorted Lists 有序線性表檢索 500
    15.3 Finding the Maximum Value 查找最大值 501
    15.4 Adversarial Lower Bounds Proofs 對抗性下限證明 503
    15.5 State Space Lower Bounds Proofs 狀態空間下限證明 506
    15.6 Finding the ith Best Element 查找素 509
    15.7 Optimal Sorting 優化排序 511
    15.8 Further Reading 深入學習導讀 514
    15.9 Exercises 習題 514
    15.10 Projects 項目設計 517

    Chapter 16 Patterns of Algorithms 算法模式 519
    16.1 Dynamic Programming 動態規劃 519
    16.1.1 The Knapsack Problem 背包問題 521
    16.1.2 All-Pairs Shortest Paths 全局最短路徑 523
    16.2 Randomized Algorithms 隨機算法 525
    16.2.1 Randomized algorithms for finding large values 查找最大值的隨機算法 525
    16.2.2 Skip Lists 跳躍表 526
    16.3 Numerical Algorithms 數值算法 532
    16.3.1 Exponentiation 冪運算 533
    16.3.2 Largest Common Factor 最大公約數 533
    16.3.3 Matrix Multiplication 矩陣相乘 534
    16.3.4 Random Numbers 隨機數 536
    16.3.5 The Fast Fourier Transform 快速傅裡葉變換 537
    16.4 Further Reading 深入學習導讀 542
    16.5 Exercises 習題 542
    16.6 Projects 項目設計 543

    Chapter 17 Limits to Computation 計算的限制 545
    17.1 Reductions 歸約 546
    17.2 Hard Problems 難解問題 551
    17.2.1 The Theory of NP-Completeness NP完全性理論 553
    17.2.2 NP-Completeness Proofs NP完全性證明 557
    17.2.3 Coping with NP-Complete Problems 處理NP完全性問題 562
    17.3 Impossible Problems 不可解問題 565
    17.3.1 Uncountability 不可數性 566
    17.3.2 The Halting Problem Is Unsolvable 停機問題的不可解性 569
    17.4 Further Reading 深入學習導讀 571
    17.5 Exercises 習題 572
    17.6 Projects 項目設計 574

    Part VI Appendix 附錄
    Appendix A Utility Functions 實用函數 579
    Bibliography 參考文獻 581
    查看全部↓

    前言/序言

    導讀

    本書是關於數據結構與算法的經典教材,主要論述了數據的邏輯結構、存儲結構、算法設計以及算法評價,使讀者能夠深入了解線性表、棧、隊列、樹、圖等數據結構以及排序和檢索等基礎算法,並掌握在不同的數據結構上進行有關算法設計的思想和技巧。書中包含大量代碼實例和詳盡的解釋,非常適合作為計算機專業本科生的低年級入門教材。

    全書由淺入深,分成了五部分。針對計算機專業的低年級本科生而言,可重點學習前面三部分的內容,學有餘力的讀者可以在此基礎上繼續研讀後面的內容。下面為讀者介紹本書的重點內容。


    基礎知識

    本書第1章介紹數據結構的入門基礎知識。其中1.1節主要介紹數據結構的定義、基本術語以及數據結構的基本類型。讀者可通過該節的學習,重點理解數據結構對抽像表達、程序建模的重要作用,了解在實際應用過程中數據結構的優缺點分析方法。1.2節重點介紹基於抽像數據類型的數據結構描述方法,這是整本書中各個數據結構的基本描述方法。讀者可穿插翻閱後面第4章至第6章中各種數據結構的抽像數據類型,加深對此概念的理解。此外,通過學習1.4節,讀者可進一步理解數據結構、問題與算法的關繫。

    第2章介紹本課程涉及的一些基礎數學知識。這裡介紹的絕大部分數學知識,讀者都在中學階段學過。讀者可簡單快速地瀏覽一下,用時再來回顧翻查。

    第3章主要介紹算法復雜度的定義以及分析方法。通過學習這一章,讀者就能了解漸近算法復雜度分析方法,理解上界分析、下界分析以及確切界的具體定義和快速分析方法,並掌握針對任意給定程序片段的基本分析方法。


    數據結構

    本書第II部分是整本教材的重點,主要討論了線性表(List)、二叉樹(Binary Tree)、普通樹(General Tree)和圖(Graph)的定義與實現方法。為了能對各類數據結構融會貫通,建議讀者將第4章至第6章以及第11章放在一起來進行對比學習。

    第4章主要介紹線性表的定義、存儲實現方法,以及插入、刪除和定位等基本運算;介紹了棧和隊列的基本定義、基本操作,以及靈活運用線性表解決現實工程問題的方法。本章的重點是分析線性表的數組和鏈表這兩種實現方法的優缺點,實現線性表的插入、刪除和定位等基本運算的算法,掌握棧的入棧和出棧的操作以及隊列的入隊和出隊的操作。本章的難點是掌握單鏈表及循環鏈表的算法設計綜合應用,掌握在循環隊列上進行入隊、出隊以及求隊列長度的操作。

    第5章主要闡述二叉樹的基本定義和存儲實現方式,介紹二叉樹的遍歷和搜索等基本操作,並討論堆和哈夫曼樹的基本原理和實現方法。本章的重點是基於鏈接和數組兩種存儲結構的二叉樹實現方法,基於遞歸的二叉樹遍歷算法,以及二叉檢索樹的搜索、刪除結點和添加結點等操作的實現。本章的難點是堆的構建,插入刪除結點的算法實現,以及哈夫曼樹和哈夫曼編碼的原理。

    第6章主要介紹普通樹的基本定義、遍歷算法,以及樹的基本存儲結構的原理。本章的重點是左子結點/右兄弟結點的實現方法,以及普通樹和森林與二叉樹的相互轉換方法。本章的難點是普通樹的順序存儲方法。

    第11章主要介紹圖的定義和實現方法,圖的遍歷算法、拓撲排序算法、最短路徑算法以及最小生成樹算法。本章的重點是圖的鄰接表和鄰接矩陣兩種實現方法的原理以及優缺點對比,基於遞歸函數的圖的遍歷算法的實現,拓撲排序算法的實現方法以及應用。本章的難點是Dijkstra最短路徑算法、Floyd最短路徑算法,以及最小支撐樹算法。


    排序與檢索算法

    第III部分主要介紹排序與檢索這兩類比較常見的算法,讀者在掌握了前面所學數據結構的基礎上,可以較為容易地掌握這些算法。

    第7章和第8章主要介紹排序算法的定義、排序算法的穩定性分析方法、排序算法的設計與實現、排序算法的復雜度對比分析,以及排序算法的應用。這兩章的重點是快速排序算法、歸並排序算法以及堆排序算法的實現。這兩章的難點是希爾排序算法的原理和實現,以及快速排序算法的改進方法。

    第9章主要介紹檢索的基本原理和二分法檢索,討論了哈希表的原理、構建以及相關操作。本章的重點是哈希表的原理、哈希函數的設計方法,以及哈希表的插入和刪除算法的實現。本章的難點是哈希表的衝突解決策略。

    第10章主要介紹線性索引、2-3樹索引、B/B+樹索引的構建方法,以及算法復雜度分析方法。本章的重點是線性索引和2-3樹索引的插入、刪除和檢索算法,以及B樹和B+樹的定義。本章的難點是B樹和B+樹的插入、刪除和檢索算法。

    至此,通過前三部分的學習,讀者已掌握了數據結構的基本知識、理論和分析方法,為從事相關計算機程序分析和設計工作以及相關專業的後續課程學習打下了扎實的基礎。讀者在本書各章節的學習過程中,可動手實踐對應的程序代碼,掌握各類數據結構與算法的實現方法。華南理工大學計算機科學與工程學院的“數據結構”課程采用了本書作為教材。我們授課團隊結合本書設計了相應的在線教學視頻(https://next.xuetangx.com/course/SCUT08091000960/),感興趣的讀者可參考學習,定能起到事半功倍的作用。采用本書作為教材的授課教師,也可登錄華信教育資源網(www.hxedu.com.cn)注冊後免費下載我們的教學用PPT等相關資料。

    呂建明教授 博導

    華南理工大學計算機科學與工程學院




    Preface

    We study data structures so that we can learn to write more efficient programs. But why must programs be efficient when new computers are faster every year? The reason is that our ambitions grow with our capabilities. Instead of rendering efficiency needs obsolete, the modern revolution in computing power and storage capability merely raises the efficiency stakes as we attempt more complex tasks.

    The quest for program efficiency need not and should not conflict with sound design and clear coding. Creating efficient programs has little to do with “programming tricks” but rather is based on good organization of information and good algorithms. A programmer who has not mastered the basic principles of clear design is not likely to write efficient programs. Conversely, concerns related to development costs and maintainability should not be used as an excuse to justify inefficient performance. Generality in design can and should be achieved without sacrificing performance, but this can only be done if the designer understands how to measure performance and does so as an integral part of the design and implementation process. Most computer science curricula recognize that good programming skills begin with a strong emphasis on fundamental software engineering principles. Then, once a programmer has learned the principles of clear program design and implementation, the next step is to study the effects of data organization and algorithms on program efficiency.


    Approach: This book describes many techniques for representing data. These techniques are presented within the context of the following principles:

    1. Each data structure and each algorithm has costs and benefits. Practitioners need a thorough understanding of how to assess costs and benefits to be able to adapt to new design challenges. This requires an understanding of the principles of algorithm analysis, and also an appreciation f


    查看全部↓



    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部