文档介绍:数据结构算法与应用: C++ 语言描述序 言 经过10余年的教学实践,层次教学已成为高等院校计算机基础教学的基本模式。教育部倡导的“计算机文件基础—计算机技术基础—计算机应用基础”3个层次,为高校实施计算机基础教学提供了一个科学的框架。根据我们的理解,三层次教学中的文化基础为“入门”课,用于引导学生认识计算机文化在信息社会中的地位作用;技术基础为“拓宽”课,用于从硬件和软件两个方面扩充学生的知识和技能;它们构成三层次教学的“基础与核心”。而应用基础层则是三层次教学的“归宿”,其目的在于结合专业的需要“深化”在某一方面(或领域)的计算机应用知识, 加强学生解决本专业计算机应用的能力。 本系列教材就是按照这样的思路编写的。第一批书目包括一、二层次的6本计算机公共课教材,即:《计算机文化引论》《C语言程序设计》《计算机软件环境与工具》《微机数据库应用》《微型计算机硬件组成》《计算机网络应用基础》以后将陆续编写出版第三层次的教材,例如《微机原理与应用》、《图形处理与CAD基础》、《面向对象程序设计》等,以满足不同专业的学生深入学习的需要。 本系列教材具有下列特点:一、体现了全新的课程体系。考虑到软件技术的发展,本系列在《计算机文化引论》课之后,用程序设计、数据库和软件环境与工具等3本教材代替传统的一本教材—程序设计。又鉴于多媒体应用与网络应用在近10年来发展迅猛,本系列在首批书目中列入了《微型计算机硬件组成》与《计算机网络应用基础》两种教材,分别介绍这两个方面的知识。这一课程体系既在总体上满足教育部三层次教学的内容,也突出了计算机基础教学重在应用、立足于提高学生素质、帮助学生建立强烈的计算机文化意识,提高计算机文化素质的需要。二、按照知识单元安排每本教材的内容, 自1994年起编者就在教育部高校工科计算机基础课程教学指导委员会的支持下,开展对计算机基础课知识结构的研究。1996年,该项研究被教育部列为面向21 世纪计算机基础教学项目组立项课题。上述6种教材,每种覆盖知识单元的一个领域,构成一个相对独立的教学模块,特别方便不同层次的高校与读者按需选用。三、遴选作者,强强联手。参加编写本系列第一批教材的作者,都是根据本人的特长由所在学校推荐的、对该方面的教学和科研富有经验的教师。编写大纲统一由系列教材编辑委员会审定,对保证教材质量起到良好的作用。 本系列的出版得到四川省高校计算机基础教育研究会和机械工业出版社华章公司大力支持。教育部计算机基础课程教学指导委员会委员、电子科技大学古天祥教授和教育部计算机基础课程教学指导委员会委员、四川大学李志蜀教授担任系列教材编辑委员会的顾问,对系列的选题与内容都提出宝贵的意见。借此机会,编者对他们表示诚挚的感谢。 史济民李光琳目 录 第一部分预备知识第1 章 C++程序设计 1 引言 1 函数与参数 2 传值参数 2 模板函数 3 引用参数 3 常量引用参数 4 返回值 4 递归函数 5 动态存储分配 9 操作符new 9 一维数组 9 异常处理 10 操作符delete 10 二维数组 10 类 13 类 Currency 13 使用不同的描述方法 18 操作符重载 20 引发异常 22 友元和保护类成员 23 增加#ifndef, #define 和#endif 语句 24 测试与调试 24 什么是测试 24 设计测试数据 26 调试 28 参考及推荐读物 29 第2 章 程序性能 30 引言 30 空间复杂性 31 空间复杂性的组成 31 举例 35 时间复杂性 37 时间复杂性的组成 37 操作计数 37 执行步数 44 渐进符号(O、健?、 o) 55 大写O 符号 56 椒?58 符号 59 小写o 符号 60 特性 60 复杂性分析举例 61 实际复杂性 66 性能测量 68 选择实例的大小 69 设计测试数据 69 2.