





定价:29元
印次:2-7
ISBN:9787302149538
出版日期:2007.07.01
印刷日期:2010.07.09
图书责编:焦虹
图书分类:教材
本书是《计算机软件技术基础》的第二版,书中所有算法均采用C++描述。全书共6章,介绍了计算机软件设计的基础知识、方法与实用技术。主要内容包括:算法,基本数据结构及其运算,查找与排序技术,资源管理技术,数据库技术,应用软件设计与开发技术。第二版主要修订了第一版的前3章,在每章后都配有一定数量的习题。 本书内容丰富,通俗易懂,实用性强,可作为非计算机专业的研究生、大学生的软件课程教材,也可作为广大从事计算机应用工作的科技人员的参考书。
非计算机专业的学生(包括广大科技人员)学习和掌握软件技术不可能像计算机专业的学生那样学习软件的各门课程,因此有必要将主要的软件技术和知识在一门课程中介绍,但又不能是拼盘式的组合。在国外根本没有这样的教材,国内这样的教材也不多,有的教材虽然名称叫“软件技术”,但实际上是一些新软件的使用。本教材介绍的是软件技术,而不是软件的使用。 本教材主要是针对非计算机专业的学生对于计算机软件技术的需要,将有关软件基础知识以及应用技术介绍给读者。其特点如下: (1) 系统性。本教材并不是简单地将计算机专业的各门课程内容拼装在一起,而是根据软件应用技术的需要,将它们有机地结合在一起,为读者提供软件开发中所需要的软件知识和技术。全书以数据结构与算法为基础,以软件技术为线索,系统性强。 (2) 强调应用。本教材强调以应用为目的,全书中实例比较丰富。全书几乎是围绕解决软件开发中所遇到的软件技术问题来展开的。在介绍系统软件(如操作系统)时,为了便于读者理解,也适当介绍一些原理,但主要还是介绍实现系统软件中的技术,以便读者将这些技术用到应用软件的开发中。 (3) 可读性强。本书深入浅出,通过例子引出基本概念,便于读者接受。 本书第二版主要修订的是第一版的前3章。书中所有的算法均采用C++描述。由于C++语言既可用于面向过程的程序设计,又支持面向对象的程序设计,因此,作者在对算法进行描述时,尽量采用最合适的程序设计方法。例如,对于基本的数据结构(如顺序存储与链式存储的线性表、栈、队列等)采用面向对象的方法,将数据与运算封装成类,以便在其他应用程序中直接使用;而对于同一批数据进行同类操作的各...
1.1.1算法的基本特征1
1.1.2算法的基本要素2
1.2算法设计基本方法3
1.3算法的复杂度分析9
1.3.1算法的时间复杂度9
1.3.2算法的空间复杂度11
习题12
基本数据结构及其运算
2.1数据结构的基本概念13
2.1.1两个例子13
2.1.2什么是数据结构16
2.1.3数据结构的图形表示19
2.2线性表及其顺序存储结构21
2.2.1线性表及其运算21
2.2.2栈及其应用30
2.2.3队列及其应用41
2.3线性链表及其运算52
2.3.1线性链表的基本概念52
2.3.2线性链表的基本运算66
2.3.3循环链表71
2.3.4多项式的表示与运算75
2.4数组83
2.4.1数组的顺序存储结构83
2.4.2规则矩阵的压缩84
2.4.3一般稀疏矩阵的表示87
2.5树与二叉树113
2.5.1树的基本概念113
2.5.2二叉树及其基本性质116
2.5.3二叉树的遍历119
2.5.4二叉树的存储结构120
2.5.5穿线二叉树126
2.5.6表达式的线性化138
2.6图140
2.6.1图的基本概念140
2.6.2图的存储结构141
2.6.3图的遍历145
2.6.4图邻接表类146
习题152
查找与排序技术
3.1基本的查找技术155
3.1.1顺序查找155
3.1.2有序表的对分查找155
3.1.3分块查找160
3.2哈希表技术161
3.2.1哈希表的基本概念161
3.2.2几种常用的哈希表...