21世纪高等学校计算机基础教育教材

计算机软件技术基础--高级程序设计

分享 推荐 0 收藏 0 阅读 0
刘彦明 , 荣政 (编) 7-115-13028-0

关于本书的内容有任何问题,请联系 武恩玉

对于非计算机专业的学生而言,学习“计算机软件技术基础”课程的目的就是培养开发软件能力,而开发软件的基础是编写程序--程序设计能力。本书的主要重点放在了培养学生掌握程序设计的能力。同时除介绍了必要的计算机语言外,还介绍了数据结构和算法设计。
32.00
立即购买 申请样书

内容摘要

  本书是在多年计算机软件技术基础课程教学实践的基础上,根据新的教学计划和学生对原有教材的修改建议编写而成的。它以程序设计能力的培养为目标,系统地介绍高级程序设计方法以及程序实现的两个关键:数据结构和算法设计。其主要内容包括:高级程序设计方法、编写好程序
、排错与测试、程序性能、线性表、数组与串、栈与队列、树、图、索引结构与散列技术、缩小规模算法、搜索算法和“难”问题求解算法等。书中既有基础知识的介绍,也有相关知识的应用实例,具有较高的使用价值。
  本书可作为高等院校非计算机专业的电子类本、专科学生学习计算机软件基础的教材,也可供自学计算机软件基础知识的读者作为参考。

目录

第 1章 概述 1
1.1 软件的基本概念 1
1.1.1 软件应用 1
1.1.2 软件危机与神话 2
1.2 软件技术 4
1.3 程序设计技术 5
1.3.1 明确需求 5
1.3.2 设计 6
1.3.3 编码 8
1.3.4 测试 9
1.4 程序性能考虑 9
1.5 数据结构与算法设计 10
1.5.1 数据结构的引入 10
1.5.2 数据结构的基本概念 12
1.5.3 数据结构与算法 14
1.5.4 算法及其复杂性 16
1.6 设计程序所需的基础知识和基本能力 18
习题 19

第 2章 高级程序设计方法 20
2.1 引言 20
2.2 程序设计的关键技术 21
2.2.1 程序结构设计 21
2.2.2 模块设计 25
2.3 程序设计步骤 26
2.4 程序设计实例 28
2.4.1 问题与分析 28
2.4.2 处理问题的流程与问题分解 29
2.4.3 程序结构 31
2.4.4 模块设计 32
2.4.5 数据结构设计 33
2.4.6 程序的实现 34
2.4.7 完整程序 39
习题 51

第3章 编写好程序 53
3.1 命名 53
3.2 表达式和语句 54
3.3 一致性和习惯用法 57
3.4 函数宏 59
3.5 神秘的数 60
3.6 注释 61
3.7 界面 64
3.7.1 一个原型库 65
3.7.2 通用函数库设计 68
3.7.3 界面原则 75
3.7.4 资源管理 78
3.7.5 用户界面 78
习题 79

第4章 排错与测试 82
4.1 排错 82
4.1.1 排错系统 83
4.1.2 寻找错误线索 84
4.1.3 无线索,难办的错误 86
4.1.4 **后的手段 89
4.1.5 不可重现的错误 90
4.1.6 其他人的程序错误 91
4.2 测试 92
4.2.1 在编码过程中测试 93
4.2.2 系统化测试 95
4.2.3 测试自动化 97
4.2.4 测试环境 98
4.2.5 应力测试 98
4.2.6 测试秘诀 100
4.2.7 测试用例设计的一般原则 101
4.2.8 测试用例设计的具体方法 102
习题 105

第5章 程序性能 108
5.1 瓶颈 109
5.2 计时与轮廓 113
5.2.1 自动计时测量 113
5.2.2 使用轮廓程序 114
5.3 加速策略 114
5.4 代码调整 116
5.5 存储优化 119
习题 120

第6章 线性表 121
6.1 线性表的基本概念及运算 121
6.2 顺序表 123
6.2.1 顺序表的基本运算 124
6.2.2 顺序表的应用实例——学生学籍档案管理 126
6.3 链表 128
6.3.1 单链表 129
6.3.2 单链表的基本运算 130
6.3.3 循环链表 136
6.3.4 双向链表 137
6.3.5 链表应用实例——多项式的表示及运算 139
习题 142

第7章 串和数组 144
7.1 串及其运算 144
7.2 串的存储结构 146
7.3 串运算的实现 149
7.3.1 基本运算的实现 149
7.3.2 改进的模式匹配算法 153
7.4 数组的定义和运算 155
7.5 数组的顺序存储结构 156
7.6 矩阵的压缩存储 158
7.6.1 特殊矩阵 158
7.6.2 稀疏矩阵 159
习题 161

第8章 栈和队列 164
8.1 栈 164
8.1.1 栈的顺序存储表示——顺序栈 165
8.1.2 栈的链式存储结构——链栈 167
8.1.3 栈的应用 168
8.2 队列 173
8.2.1 队列的存储结构 174
8.2.2 队列应用举例 179
习题 184

第9章 树 186
9.1 树的基本概念 186
9.2 二叉树 187
9.3 二叉树的存储结构 189
9.3.1 顺序存储结构 189
9.3.2 链式存储结构 191
9.3.3 二叉树建立 191
9.4 二叉树的遍历 193
9.4.1 二叉树的深度优先遍历 193
9.4.2 二叉树的广度优先遍历 195
9.4.3 深度优先的非递归算法 196
9.4.4 从遍历序列恢复二叉树 197
9.4.5 遍历算法的应用 199
9.5 树和森林 200
9.5.1 树的存储结构 200
9.5.2 树、森林和二叉树之间的转换 202
9.6 线索二叉树 203
9.6.1 线索二叉树的建立 203
9.6.2 访问线索二叉树 205
9.7 二叉树的应用 207
9.7.1 哈夫曼树及应用 207
9.7.2 二叉排序树 215
习题 219

第 10章 图 222
10.1 图的基本概念 222
10.2 图的存储方法 224
10.2.1 邻接矩阵 224
10.2.2 邻接表 226
10.3 图的遍历 228
10.3.1 深度优先搜索遍历 228
10.3.2 广度优先搜索遍历 230
10.4 生成树和**小生成树 232
10.5 **短路径 238
10.5.1 从某个源点到其余各顶点的**短路径 238
10.5.2 每一对顶点之间的**短路径 242
10.6 拓扑排序 244
10.7 关键路径 249
习题 253

第 11章 索引结构与散列技术 256
11.1 索引结构 256
11.1.1 线性索引 256
11.1.2 倒排表 258
11.1.3 多级索引 259
11.2 散列技术 259
11.2.1 散列表的概念 260
11.2.2 散列函数的构造 261
11.2.3 解决冲突的几种方法 263
11.2.4 散列表的查找及分析 266
习题 268

第 12章 缩小规模算法 271
12.1 分治与递归算法 271
12.1.1 递归算法设计 271
12.1.2 分治算法设计 273
12.2 动态规划 281
12.2.1 动态规划算法的基本要素 285
12.2.2 动态规划应用——图像压缩 287
12.2.3 **优二叉搜索树 289
12.3 贪心算法 292
12.3.1 贪心算法与动态规划算法的差异 293
12.3.2 贪心算法应用之哈夫曼编码 295
12.3.3 贪心算法应用之单源**短路径 297
习题 298

第 13章 搜索算法 301
13.1 回溯法 301
13.1.1 回溯法的算法框架 301
13.1.2 **大团问题 305
13.1.3 图的m着色问题 307
13.1.4 旅行售货员问题 309
13.2 分支界限法 310
13.2.1 分支界限法的基本思想 310
13.2.2 装载问题 311
13.2.3 布线问题 316
习题 319

第 14章 “难”问题求解算法 321
14.1 概率算法 321
14.1.1 数值概率算法 322
14.1.2 舍伍德算法 323
14.1.3 拉斯维加斯算法 325
14.1.4 蒙特卡罗算法 326
14.2 近似算法 328
14.2.1 顶点覆盖问题的近似算法 328
14.2.2 旅行售货员问题的近似算法 329
14.2.3 集合覆盖问题的近似算法 331
习题 332

参考文献 333

读者评论

赶紧抢沙发哦!

我要评论

同系列书

相关图书

  • C语言程序设计习题与实验指导

    孟东霞 相洁

    本书是与主教材《C语言程序设计》配套的实验与训练参考书,同时也是一本可以独立于主教材的实验练习与实训提高的实践...

    ¥39.80
  • C++面向对象程序设计(微课版)

    鲁丽 张翼 殷福安

    本书结合C++语言,介绍了面相对象程序设计的基本知识及应用。全书包括C++语言基本知识、C++面向过程的程序设...

    ¥65.00
  • Java面向对象思想与程序设计

    刘彦君 张仁伟 满志强

    本书共分为14章,主要内容包括Java概述、Java语言基础语法、面向对象思想、类设计基础、类设计进阶、异常处...

    ¥69.80
  • C语言程序设计教程

    王继鹏

    本书是为将C语言作为入门语言的程序设计课程的初学者所编写的,以培养读者程序设计的基本能力为基本目标。 本书全...

    ¥55.00
  • Python 3 程序设计

    刘德山

    全书共14章,第1章至第10章是Python语言基础,覆盖了全国计算机等级考试Python语言的主要内容;第1...

    ¥49.80
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部