图书介绍

多任务下数据结构与算法PDF|Epub|txt|kindle电子书版本网盘下载

多任务下数据结构与算法
  • 周伟明著 著
  • 出版社: 武汉:华中科技大学出版社
  • ISBN:7560936768
  • 出版时间:2006
  • 标注页数:380页
  • 文件大小:11MB
  • 文件页数:394页
  • 主题词:数据结构;算法分析

PDF下载


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

下载说明

多任务下数据结构与算法PDF格式电子书版下载

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

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

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

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

图书目录

1 绪论1

1.1 引言1

1.2 C语言编程常见问题分析2

1.2.1 参数校验问题3

1.2.2 return语句的问题3

1.2.3 while循环和for循环的问题4

1.2.4 if语句的多个判断问题4

1.2.5 goto语句问题5

1.2.6 switch...case和if...else if的效率区别5

1.3 任意数据类型处理7

1.3.1 任意数据类型处理的设计方法7

1.3.2 任意数据类型处理的实例8

1.3.3 任意数据类型处理的回调函数封装9

1.4 多任务介绍10

1.4.1 多任务简介10

1.4.2 锁的概念10

1.4.3 Windows下常用多任务操作函数10

1.4.4 Linux/Unix下常用多任务操作函数12

1.4.5 VxWorks下常用多任务操作函数12

1.4.6 多任务函数的封装13

1.5 软件设计简介14

1.5.1 软件设计历史简述14

1.5.2 微观设计学原理简介15

2 数组17

2.1 栈17

2.1.1 栈的基本概念17

2.1.2 栈的编码实现18

2.1.3 多任务栈的实现21

2.2 队列24

2.2.1 队列的基本概念和接口24

2.2.2 环形队列(Queue)25

2.2.3 STL中的动态队列(STL∷deque)29

2.2.4 动态环形队列30

2.2.5 各种队列的时间效率测试及分析35

2.2.6 各种队列的适用范围36

2.2.7 关于时间效率和空间效率的原则36

2.3 排序表37

2.3.1 排序算法介绍37

2.3.2 快速排序算法38

2.3.3 排序表的设计40

2.3.4 非递归的快速排序算法43

2.3.5 快速排序算法的复杂度分析47

2.3.6 二分查找算法48

2.4 实例:HOOK管理功能的实现49

2.4.1 单个函数的HOOK实现49

2.4.2 多个函数的HOOK实现50

2.4.3 HOOK功能的应用简介55

2.4.4 HOOK使用的注意事项56

本章小结56

习题与思考56

3 链表57

3.1 单向链表57

3.1.1 单向链表的存储表示57

3.1.2 单向链表的接口设计59

3.1.3 单向链表的基本功能编码实现60

3.2 单向链表的逐个节点遍历69

3.2.1 单向链表逐个节点遍历基本概念69

3.2.2 单向链表逐个节点遍历编码实现70

3.3 单向链表的排序71

3.3.1 插入排序71

3.3.2 归并插入排序74

3.3.3 基数排序79

3.4 双向链表85

3.4.1 双向链表的基本概念85

3.4.2 双向链表的设计85

3.4.3 双向链表的编码实现86

3.5.1 整块内存链表的基本概念107

3.5 使用整块内存的链表107

3.5.2 整块内存链表的编码实现109

3.6 实例:使用链表管理短信息系统的CACHE113

3.6.1 短信息系统的CACHE管理基本概念113

3.6.2 短信息系统的发送和接收分析114

3.6.3 短信息系统CACHE管理的编码实现115

本章小结118

习题与思考118

4 哈希表119

4.1 哈希表119

4.1.1 哈希表的基本概念119

4.1.2 哈希表的索引方法120

4.1.3 哈希表的冲突解决方法123

4.1.4 哈希表基本操作的源代码125

4.2.1 哈希表和数组、链表的效率比较130

4.2 哈希链表130

4.2.2 时间效率和空间效率的关系131

4.2.3 哈希链表的基本概念132

4.2.4 哈希链表的操作133

4.2.5 哈希链表的编码实现135

4.3 实例:WebServer的动态CACHE文件管理143

4.3.1 WebServer的动态CACHE文件管理基本概念143

4.3.2 CACHE文件管理功能的设计144

4.3.3 CACHE文件管理功能的编码实现145

本章小结151

习题与思考151

5.1 普通树153

5.1.1 普通树的描述方法153

5 树153

5.1.2 树的操作接口设计154

5.1.3 树的遍历算法154

5.1.4 树的编码实现157

5.1.5 使用树的遍历算法来实现Xcopy功能163

5.2 二叉树166

5.2.1 二叉树的基本概念166

5.2.2 二叉树的树梢及二叉树的高度166

5.2.3 二叉树的描述方法167

5.3 二叉排序树168

5.3.1 二叉排序树的基本概念168

5.3.2 二叉排序树的查找168

5.3.3 二叉排序树的插入170

5.3.4 二叉排序树的删除172

5.3.5 二叉排序树的遍历176

5.3.6 二叉排序树的旋转操作178

5.4 AVL搜索树181

5.4.1 AVL搜索树的基本概念181

5.4.2 AVL搜索树的插入181

5.4.3 AVL搜索树的删除184

5.4.4 AVL树的源代码187

5.5 红黑树205

5.5.1 红黑树的基本概念205

5.5.2 红黑树的插入操作206

5.5.3 红黑树的删除操作209

5.5.4 红黑树的编码实现214

5.6 实例:搜索引擎的实现236

5.6.1 搜索引擎的实现思路和方法236

5.6.2 搜索引擎的时间效率和空间效率分析238

5.6.3 高级搜索的实现240

本章小结241

习题与思考241

6 复合二叉树243

6.1 哈希红黑树243

6.1.1 哈希红黑树的基本概念243

6.1.2 哈希红黑树的查找245

6.1.3 哈希红黑树的插入246

6.1.4 哈希红黑树的删除248

6.1.5 哈希红黑树的释放248

6.1.6 哈希红黑树的遍历249

6.1.7 哈希红黑树的编码实现249

6.1.8 哈希红黑树的效率分析255

6.2.1 哈希AVL树的基本概念256

6.2 哈希AVL树256

6.2.2 哈希AVL树的查找257

6.2.3 哈希AVL树的插入258

6.2.4 哈希AVL树的删除260

6.2.5 哈希AVL树的释放261

6.2.6 哈希AVL树的遍历261

6.2.7 哈希AVL树的编码实现261

6.2.8 复合数据结构的分类266

6.3 抗DoS/DDoS攻击的实例267

6.3.1 DoS/DDoS攻击的概念267

6.3.2 常见DoS/DDoS攻击手段及防范策略268

6.3.3 抗DoS/DDoS攻击的实现269

6.3.4 抗DoS/DDoS攻击的编码实现269

本章小结272

习题与思考273

7 图275

7.1 图的基本概念和描述方法275

7.1.1 图的基本概念275

7.1.2 图的描述方法276

7.2 Dijkstra最短路径算法277

7.2.1 Dijkstra最短路径算法的描述277

7.2.2 Dijkstra最短路径算法的过程图解277

7.2.3 Dijkstra最短路径算法的编码实现278

7.3 最小生成树算法282

7.3.1 最小生成树算法的基本概念282

7.3.2 最小生成树算法的过程图解282

7.3.3 最小生成树的算法流程图283

7.3.4 最小生成树算法的编码实现284

7.4.1 深度优先搜索算法的描述286

7.4 深度优先搜索算法286

7.4.2 深度优先搜索算法的过程图解287

7.4.3 深度优先搜索算法的流程图288

7.4.4 深度优先搜索算法的编码实现289

7.5 宽度优先搜索算法293

7.5.1 宽度优先搜索算法的描述293

7.5.2 宽度优先搜索算法的编码实现294

7.6 无环有向图的分层算法297

7.6.1 无环有向图的分层算法描述297

7.6.2 无环有向图的分层算法过程图解298

7.7 哈密顿圈算法299

7.7.1 哈密顿圈算法的描述299

7.7.2 哈密顿圈算法的过程图解300

习题与思考302

本章小结302

8 多任务算法303

8.1 读写锁303

8.1.1 读写锁概念的引出303

8.1.2 读写锁算法的分析和实现304

8.1.3 读写锁的编码实现305

8.2 多任务资源释放问题308

8.2.1 子任务释放问题308

8.2.2 多个子任务释放309

8.2.3 多任务释放的实现309

8.3 多任务下的遍历问题313

8.3.1 链表在多任务下的遍历问题313

8.3.2 多任务链表的设计和编码实现313

8.3.3 多任务链表的遍历操作编码实现318

8.3.4 多个任务同时遍历的情况321

8.4 多任务二叉树的设计322

8.5 消息队列327

8.5.1 消息队列的基本概念327

8.5.2 消息队列的设计和编码实现327

8.6 实例:线程池调度的管理331

8.6.1 线程池调度管理的基本概念331

8.6.2 线程池调度管理的编码实现332

本章小结335

习题与思考335

9 内存管理算法337

9.1 动态等尺寸内存的分配算法337

9.1.1 静态等尺寸内存分配算法的分析337

9.1.2 动态等尺寸内存分配算法338

9.2 内存垃圾收集算法351

9.2.1 垃圾收集算法简介351

9.2.2 用户层垃圾回收算法的实现352

9.2.3 多任务下的垃圾收集360

9.2.4 使用垃圾回收算法来做内存泄漏检查367

9.3 实例:动态等尺寸内存管理算法的应用370

9.3.1 Emalloc内存管理的概念370

9.3.2 Emalloc内存管理的编码实现371

9.3.3 Emalloc内存管理的使用方法375

9.3.4 Emalloc内存管理的内存越界检查376

本章小结378

习题与思考378

附 参考文献379

热门推荐