数据结构与C++算法设计案例教程

出版时间:2011-1  出版社:机械工业出版社  作者:赖俊峰,高博 主编  页数:278  
Tag标签:无  

前言

  随着信息技术的发展,计算机已经深入到社会的各个领域,各行各业都需要对大量的数据进行存储、加工和管理。如何对数据进行有效的存储和处理,如何编写出高效的程序,这就是“数据结构”这门课程所要解决的问题。通过对“数据结构”的学习,不但可以写出更高质量的程序,还可以为“操作系统”、“编译原理”和“数据库”等后续课程的学习打下良好的基础。如何开发适应社会需求的C++算法设计类案例教材,已成为信息时代高职高专计算机类课程教学改革的当务之急。  为了更好地促进高职高专院校计算机类课程的教学改革,高职高专计算机类课程改革规划教材编委会组织多所大学、高职高专院校从事计算机教研、教学第一线的专家和骨干教师,在认真分析和探讨教育部对高职高专各专业学生的培养目标、国家计算机等级考试和职业技能鉴定要求的基础上策划了“高职高专计算机类课程改革规划教材”。同时,编委会向中国教育技术协会申报了“国家社会科学基金‘十一五’规划(教育学科)国家级课题‘信息技术环境下多元学与教方式有效融入日常教学的研究”的子课题“高职高专计算机类课程改革的研究”,目前课题研究正在进行中。本课题立项研究面向信息技术职业领域不同岗位层次如何有效融合高职高专计算机信息类专业设置、课程体系构建、教学模式改革和教材课件开发等多层次的教学设计基本理论和实现方法。通过系统研究,总结和提炼课题组成员以及有关专家学者已经取得的相关成果,探索高职高专计算机类专业课程标准建设的新思路,提出系统地进行高职高专计算机类课程改革的新方法,开发建设具有鲜明高职高专特色的系列教材和课件,旨在为我国高职高专计算机信息类专业设置、课程和教学改革、教材课件建设探索出一条坦途。  根据“课程间的耦合度”和“职业相关度”,我们将计算机信息类专业课程群体系划分为职业基础能力层面、职业岗位能力层面和职业拓展能力层面三个层次。“数据结构与C++算法设计案例教程”课程在高职高专计算机信息类专业的课程体系中属于职业基础能力层面,是学生学习应用开发、嵌入式系统开发、游戏软件开发等软件开发职业方向各种技能课程的基础,同时又是国家计算机等级考试大纲涵盖的必备理论知识和操作技能的主要组成部分。因此,在高职高专计算机信息类各专业课程体系中,“数据结构”课程作为多门职业岗位能力层面课程或职业拓展能力层面课程(课程群)的前导课程而起着非常重要的作用。但在高职高专教育层次,数据结构程序设计教材大多使用C语言,而在实际中C++语言却是使用最多的语言。通过立项研究,我们认为应以一个完整的软件开发案例为主线,将C++语言基础知识学习和软件开发基本技能实训并举作为课程标准的依据,在制定课程标准、开发教材课件以及课堂教学设计中充分体现本课程的“基础性”和“职业性”特色。因此,本书在兼顾国家计算机等级考试数据结构考试大纲、国家高新技术模块考试标准的同时,将围绕一个完整案例的需求分析、设计、开发环境的选择与安装配置、编程实现以及发布、部署、运行测试、整合应用等核心组织编写。

内容概要

数据结构是高等学校计算机专业的核心课程,同时也是信息管理、电子商务等相关专业的重要基础课。本书是数据结构的案例教程,介绍了数据结构的基本概念,线性表及顺序存储结构,栈和队列的基本操作,数组、串和广义表的基本概念,二叉树和树的概念及性质,图的存储结构和常用算法,查找和内部排序的程序实现等知识。全书以任务为驱动,知识层层深入,共分为9个模块,每一个模块下又分为几个任务,每个任务都有明确的学习目标和多个案例。通过每一个任务的学习,力求使读者学会一项技能、解决几个实际生活中遇到的问题。本书提供全套源代码,源代码中包含了大量经典算法和一些拓展算法,均为完整的、可独立运行的C++语言程序。
本书可作为成人本专科、高职高专、中职中专等院校的专业教材,也可作为参加数据结构考试、国家高新技术考试的辅导用书,还可供C++语言爱好者自学或参考。
为方便教学,本书配备电子课件等教学资源。凡选用本书作为教材的教师均可登录机械工业出版社教材服务网www.cmpedu.com免费下载。如有问题请致信cmpgaozhi@sina.com或致电010-88379375咨询。

书籍目录


前言
模块一 C++语言基础
任务一 一个简单的C++语言程序
子任务1 建立主函数
子任务2 C++语言的输入、输出
子任务3 函数的调用与指针操作
任务二 面向对象的程序设计
子任务1 类的定义
子任务2 构造函数和析构函数
子任务3 继承的实现
任务三 VC 6.0简介
子任务1 建立文件和程序的编译、链接、执行
子任务2 新建类及增加成员
学材小结
模块二 数据结构与算法
任务一 学习数据结构的必要性
任务二 数据结构
子任务1 基本术语
子任务2 算法设计的特性和算法设计的要求
子任务3 算法效率的度量
学材小结
模块三 线性表
任务一 理解线性表的逻辑结构
子任务1 线性表的逻辑定义和特征
子任务2 线性表的操作
任务二 线性表的顺序存储结构
子任务1 顺序表的定义
子任务2 顺序表的几种基本操作
任务三 线性表的链式存储结构(链表)
子任务1 链表的概念与特点
子任务2 单链表的基本运算
子任务3 单循环链表和双向链表
学材小结
模块四 栈和队列
任务一 栈的概念和基本操作
子任务1 栈的概念
子任务2 栈的主要操作
子任务3 栈的应用
任务二 队列的概念和操作
子任务1 队列的概念
子任务2 队列的操作
子任务3 循环队列
学材小结
模块五 数组、串和广义表
任务一 数组
子任务1 数组的定义
子任务2 数组的基本操作
子任务3 特殊矩阵的压缩存储
任务二 串
子任务1 串的概念
子任务2 串的存储
子任务3 串的模式匹配算法
任务三 广义表
学材小结
模块六 二又树和树
任务一 二叉树
子任务1 二叉树的概念和性质
子任务2 二叉树的存储
子任务3 二叉树的遍历
子任务4 哈夫曼树
任务二 树和森林
子任务1 树和森林的概念
子任务2 树和森林的存储
子任务3树(森林)与二叉树的转换和树(森林)的遍历
学材小结
模块七 图
任务一 图的定义和术语
任务二 图的存储结构
子任务1 邻接矩阵法
子任务2 邻接表和逆邻接表
子任务3 十字链表
任务三 图的遍历算法
子任务1 图的深度遍历
子任务2 图的广度遍历
任务四 图的应用
子任务1 最小生成树
子任务2 最短路径
子任务3 拓扑排序
学材小结
模块八 查找
任务一 查找的基本概念
任务二 静态查找
子任务1 顺序表的查找
子任务2 折半查找
子任务3 索引查找
任务三 动态查找
子任务1 二叉排序树
子任务2 哈希表
学材小结
模块九 内部排序
任务一 内部排序的概念和排序的方法
任务二 插入排序
子任务1 直接插入排序
子任务2 表插入排序
子任务3 希尔插入
任务三 交换排序
子任务1 冒泡排序
子任务2 快速排序
任务四 选择排序
子任务1 简单选择排序
子任务2 堆排序
任务五 归并排序
任务六 基数排序
学材小结
参考文献

章节摘录

  本节任务首先介绍面向对象的基本思想,类、封装、继承、多态等概念,然后介绍面向对象的程序设计中的常用保留关键字,成员变量和成员函数的定义,访问权限的作用和一些特殊的成员变量。下面要介绍的主要内容有:  1)面向对象的基础知识,类的声明方法。  2)成员函数、成员变量和访问权限。  3)特殊的成员变量(静态成员变量、静态成员函数)。  类是具有相同类型的对象的抽象。每一个类就是一种新的数据类型。对象是类的具体实例,每一个对象都是属性与操作的结合体。对象中的一些数据和操作是私有的,它不能被外界访问。封装避免了外界的干扰和不确定性,各对象之间也具有了独立性。封装使数据和函数成为一个整体。用户可以看到对象的外部特征,而对象的内特征对用户是隐蔽的。封装的优势还在于把对象的设计者和使用者相互分开,使用者不必知道对象内部实现的细节,只须用对象提供的方法来访问该对象。

编辑推荐

  高职高专计算机类课程改革规划教材,国家社会科学基金“十一五”规划(教育学科)国家级课题成果

图书封面

图书标签Tags

评论、评分、阅读与下载


    数据结构与C++算法设计案例教程 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7