图书介绍

数据结构与算法 C#语言描述【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

数据结构与算法 C#语言描述
  • (美)MichaelMcMillan著;吕秀锋,崔睿译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115204271
  • 出版时间:2009
  • 标注页数:260页
  • 文件大小:41MB
  • 文件页数:271页
  • 主题词:数据结构;算法分析;C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据结构与算法 C#语言描述PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章Collections类、泛型类和Timing类概述1

群集的定义1

群集的描述1

直接存取群集2

顺序存取群集4

层次群集6

组群集7

CollectionBase类8

用ArrayList实现Collection类8

定义Collection类8

实现Collection类8

泛型编程10

时间测试12

一个简单化的时间测试12

用于.NET环境的时间测试13

Timing Test类14

小结16

练习17

第2章 数组和ArrayList18

数组基本概念18

数组的声明和初始化18

数组元素的设置和存取访问19

检索数组元数据的方法和属性19

多维数组20

参数数组21

锯齿状数组22

ArrayList类23

ArrayList类的成员23

应用ArrayList类24

小结27

练习27

第3章 基础排序算法29

排序算法29

数组类测试环境29

冒泡排序31

检验排序过程32

选择排序33

插入排序35

基础排序算法的时间比较36

小结37

练习38

第4章 基础查找算法39

顺序查找39

查找最小值和最大值41

自组织数据加快顺序查找速度42

二叉查找算法43

递归二叉查找算法45

小结47

练习47

第5章 栈和队列48

栈、栈的实现以及Stack类48

栈的操作48

Stack类的实现49

Stack类51

Stack构造器方法51

主要的栈操作52

Peek方法54

Clear方法54

Contains方法54

CopyTo方法和ToArray方法54

Stack类的实例:十进制向多种进制的转换55

队列、Queue类以及Queue类的实现56

队列的操作56

Queue的实现57

Queue类:实例应用58

用队列排序数据61

源自Queue类的优先队列64

小结65

练习66

第6章BitArray类67

激发的问题67

位和位操作68

二进制数制系统68

处理二进制数:按位运算符和移位运算符69

按位运算符的应用70

整数转换成二进制形式的应用程序74

移位的示例应用程序76

BitArray类78

使用BitArray类78

更多BitArray类的方法和属性81

用BitArray来编写埃拉托斯特尼筛法81

BitArray与数组在埃拉托斯特尼筛法上的比较83

小结83

练习84

第7章 字符串、String类和StringBuilder类85

String类的应用85

创建String对象85

常用的String类方法86

Split方法和Join方法88

比较字符串的方法90

处理字符串的方法92

StringBuilder类98

构造StringBuilder对象98

获取并且设置关于StringBuilder对象的信息98

修改StringBuilder对象99

String类与StringBuilder的性能比较101

小结103

练习103

第8章 模式匹配和文本处理105

正则表达式概述105

数量词107

使用字符类109

用断言修改正则表达式111

使用分组构造112

匿名组112

命名组112

零宽度正向预搜索断言和零宽度反向预搜索断言113

CapturesCollection类114

正则表达式的选项115

小结116

练习116

第9章 构建字典:DictionaryBase类和SortedList类117

DictionaryBase类117

DictionaryBase类的基础方法和属性117

其他的DictionaryBase方法119

泛型KeyValuePair类121

SortedList类122

小结123

练习123

第10章 散列和Hashtable类125

散列概述125

选择散列函数125

查找散列表中数据127

解决冲突128

桶式散列法128

开放定址法129

双重散列法130

Hashtable类130

实例化Hashtable对象并且给其添加数据130

从散列表中分别检索键和数值131

检索基于键的数值132

Hashtable类的实用方法133

Hashtable的应用:计算机术语表133

小结136

练习136

第11章 链表137

数组存在的问题137

链表的定义137

面向对象链表的设计138

Node类138

LinkedList类139

链表设计的改进方案141

双向链表141

循环链表143

使用Iterator类146

新的LinkedList类148

实例化Iterator类148

泛型Linked List类和泛型Node类152

小结154

练习154

第12章 二叉树和二叉查找树155

树的定义155

二叉树156

构造二叉查找树157

遍历二叉查找树159

在二叉查找树中查找节点和最大/最小值161

从二叉查找树中移除叶子节点162

删除带有一个子节点的节点163

删除带有两个子节点的节点164

小结167

练习167

第13章 集合169

集合的基础定义、操作及属性169

集合的定义169

集合的操作169

集合的属性169

第一个用散列表的Set类的实现170

类数据成员和构造器方法170

Add方法170

Remove方法和Size方法171

Union方法171

Intersection方法172

Subset方法172

Difference方法172

测试CSet实现的程序173

CSet类的BitArray实现174

使用BitArray实现的概述174

BitArray集合的实现175

小结177

练习177

第14章 高级排序算法178

希尔排序算法178

归并排序算法179

堆排序算法182

快速排序算法185

快速排序算法的描述186

快速排序算法的代码187

快速排序算法的改进188

小结188

练习188

第15章 用于查找的高级数据结构和算法189

AVL树189

AVL树的基本原理189

AVL树的实现190

红黑树192

红黑树规则192

红黑树的插入193

红黑树实现代码194

跳跃表198

跳跃表的基本原理198

跳跃表的实现199

小结203

练习203

第16章 图和图的算法204

图的定义204

由图模拟真实世界系统205

图类205

顶点的表示205

边的表示206

图的构造206

图的第一个应用:拓扑排序208

拓扑排序算法208

拓扑排序算法的实现208

图的搜索211

深度优先搜索211

广度优先搜索213

最小生成树215

查找最短路径218

加权图218

确定最短路径的Dijkstra算法218

Di jkstra算法的代码220

小结226

练习226

第17章 高级算法227

动态规划227

动态规划实例:计算斐波纳契数列227

寻找最长公共子串230

背包问题232

贪心算法234

贪心算法实例:找零钱问题234

采用哈夫曼编码的数据压缩236

用贪心算法解决背包问题243

小结245

练习246

参考文献247

索引248

热门推荐