华信教育资源网
算法与高级语言程序设计
作   译   者:高飞,白霞 出 版 日 期:2015-01-01
出   版   社:电子工业出版社 维   护   人:章海涛 
书   代   号:G0247120 I S B N:9787121247125

图书简介:

本书是教育部高等教育司大学计算机课程改革项目“理工类高校计算思维与大学计算机课程研究与教材建设”的成果之一。本书兼顾程序设计语言和算法的学习,在介绍C++语言的程序设计方法的基础上,采用C++程序设计语言描述算法。全书共12章,分为上下篇。上篇讲述高级语言程序设计基础;下篇在介绍算法设计及算法的性能度量后,介绍C++语言描述的典型数据结构和经典算法的设计与分析技术。本书内容由浅入深、循序渐进、案例丰富、通俗易懂、实用性强,可作为高等学校理工类计算机及相关专业学生的教材,也可供从事程序设计的工程人员参考。
您的专属联系人更多
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源

    本书资源

    本书暂无资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    本书是教育部高等教育司大学计算机课程改革项目“理工类高校计算思维与大学计算机课程研究与教材建设”的成果之一。本书兼顾程序设计语言和算法的学习,在介绍C++语言的程序设计方法的基础上,采用C++程序设计语言描述算法。 全书共12章,分为上下篇。上篇讲述高级语言程序设计基础;下篇在介绍算法设计及算法的性能度量后,介绍C++语言描述的典型数据结构和经典算法的设计与分析技术。 本书内容由浅入深、循序渐进、案例丰富、通俗易懂、实用性强,可作为高等学校理工类计算机及相关专业学生的教材,也可供从事程序设计的工程人员参考。

    图书详情

    ISBN:9787121247125
    开 本:16开
    页 数:284
    字 数:500

    本书目录

    目    录
    上篇  高级语言程序设计基础
    第1章  C++语言概述 3
    1.1  C++语言简介 3
    1.2  C++语言的基本组成 4
    1.2.1  基本字符集 4
    1.2.2  词法记号 4
    1.2.3  语句 4
    1.2.4  标准函数库 5
    1.3  数据类型 5
    1.3.1  常量 5
    1.3.2  变量 8
    1.4  C++的运算规则与表达式 9
    1.4.1  C++语言的运算规则 9
    1.4.2  算术运算符与算术表达式 10
    1.4.3  自增、自减运算 11
    1.4.4  赋值运算符和赋值表达式 11
    1.4.5  组合赋值运算符与组合赋值表达式 12
    1.4.6  关系运算符与关系表达式 13
    1.4.7  逻辑运算符与逻辑表达式 13
    1.4.8  条件运算符与条件表达式 15
    1.5  C++程序的基本结构、编写与实现 15
    1.5.1  C++程序的基本结构 15
    1.5.2  C++程序的编写与实现 18
    小结 19
    习题1 20
    第2章  函数 21
    2.1  函数的声明和调用 21
    2.1.1  函数的声明 21
    2.1.2  函数的调用 22
    2.2  函数间的参数传递 23
    2.2.1  值传递 23
    2.2.2  函数参数为指针类型 24
    2.3  带默认参数的函数 24
    2.4  变量的存储属性 25
    2.4.1  动态存储方式与静态存储方式 25
    2.4.2  局部变量的存储属性 26
    2.4.3  全局变量的存储属性 28
    小结 30
    习题2 30
    第3章  数组、指针和结构 32
    3.1  数组 32
    3.1.1  一维数组 32
    3.1.2  多维数组 33
    3.1.3  字符数组和字符串 35
    3.2  指针 38
    3.2.1  指针的概念 38
    3.2.2  指针变量定义 39
    3.2.3  指针运算 39
    3.3  指针与数组 41
    3.3.1  指向数组的指针 41
    3.3.2  指向字符串的指针 44
    3.3.3  指针数组和指向指针的指针 45
    3.4  指针与函数 46
    3.4.1  指向函数的指针 46
    3.4.2  返回指针值的函数 48
    3.5  结构类型 49
    3.5.1  结构类型的概念与定义 49
    3.5.2  结构变量的说明 50
    3.5.3  引用结构中的成员 51
    3.5.4  结构的初始化 51
    3.6  结构数组 51
    3.7  结构指针 53
    3.8  在函数之间传递结构 54
    小结 56
    习题3 57
    第4章  C++类及其对象的封装性 58
    4.1  从结构到类 58
    4.1.1  复习结构 58
    4.1.2  从结构提高到类 59
    4.1.3  对象的创建和使用 63
    4.2  类的成员函数 65
    4.2.1  成员函数的定义方式 65
    4.2.2  成员函数的访问属性 66
    4.2.3  成员函数的执行效率 67
    4.2.4  成员函数的存储方式 69
    4.3  构造函数 71
    4.3.1  对象初始化的要求 71
    4.3.2  构造函数的形式 72
    4.3.3  拷贝构造函数 77
    4.4  析构函数 79
    4.4.1  析构函数的形式 79
    4.4.2  调用顺序 80
    4.5  动态存储 81
    4.5.1  内存分配与释放 81
    4.5.2  避免内存泄漏 83
    小结 84
    习题4 85
    第5章  引用、友元和重载 87
    5.1  引用 87
    5.1.1  引用的概念与理解 87
    5.1.2  在函数通信中大显身手 89
    5.2  友元 93
    5.2.1  友元的定义 93
    5.2.2  友元函数 94
    5.2.3  友元成员 95
    5.2.4  友元类 97
    5.3  重载 99
    5.3.1  函数重载 99
    5.3.2  运算符重载 103
    小结 114
    习题5 114
    第6章  继承 116
    6.1  合成与继承 116
    6.2  单继承 118
    6.2.1  派生类的声明和构成 118
    6.2.2  派生类成员的访问 119
    6.2.3  派生类的构造函数和析构函数 126
    6.3  多继承 132
    6.3.1  声明多继承的方法 132
    6.3.2  多继承派生类的构造函数 135
    6.3.3  多继承引起的二义性问题 138
    6.3.4  虚基类 141
    小结 146
    习题6 147
    第7章  多态 150
    7.1  继承呼唤多态 150
    7.2  虚函数 151
    7.2.1  虚函数的定义与调用 151
    7.2.2  虚函数的特例 155
    7.2.3  避免虚函数的误用 156
    7.3  纯虚函数与抽象类 159
    7.3.1  纯虚函数 159
    7.3.2  抽象类 160
    小结 162
    习题7 162
    第8章  模板 164
    8.1  模板的概念 164
    8.2  函数模板 164
    8.2.1  函数模板和模板函数 164
    8.2.2  函数模板的使用 167
    8.2.3  重载模板函数 170
    8.3  类模板 170
    8.3.1  模板和模板类 170
    8.3.2  类模板的派生 173
    小结 173
    习题8 173
    下篇  算法分析与设计
    第9章  算法导引 177
    9.1  算法基础 177
    9.1.1  算法 177
    9.1.2  作为技术的算法 178
    9.2  算法的设计和性能度量 179
    9.2.1  函数的增长 179
    9.2.2  标准记号与常用函数 182
    小结 185
    习题9 186
    第10章  基本数据结构 187
    10.1  线性表 187
    10.1.1  线性表的逻辑结构 187
    10.1.2  线性表的顺序表示和实现 187
    10.1.3  线性表的链式表示和实现 189
    10.2  栈和队列 192
    10.2.1  栈 192
    10.2.2  队列 195
    10.3  哈希表 199
    10.3.1  哈希表简介 199
    10.3.2  哈希函数的构造方法 201
    10.3.3  处理冲突的方法 203
    10.3.4  哈希表的查找及其分析 205
    10.4  树 206
    10.4.1  树、二叉树和森林的基本概念 206
    10.4.2  二叉树的遍历和树的遍历 211
    10.4.3  二叉树的计数 212
    小结 213
    习题10 213
    第11章  经典设计和分析技术 214
    11.1  递归与分治法 214
    11.1.1  二分检索问题 214
    11.1.2  递归的概念 215
    11.1.3  分治法的基本思想 216
    11.1.4  分治法的应用 217
    11.2  贪心算法 228
    11.2.1  活动选择问题 228
    11.2.2  贪心算法的基本思想 230
    11.2.3  贪心算法的应用 231
    11.3  动态规划 234
    11.3.1  钢条切割问题 235
    11.3.2  动态规划的基本思想 237
    11.3.3  动态规划的应用 239
    11.4  经典算法蕴涵的计算思维在其他学科的泛化 242
    习题11 244
    第12章  图的算法 246
    12.1  图的基本算法 246
    12.1.1  图的表示 246
    12.1.2  广度优先搜索 258
    12.1.3  深度优先搜索 259
    12.1.4  拓扑排序 260
    12.2  最小生成树 262
    12.2.1  最小生成树的形成 262
    12.2.2  Kruskal算法和Prim算法 263
    12.3  单源最短路径 269
    12.3.1  有向无环图的单源最短路径 270
    12.3.2  Dijkstra算法 272
    12.4  图算法蕴涵的计算思维在其他学科的泛化 274
    习题12 275
    参考文献 277
    展开

    前     言

    前    言
    本书是教育部高等教育司大学计算机课程改革项目“理工类高校计算思维与大学计算机课程研究与教材建设”的成果之一。本书编写团队是“计算思维导论”项目的参研者,也是国家级优秀教学团队和北京市优秀教学团队“计算机公共课教学团队”的主要成员。
    在参加由哈尔滨工业大学战德臣教授主持的大学计算机课程改革项目“理工类高校计算思维与大学计算机课程研究与教材建设”的研究中,本书编写团队逐步对计算思维的精髓和本质加深了理解。我们认为,计算机解题的核心是算法设计,算法设计是在良好数学素养的基础上,对实际问题进行抽象和形式化,从而使用计算机来解决实际问题,而这恰恰正是培养计算思维的过程。
    在计算学科领域,问题求解的核心是算法和系统。算法类问题强调的是数学建模及算法设计和分析。而程序设计语言则是实现算法的载体,语言只有满足算法实现的需求,才能被认识和掌握,算法只有通过程序语言才能实现。因此,本书兼顾了程序设计语言和算法的学习。
    本书在介绍C++语言的程序设计方法的基础上,采用C++语言描述算法。C++语言是一种既支持面向过程程序设计,又支持面向对象程序设计的混合型语言,它独特的面向对象特征,可以为面向对象技术提供全面支持,是描述算法的一种较为理想的语言。采用面向对象程序设计语言描述算法,不仅有利于学习算法设计和面向对象技术,也为上机实践提高高级语言程序设计水平提供了方便。
    全书共12章,分为上下篇。
    上篇为高级语言程序设计基础,包括第1~8章。第1~3章,介绍C++简单程序设计,没有学习过“C语言程序设计”的读者可通过选学这部分内容,掌握C++程序设计基础。第4~8章系统介绍C++语言的封装性、继承性、多态性,以及模板的概念和使用。
    下篇为算法分析与实现,包括第9~12章。第9章是算法导论,主要介绍算法的基本概念、算法设计以及算法的性能度量所需要的数学基础。第10章主要介绍C++语言描述的典型数据结构,包括线性表、栈和队列、树以及哈希表等基本概念和应用。第11章介绍经典算法的设计和分析技术,主要包括递归与分治法、贪心算法和动态规划等的基本思想及应用。第12章介绍图算法,主要包括基本的图算法、最小生成树和单源最短路径等。
    本书由高飞设计总体架构。第1、2、3章由薛艳明编写,第4、5、6、7、8章由白霞编写,第9、10章由高飞编写,第11、12章由聂青编写。全书由高飞、薛艳明统稿、定稿。
    感谢哈尔滨工业大学战德臣教授在计算思维研究中的贡献,正是他所领导的研究团队的研究成果给予了我们非同凡响的启发和影响,这些智慧的结晶对本书的编写具有重要意义的指导作用。感谢“理工类高校计算思维与大学计算机课程研究与教材建设”项目组所有参与学校的老师们对于本书的建议和帮助。感谢北京理工大学“计算机公共课教学团队”中从事教学工作多年的各位同仁提出的宝贵建议。感谢电子工业出版社对本书的编写给予热情支持。
    由于计算机算法和程序设计技术发展迅速,作者水平有限,书中的疏漏与不足在所难免,敬请广大读者和同仁不吝赐教,拨冗指正。
    欢迎读者对本书提出意见和建议。作者E-mail:gaofei@bit.edu.cn。
    
    本书为教师提供相关教学资源,有需要者,请登录华信教育资源网http://www.hxedu.com.cn,注册之后进行下载。
    
    
    作  者
    展开

    作者简介

    本书暂无作者简介
  • 样 章 试 读
    本书暂无样章试读!
  • 图 书 评 价 我要评论
华信教育资源网