数据结构(C语言版)(双色)

收藏
简介 目录 样张 更多
  • ISBN:978-7-313-15217-6
  • 作者:洪运国
  • 出版社:上海交大
  • 适用层次:通用
  • 出版/修订日期:2024-04-01

本书以项目方式全面系统地介绍了各种类型的数据结构,并从逻辑结构、存储结构和基本操作几个方面进行了详细阐述。全书共八个项目,分别介绍了线性表、栈、队列、串、数组、树、图等基本类型的数据结构,以及查找、排序技术。

全书语言简练、结构合理、图示丰富,给出了众多使用类C语言描述的算法,从而加深读者对抽象概念的理解。与此同时,每个项目都给出了与各项目内容相关的,应用基本算法的众多上机实训,并给出了注释详尽的源代码和测试结果,供读者上机练习之用。另外,每个项目都给出了精心设计的习题和上机操作题,从而让读者强化理解和巩固本项目所学知识。

本书可作为高等院校计算机、信息技术类专业的专业课教材,也可作为从事软件设计和开发的相关工程技术人员的参考书。

项目一  数据结构导论

任务一  了解数据结构的基本知识

一、基本术语

二、数据的逻辑结构

三、数据的存储结构

四、数据类型

任务二  了解算法的基本知识

一、算法的概念

二、算法的特性

三、算法的描述方法

四、算法设计的要求

五、算法性能分析

六、类C语言简介

实训1-1  将百分制成绩转换成五级分制成绩

实训1-2  求一组数中的最大数和最小数

项目小结

习题与上机操作

 

项目二  线性表

任务一  了解线性表的定义和基本操作

一、线性表的定义

二、线性表的基本操作

任务二  掌握顺序表的结构特点与基本操作

一、顺序表的结构特点

二、顺序表的基本操作

任务三  掌握链表的结构特点与基本操作

一、单链表的结构特点

二、单链表的基本操作

三、静态链表及其基本操作

四、循环链表及其基本操作

五、双向链表及其基本操作

实训2-1  学生成绩统计

实训2-2  求两个集合的交集

实训2-3  约瑟夫环问题

实训2-4  一元多项式运算

项目小结

习题与上机操作

 

项目三  栈和队列

任务一  了解栈的定义、基本操作和存储结构

一、栈的定义及其基本操作

二、栈的顺序存储结构

三、栈的链式存储结构

四、栈在递归中的应用

任务二  掌握队列的定义、基本操作和存储结构

一、队列的定义及其基本操作

二、队列的顺序存储结构

三、队列的链式存储结构

实训3-1  算术表达式求值

实训3-2  汉诺塔问题

实训3-3  迷宫求解

实训3-4  打印杨辉三角

项目小结

习题与上机操作

 

项目四  串和数组

任务一  了解串的定义、基本操作和存储结构

一、串的定义及其基本操作

二、定长顺序存储结构

三、堆存储结构

四、块链存储结构

任务二  掌握数组的定义、基本操作和存储结构

一、数组的定义及其基本操作

二、数组的顺序存储结构

任务三  掌握特殊矩阵和稀疏矩阵的压缩存储方法

一、特殊矩阵的压缩存储

二、稀疏矩阵的压缩存储

任务四  了解广义表的定义和存储结构

一、广义表的定义

二、广义表的存储结构

实训4-1  串的查找与替换

实训4-2  串的模式匹配

实训4-3  稀疏矩阵的转置

实训4-4  稀疏矩阵相加

项目小结

习题与上机操作

 

项目五  树与二叉树

任务一  了解树的定义和基本操作

一、树的定义和表示方法

二、树的基本术语

三、树的基本操作

任务二  掌握二叉树的特点和常用操作

一、二叉树的定义

二、二叉树的基本操作

三、二叉树的性质

四、二叉树的存储结构

五、遍历二叉树的方法

六、线索二叉树的定义和基本操作

任务三  掌握树和森林的存储结构与相关操作

一、树的存储结构

二、树、森林和二叉树的转换

三、树和森林的遍历

任务四  了解哈夫曼树的定义、构造方法及其应用

一、哈夫曼树的定义

二、哈夫曼树的构造

三、哈夫曼树编码

实训5-1  创建一棵二叉树并求它的高度

实训5-2  判断二叉树是否为完全二叉树

实训5-3  构造哈夫曼编码

实训5-4  8枚硬币的真假判定问题

项目小结

习题与上机操作

 

项目六 

任务一  了解图的定义、基本术语和基本操作

一、图的定义

二、图的基本术语

三、图的基本操作

任务二  掌握图的存储结构

一、邻接矩阵表示法

二、邻接表表示法

三、十字链表表示法

四、邻接多重表表示法

任务三  掌握图的遍历方法

一、深度优先遍历

二、广度优先遍历

任务四  了解图的相关应用

一、生成树和最小生成树

二、最短路径

三、拓扑排序

四、关键路径

实训6-1  图的建立与遍历

实训6-2  拓扑排序

实训6-3  公共汽车的换乘问题

项目小结

习题与上机操作

 

项目七  查找

任务一  了解查找的相关术语

任务二  掌握静态查找方法

一、顺序查找

二、折半查找

三、索引顺序查找

任务三  掌握动态查找方法

一、二叉排序树

二、平衡二叉树

任务四  掌握哈希查找方法

一、哈希表的基本概念

二、构造哈希函数的方法

三、处理冲突的方法

四、哈希表的查找及分析

实训7-1  利用折半查找法查找学生成绩

实训7-2  创建二叉排序树并查找

实训7-3  利用哈希表查找员工信息

项目小结

习题与上机操作

 

项目八  排序

任务一  了解排序的相关概念

任务二  掌握插入排序方法

一、直接插入排序

二、折半插入排序

三、希尔排序

任务三  掌握交换排序方法

一、冒泡排序

二、快速排序

任务四  掌握选择排序方法

一、直接选择排序

二、树形选择排序

三、堆排序

任务五  掌握归并排序和基数排序方法

一、归并排序

二、基数排序

实训8-1  利用直接插入排序方法排序学生成绩表

实训8-2  利用冒泡排序方法排序学生成绩表

实训8-3  利用直接选择排序方法排序学生成绩表

实训8-4  利用堆排序方法排序学生成绩表

项目小结

习题与上机操作

 

参考文献

微课 教材练习 资料下载 ....
立即下载
价格:¥48.00
加入购物车立即购买