数据结构与算法分析 : C++版 : 第3版

数据结构与算法分析 : C++版 : 第3版

(美) 谢弗 (Shaffer,C.A.) , 著

出版社:电子工业出版社

年代:2012

定价:69.0

书籍简介:

本书采用程序员最爱用的面向对象C++语言来描述数据结构和算法,并把数据结构原理和算法分析技术有机地结合在一起,系统介绍了各种类型的数据结构和排序、检索的各种方法。作者非常注意对每一种数据结构的不同存储方法及有关算法进行分析比较。书中还引入了一些比较高级的数据结构与先进的算法分析技术,并介绍了可计算性理论的一般知识。本版的重要改进在于引入了参数化的模板,从而提高了算法中数据类型的通用性,支持高效的代码重用。

书籍目录:

PrefacePart I PreliminariesChapter 1 Data Structures and Algorithms1.1 A Philosophy of Data Structures1.1.1 The Need for Data Structures1.1.2 Costs and Benefits1.2 Abstract Data Types and Data Structures1.3 Design Patterns1.3.1 Flyweight1.3.2 Visitor1.3.3 Composite1.3.4 Strategy1.4 Problems, Algorithms, and Programs1.5 Further Reading1.6 ExercisesChapter 2 Mathematical Preliminaries2.1 Sets and Relations2.2 Miscellaneous Notation2.3 Logarithms2.4 Summations and Recurrences2.5 Recursion2.6 Mathematical Proof Techniques2.6.1 Direct Proof2.6.2 Proof by Contradiction2.6.3 Proof by Mathematical Induction2.7 Estimation2.8 Further Reading2.9 ExercisesChapter 3 Algorithm Analysis3.1 Introduction3.2 Best, Worst, and Average Cases3.3 A Faster Computer, or a Faster Algorithm?3.4 Asymptotic Analysis3.4.1 Upper Bounds3.4.2 Lower Bounds3.4.3  Notation3.4.4 Simplifying Rules3.4.5 Classifying Functions3.5 Calculating the Running Time for a Program3.6 Analyzing Problems3.7 Common Misunderstandings3.8 Multiple Parameters3.9 Space Bounds3.10 Speeding Up Your Programs3.11 Empirical Analysis3.12 Further Reading3.13 Exercises3.14 ProjectsPart II Fundamental Data StructuresChapter 4 Lists, Stacks, and Queues4.1 Lists4.1.1 Array-Based List Implementation4.1.2 Linked Lists4.1.3 Comparison of List Implementations4.1.4 Element Implementations4.1.5 Doubly Linked Lists4.2 Stacks4.2.1 Array-Based Stacks4.2.2 Linked Stacks4.2.3 Comparison of Array-Based and Linked Stacks4.2.4 Implementing Recursion4.3 Queues4.3.1 Array-Based Queues4.3.2 Linked Queues4.3.3 Comparison of Array-Based and Linked Queues4.4 Dictionaries4.5 Further Reading4.6 Exercises4.7 ProjectsChapter 5 Binary Trees5.1 Definitions and Properties5.1.1 The Full Binary Tree Theorem5.1.2 A Binary Tree Node ADT5.2 Binary Tree Traversals5.3 Binary Tree Node Implementations5.3.1 Pointer-Based Node Implementations5.3.2 Space Requirements5.3.3 Array Implementation for Complete Binary Trees5.4 Binary Search Trees5.5 Heaps and Priority Queues5.6 Huffman Coding Trees5.6.1 Building Huffman Coding Trees5.6.2 Assigning and Using Huffman Codes5.6.3 Search in Huffman Trees5.7 Further Reading5.8 Exercises5.9 ProjectsChapter 6 Non-Binary Trees6.1 General Tree Definitions and Terminology6.1.1 An ADT for General Tree Nodes6.1.2 General Tree Traversals6.2 The Parent Pointer Implementation6.3 General Tree Implementations6.3.1 List of Children6.3.2 The Left-Child/Right-Sibling Implementation6.3.3 Dynamic Node Implementations6.3.4 Dynamic “Left-Child/Right-Sibling” Implementation6.4 K-ary Trees6.5 Sequential Tree Implementations6.6 Further Reading6.7 Exercises6.8 ProjectsPart III Sorting and SearchingChapter 7 Internal Sorting7.1 Sorting Terminology and Notation7.2 Three (n2) Sorting Algorithms7.2.1 Insertion Sort7.2.2 Bubble Sort7.2.3 Selection Sort7.2.4 The Cost of Exchange Sorting7.3 Shellsort7.4 Mergesort7.5 Quicksort7.6 Heapsort7.7 Binsort and Radix Sort7.8 An Empirical Comparison of Sorting Algorithms7.9 Lower Bounds for Sorting7.10 Further Reading7.11 Exercises7.12 ProjectsChapter 8 File Processing and External Sorting8.1 Primary versus Secondary Storage8.2 Disk Drives8.2.1 Disk Drive Architecture8.2.2 Disk Access Costs8.3 Buffers and Buffer Pools8.4 The Programmer’s View of Files8.5 External Sorting8.5.1 Simple Approaches to External Sorting8.5.2 Replacement Selection8.5.3 Multiway Merging8.6 Further Reading8.7 Exercises8.8 ProjectsChapter 9 Searching9.1 Searching Unsorted and Sorted Arrays9.2 Self-Organizing Lists9.3 Bit Vectors for Representing Sets9.4 Hashing9.4.1 Hash Functions9.4.2 Open Hashing9.4.3 Closed Hashing9.4.4 Analysis of Closed Hashing9.4.5 Deletion9.5 Further Reading9.6 Exercises9.7 ProjectsChapter 10 Indexing10.1 Linear Indexing10.2 ISAM10.3 Tree-based Indexing10.4 2-3 Trees10.5 B-Trees10.5.1 B -Trees10.5.2 B-Tree Analysis10.6 Further Reading10.7 Exercises10.8 Projects……

内容摘要:

  本书概念清楚,逻辑性强,内容新颖,适合作为大专院校计算机软件专业与计算机应用专业学生的双语教学教材和参考书,也适合计算机工程技术人员参考。  本书采用程序员最爱用的面向对象C 语言来描述数据结构和算法,并把数据结构原理和算法分析技术有机地结合在一起,系统介绍了各种类型的数据结构和排序、检索的各种方法。作者非常注意对每一种数据结构的不同存储方法及有关算法进行分析比较。书中还引入了一些比较高级的数据结构与先进的算法分析技术,并介绍了可计算性理论的一般知识。本版的重要改进在于引入了参数化的模板,从而提高了算法中数据类型的通用性,支持高效的代码重用。

书籍规格:

书籍详细信息
书名数据结构与算法分析 : C++版 : 第3版站内查询相似图书
9787121192609
如需购买下载《数据结构与算法分析 : C++版 : 第3版》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位电子工业出版社
版次1版印次1
定价(元)69.0语种英文
尺寸26 × 18装帧平装
页数 612 印数

书籍信息归属:

数据结构与算法分析 : C++版 : 第3版是电子工业出版社于2013.1出版的中图分类号为 TP312 ,TP311.12 的主题关于 C语言-程序设计-高等学校-教材-英文 ,数据结构-高等学校-教材-英文 ,算法分析-高等学校-教材-英文 的书籍。