C/C++与数据结构

C/C++与数据结构
作 者: 王立柱
出版社: 清华大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C/C++与数据结构》作者简介

内容简介

本教材是计算机基础教学改革实践4年的总结,它将C语言、数据结构和C++综合为一门程序设计基础课程,可以不分专业,在大学一年级完成(授课80学时,实验80学时)。本书可以作为各类人员学习C、数据结构和C++的综合教材。本书特点是综合:变量与指针,数组与指针,函数与指针是一个综合;C串与C++串是综合;快速排序和幂集问题归入前序遍历,hanio问题归于中序遍历,堆排序和哈夫曼树是堆类的直接应用,八皇后问题在树的前序遍历中解决,这是综合;迷宫归于图的层次遍历,骑士巡游隶属图的前序遍历,这还是综合。本书的创新是从面向对象的高度更新组织C程序,为C++提供充分的感性基础。“C++不过是更好的C”。这在本书中得到充分的体现。本书的原则是学习数据结构和学习程序语言共进,它们的中介是算法。语言只有满足算法的需要才能被认识和掌握,数据结构只有依赖语言的发展才能拓展自己的应用领域。总之,每一部分没有独立存在的理由,它们的意义只有在它们的相互依赖、相互补充的关系中得到明确的解答。正是这种统一性,才产生了既可以助教又可以助学的多媒体软件——配书光盘。正是这种统一性,才使抽象类型与存储类型、算法每一步骤与程序每一行代码可以同时展现,相得益彰。

图书目录

第1章 机器语言程序简介

1. 1 电子计算机的基本组成及其工作过程

1. 2 机器语言程序设计

1. 3 子程序调用过程

习题

第2章 C语言基础

2. 1 基本类型变量和指针

2. 2 基本类型变量和运算

2. 2. 1 整型

2. 2. 2 字符型

2. 2. 3 实型

2. 2. 4 指针类型(地址类型)

2. 3 一维数组和指针

2. 3. 1 指针

2. 3. 2 一线数组

2. 3. 3 一线数组和指针变量的比较

2. 4 二维数组和指针

2. 4. 1 二维数组和二维指针变量

2. 4. 2 二维数组和一维指针变量

2. 4. 3 指针数组和指针的指针

2. 5 结构与指针

2. 5. 1 结构变量

2. 5. 2 结构指针与数组

2. 6 枚举类型

2. 7 类型名选择

2. 8 条件表达式与控制语句

2. 8. 1 关系运算

2. 8. 2 逻辑运算

2. 8. 3 条件控制语句

2. 8. 4 循环控制语句

2. 8. 5 break语句和continue语句

2. 9 函数

2. 9. 1 函数与指针

2. 9. 2 函数调用与变量的存储类别

2. 9. 3 动态单元的分配和释放

2. 10 与数组匹配的指针作为函数的参数

2. 11 输入输出函数

2. 11. 1 printf函数

2. 11. 2 scanf函数

2. 11. 3 getchar函数和putchar函数

2. 12 编译预处理

2. 13 文件

2. 14 初始化与赋值

习题

第3章 数据结构概论

3. 1 数据结构和数据类型

3. 2 算法和程序

3. 3 算法分析

习题

第4章 顺序表

习题

第5章 顺序队列

习题

第6章 顺序栈

6. 1 顺序栈的定义

6. 2 中缀表达式求值

习题

苇7章 字符串

7. 1 C语言串

7. 2 新类型串

习题

第8章 链表

8. 1 单向链式存储结构

8. 2 单向链表

8. 3 双向链式存储结构

8. 4 双向链表

习题

第9章 链队列

9. 1 链队列的定义

9. 2 事件驱动模拟

第10章 二叉树

10. 1 二叉树的概念和性质

10. 1. 1 树和二叉树的概念

10. 1. 2 二叉树的性质

10. 2 二叉树的存储

10. 2. 1 顺序存储结构

10. 2. 2 链式存储结构

10. 3 二叉树层次遍历

10. 3. 1 层次遍历

10. 3. 2 建立二叉链表

10. 3. 3 垂直输出二叉树

10. 4 二叉树的前序遍历

10. 4. 1 前序遍历

10. 4, 2 求二叉树从根至叶子的所有路径

10. 4. 3 求集合的幂集

10. 4. 4 快速排序

10. 5 二叉树中序遍历

10. 5. 1 汉诺塔问题

10. 5. 2 由前序和中序序列建立二叉链表

10. 6 二叉树后序遍历

10. 7 递归评估

10. 8 递归遍历的模拟

10. 8. 1 递归前序遍历的模拟

10. 8. 2 递归中序遍历的模拟

10. 8. 3 递归后序遍历的模拟

10. 9 堆

10. 10 哈夫曼树

10. 10. 1 哈夫曼树的定义

10. 10. 2 建立哈夫曼树

10. 10. 3 哈夫曼编码

10. 11 二叉搜索树

10. 12 平衡二叉搜索树

10. 13 线索二叉树

习题

第11章 树

11. 1 树的存储与遍历

11. 1. 1 树的存储

11. 1. 2 树的层次遍历

11. 1. 3 树的前序遍历

11. 1. 4 树的后序遍历

11. 2 八皇后问题

11. 3 八皇后解的图形输出

11. 3. 1 图形系统初始化

11. 3. 2 图形设计与实现

习题

第12章 图

12. 1 图的概念和存储

12. 1. 1 图的概念

12. 1. 2 邻接矩阵表示法

12. 1. 3 邻接表表示法

12. 2 图的遍历

12. 2. 1 广度遍历

12. 2. 2 深度遍历

12. 3 最小生成树

12. 4 单源最短路径

12. 5 拓扑排序

12. 6 关键路径

12. 7 迷宫求解

12. 8 骑士巡游和汉密尔顿路

习题

第13章 C 程序

13. 1 C 对C的基本扩充

13. 1. 1 注释和输入输出语句

13. 1. 2 作用域说明

13. 1. 3 缺省函数

13. 1. 4 引用

13. 1. 5 常量修饰符const

13. 1. 6 内存的动态申请和释放

13. 2 C++的基本要素

13. 2. 1 类和对象

13. 2. 2 this指针

13. 2. 3 友元

13. 2. 4 运算符重载

13. 2. 5 初始化与赋值

13. 3 重载

13. 3. 1 函数重载

13. 3. 2 运算符重载

13. 4 形式数据类型

13. 4. 1 模板函数

13. 4. 2 模板类

13. 4. 3 中缀表达式求值

13. 5 继承和抽象类

13. 5. 1 继承

13. 5. 2 派生类中的构造函数和析构函数

13. 5. 3 虚函数

13. 5. 4 纯虚函数和抽象类

习题

参考文献