数据结构与算法(C语言版)(双色)(含微课)
定价:¥59.80
作者: 孙丽云,邵兰洁,邵芬红
出版时间:2025-05
最新印次日期:2025-05
出版社:上海交通大学出版社
- 上海交通大学出版社
- 9787313300003
- 1-1
- 555784
- 2025-05
- 计算机类
- 本科 高职 五年制高职 高职本科(应用型本科) 中职
内容简介
本书采用项目任务式的编写方法,通过通俗易懂的语言、丰富多样的案例,全面系统地介绍了各种类型的数据结构及常用的算法,并使用C语言对这些数据结构和算法进行了编程实现。全书共9个项目,内容涵盖数据结构与算法导论,线性表,栈与队列,串、数组与广义表,树与二叉树,图,查找,排序,常用的算法设计策略。
本书语言精练、内容翔实、突出应用,可作为各类院校计算机、信息技术类相关专业的专业课教材,也可供从事软件设计与开发的相关技术人员参考使用。
本书语言精练、内容翔实、突出应用,可作为各类院校计算机、信息技术类相关专业的专业课教材,也可供从事软件设计与开发的相关技术人员参考使用。
目录
项目一 数据结构与算法导论
任务一 熟悉数据结构开发环境
任务描述
任务准备
一、数据结构相关概念与基本术语
二、什么是数据结构
三、抽象数据类型
四、数据结构开发环境
任务实施
任务二 将百分制成绩转换为五级制成绩
任务描述
任务准备
一、什么是算法
二、算法的描述方法
三、算法的设计要求
四、算法的性能分析
任务实施
项目实训
项目考核
项目总结与评价
项目二 线性表
任务一 学生成绩统计
任务描述
任务准备
一、线性表的定义与基本操作
二、顺序表
三、顺序表的基本操作
任务实施
任务二 制作简易图书借阅管理系统
任务描述
任务准备
一、链表的概念与分类
二、单链表
三、双向链表
四、循环链表
任务实施
项目实训
项目考核
项目总结与评价
项目三 栈与队列
任务一 实现数制转换
任务描述
任务准备
一、栈的定义与基本操作
二、栈的顺序存储结构
三、栈的链式存储结构
四、栈在递归中的应用
任务实施
任务二 打印杨辉三角
任务描述
任务准备
一、队列的定义与基本操作
二、队列的顺序存储结构
三、队列的链式存储结构
任务实施
项目实训
项目考核
项目总结与评价
项目四 串、数组与广义表
任务一 编辑文本文件
任务描述
任务准备
一、串的定义
二、串的基本操作
三、串的存储结构
四、串的模式匹配
任务实施
任务二 稀疏矩阵的转置
任务描述
任务准备
一、数组的定义、基本操作与存储结构
二、矩阵的压缩存储
三、广义表的定义与存储结构
任务实施
项目实训
项目考核
项目总结与评价
项目五 树与二叉树
任务一 表达式求值
任务描述
任务准备
一、树概述
二、二叉树概述
三、二叉树的遍历
四、线索二叉树
任务实施
任务二 模拟文件系统目录
任务描述
任务准备
一、树的存储结构
二、树、森林与二叉树的相互转换
三、树与森林的遍历
任务实施
任务三 哈夫曼编码
任务描述
任务准备
一、什么是哈夫曼树
二、哈夫曼树的构造
任务实施
项目实训
项目考核
项目总结与评价
项目六 图
任务一 公交线路搜索
任务描述
任务准备
一、图的定义
二、图的基本术语
三、图的基本操作
四、图的存储结构
五、图的遍历
任务实施
任务二 计算“畅通工程”中的最低成本
任务描述
任务准备
一、最小生成树
二、最短路径
任务实施
任务三 估算完成项目的最短时间
任务描述
任务准备
一、拓扑排序
二、关键路径
任务实施
项目实训
项目考核
项目总结与评价
项目七 查找
任务一 电子词典查询
任务描述
任务准备
一、查找的基本术语
二、静态查找算法
任务实施
任务二 学生成绩查询
任务描述
任务准备
一、二叉排序树
二、平衡二叉树
任务实施
任务三 电话号码查询
任务描述
任务准备
一、哈希表的基本概念
二、哈希函数的构造方法
三、哈希冲突的处理方法
四、哈希查找的性能分析
任务实施
项目实训
项目考核
项目总结与评价
项目八 排序
任务一 电子词典排序
任务描述
任务准备
一、排序概述
二、插入排序
任务实施
任务二 学生成绩排序
任务描述
任务准备
一、交换排序
二、选择排序
三、归并排序
四、内部排序算法的比较与选择
任务实施
项目实训
项目考核
项目总结与评价
项目九 常用的算法设计策略
任务一 任务分配问题求解
任务描述
任务准备
一、枚举法
二、回溯法
任务实施
任务二 活动安排问题求解
任务描述
任务准备
一、分治法
二、贪心算法
任务实施
项目实训
项目考核
项目总结与评价
参考文献
任务一 熟悉数据结构开发环境
任务描述
任务准备
一、数据结构相关概念与基本术语
二、什么是数据结构
三、抽象数据类型
四、数据结构开发环境
任务实施
任务二 将百分制成绩转换为五级制成绩
任务描述
任务准备
一、什么是算法
二、算法的描述方法
三、算法的设计要求
四、算法的性能分析
任务实施
项目实训
项目考核
项目总结与评价
项目二 线性表
任务一 学生成绩统计
任务描述
任务准备
一、线性表的定义与基本操作
二、顺序表
三、顺序表的基本操作
任务实施
任务二 制作简易图书借阅管理系统
任务描述
任务准备
一、链表的概念与分类
二、单链表
三、双向链表
四、循环链表
任务实施
项目实训
项目考核
项目总结与评价
项目三 栈与队列
任务一 实现数制转换
任务描述
任务准备
一、栈的定义与基本操作
二、栈的顺序存储结构
三、栈的链式存储结构
四、栈在递归中的应用
任务实施
任务二 打印杨辉三角
任务描述
任务准备
一、队列的定义与基本操作
二、队列的顺序存储结构
三、队列的链式存储结构
任务实施
项目实训
项目考核
项目总结与评价
项目四 串、数组与广义表
任务一 编辑文本文件
任务描述
任务准备
一、串的定义
二、串的基本操作
三、串的存储结构
四、串的模式匹配
任务实施
任务二 稀疏矩阵的转置
任务描述
任务准备
一、数组的定义、基本操作与存储结构
二、矩阵的压缩存储
三、广义表的定义与存储结构
任务实施
项目实训
项目考核
项目总结与评价
项目五 树与二叉树
任务一 表达式求值
任务描述
任务准备
一、树概述
二、二叉树概述
三、二叉树的遍历
四、线索二叉树
任务实施
任务二 模拟文件系统目录
任务描述
任务准备
一、树的存储结构
二、树、森林与二叉树的相互转换
三、树与森林的遍历
任务实施
任务三 哈夫曼编码
任务描述
任务准备
一、什么是哈夫曼树
二、哈夫曼树的构造
任务实施
项目实训
项目考核
项目总结与评价
项目六 图
任务一 公交线路搜索
任务描述
任务准备
一、图的定义
二、图的基本术语
三、图的基本操作
四、图的存储结构
五、图的遍历
任务实施
任务二 计算“畅通工程”中的最低成本
任务描述
任务准备
一、最小生成树
二、最短路径
任务实施
任务三 估算完成项目的最短时间
任务描述
任务准备
一、拓扑排序
二、关键路径
任务实施
项目实训
项目考核
项目总结与评价
项目七 查找
任务一 电子词典查询
任务描述
任务准备
一、查找的基本术语
二、静态查找算法
任务实施
任务二 学生成绩查询
任务描述
任务准备
一、二叉排序树
二、平衡二叉树
任务实施
任务三 电话号码查询
任务描述
任务准备
一、哈希表的基本概念
二、哈希函数的构造方法
三、哈希冲突的处理方法
四、哈希查找的性能分析
任务实施
项目实训
项目考核
项目总结与评价
项目八 排序
任务一 电子词典排序
任务描述
任务准备
一、排序概述
二、插入排序
任务实施
任务二 学生成绩排序
任务描述
任务准备
一、交换排序
二、选择排序
三、归并排序
四、内部排序算法的比较与选择
任务实施
项目实训
项目考核
项目总结与评价
项目九 常用的算法设计策略
任务一 任务分配问题求解
任务描述
任务准备
一、枚举法
二、回溯法
任务实施
任务二 活动安排问题求解
任务描述
任务准备
一、分治法
二、贪心算法
任务实施
项目实训
项目考核
项目总结与评价
参考文献