《数据结构(C语言版)》课后答案

  • 更新时间:
  • 5040人关注
  • 点击下载

给大家带来的是关于数据结构相关的课后习题答案下载,介绍了关于数据结构方面的内容,由顾乐欣 网友提供,本资源目前已被318人关注,高等院校数据结构类教材综合评分为:7.9分

资源详情相关推荐
《数据结构(C语言版)》封面
  • 出版社:清华大学出版社
  • 作者:严蔚敏、吴伟民
  • 大小:24.4 MB
  • 类别:数据结构
  • 热度:642
  • Java软件结构与数据结构
  • 数据结构与算法分析:C语言描述
  • 数据结构:C语言描述
  • 数据结构与抽象:Java语言描述(第4版)
  • 数据结构、算法与应用:C++语言描述
  • 数据结构(C语言版)/清华大学计算机系列教材》是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的c程序设计的参考教材。

    《数据结构(C语言版)/清华大学计算机系列教材》的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。其内容和章节编排与1992年4月出版的《数据结构》(第二版)基本一致,但在《数据结构(C语言版)/清华大学计算机系列教材》中更突出了抽象数据类型的概念。全书采用类C语言作为数据结构和算法的描述语言。

    《数据结构(C语言版)/清华大学计算机系列教材》概念表述严谨,逻辑推理严密,语言精炼,用词达意,并有配套出版的《数据结构题集》(c语言版),既便于教学,又便于自学。

    《数据结构(C语言版)/清华大学计算机系列教材》可作为计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。

    目录

    • 第1章 绪论
    • 1.1 什么是数据结构
    • 1.2 基本概念和术语
    • 1.3 抽象数据类型的表示与实现
    • 1.4 算法和算法分析
    • 1.4.1 算法
    • 1.4.2 算法设计的要求
    • 1.4.3 算法效率的度量
    • 1.4.4 算法的存储空间需求
    • 第2章 线性表
    • 2.1 线性表的类型定义
    • 2.2 线性表的顺序表示和实现
    • 2.3 线性表的链式表示和实现
    • 2.3.1 线性链表
    • 2.3.2 循环链表
    • 2.3.3 双向链表
    • 2.4 一元多项式的表示及相加
    • 第3章 栈和队列
    • 3.1 栈
    • 3.1.1 抽象数据类型栈的定义
    • 3.1.2 栈的表示和实现
    • 3.2 栈的应用举例
    • 3.2.1 数制转换
    • 3.2.2 括号匹配的检验
    • 3.2.3 行编辑程序
    • 3.2.4 迷宫求解
    • 3.2.5 表达式求值
    • 3.3 栈与递归的实现
    • 3.4 队列
    • 3.4.1 抽象数据类型队列的定义
    • 3.4.2 链队列——队列的链式表示和实现
    • 3.4.3 循环队列——队列的顺序表示和实现
    • 3.5 离散事件模拟
    • 第4章 串
    • 4.1 串类型的定义
    • 4.2 串的表示和实现
    • 4.2.1 定长顺序存储表示
    • 4.2.2 堆分配存储表示
    • 4.2.3 串的块链存储表示
    • 4.3 串的模式匹配算法
    • 4.3.1 求子串位置的定位函数Index(S,T,pos)
    • 4.3.2 模式匹配的一种改进算法
    • 4.4 串操作应用举例
    • 4.4.1 文本编辑
    • 4.4.2 建立词索引表
    • 第5章 数组和广义表
    • 5.1 数组的定义
    • 5.2 数组的顺序表示和实现
    • 5.3 矩阵的压缩存储
    • 5.3.1 特殊矩阵
    • 5.3.2 稀疏矩阵
    • 5.4 广义表的定义
    • 5.5 广义表的存储结构
    • 5.6 m元多项式的表示
    • 5.7 广义表的递归算法
    • 5.7.1 求广义表的深度
    • 5.7.2 复制广义表
    • 5.7.3 建立广义表的存储结构
    • 第6章 树和二叉树
    • 6.1 树的定义和基本术语
    • 6.2 二叉树
    • 6.2.1 二叉树的定义
    • 6.2.2 二叉树的性质
    • 6.2.3 二叉树的存储结构
    • 6.3 遍历二叉树和线索二叉树
    • 6.3.1 遍历二叉树
    • 6.3.2 线索二叉树
    • 6.4 树和森林
    • 6.4.1 树的存储结构
    • 6.4.2 森林与二叉树的转换
    • 6.4.3 树和森林的遍历
    • 6.5 树与等价问题
    • 6.6 赫夫曼树及其应用
    • 6.6.1 最优二叉树(赫夫曼树)
    • 6.6.2 赫夫曼编码
    • 6.7 回溯法与树的遍历
    • 6.8 树的计数
    • 第7章 图
    • 7.1 图的定义和术语
    • 7.2 图的存储结构
    • 7.2.1 数组表示法
    • 7.2.2 邻接表
    • 7.2.3 十字链表
    • 7.2.4 邻接多重表
    • 7.3 图的遍历
    • 7.3.1 深度优先搜索
    • 7.3.2 广度优先搜索
    • 7.4 图的连通性问题
    • 7.4.1 无向图的连通分量和生成树
    • 7.4.2 有向图的强连通分量
    • 7.4.3 最小生成树
    • 7.4.4 关节点和重连通分量
    • 7.5 有向无环图及其应用
    • 7.5.1 拓扑排序
    • 7.5.2 关键路径
    • 7.6 最短路径
    • 7.6.1 从某个源点到其余各顶点的最短路径
    • 7.6.2 每一对顶点之间的最短路径
    • 第8章 动态存储管理
    • 8.1 概述
    • 8.2 可利用空间表及分配方法
    • 8.3 边界标识法
    • 8.3.1 可利用空间表的结构
    • 8.3.2 分配算法
    • 8.3.3 回收算法
    • 8.4 伙伴系统
    • 8.4.1 可利用空间表的结构
    • 8.4.2 分配算法
    • 8.4.3 回收算法
    • 8.5 无用单元收集
    • 8.6 存储紧缩
    • 第9章 查找
    • 9.1 静态查找表
    • 9.1.1 顺序表的查找
    • 9.1.2 有序表的查找
    • 9.1.3 静态树表的查找
    • 9.1.4 索引顺序表的查找
    • 9.2 动态查找表
    • 9.2.1 二叉排序树和平衡二叉树
    • 9.2.2 B树和B+树
    • 9.2.3 键树
    • 9.3 哈希表
    • 9.3.1 什么是哈希表
    • 9.3.2 哈希函数的构造方法
    • 9.3.3 处理冲突的方法
    • 9.3.4 哈希表的查找及其分析
    • 第10章 内部排序
    • 10.1 概述
    • 10.2 插入排序
    • 10.2.1 直接插入排序
    • 10.2.2 其他插入排序
    • 10.2.3 希尔排序
    • 10.3 快速排序
    • 10.4 选择排序
    • 10.4.1 简单选择排序
    • 10.4.2 树形选择排序
    • 10.4.3 堆排序
    • 10.5 归并排序
    • 10.6 基数排序
    • 10.6.1 多关键字的排序
    • 10.6.2 链式基数排序
    • 10.7 各种内部排序方法的比较讨论
    • 第11章 外部排序
    • 11.1 外存信息的存取
    • 11.2 外部排序的方法
    • 11.3 多路平衡归并的实现
    • 11.4 置换一选择排序
    • 11.5 最佳归并树
    • 第12章 文件
    • 12.1 有关文件的基本概念
    • 12.2 顺序文件
    • 12.3 索引文件
    • 12.4 ISAM文件和VSAM文件
    • 12.4.1 ISAM文件
    • 12.4.2 VSAM文件
    • 12.5 直接存取文件(散列文件)
    • 12.6 多关键字文件
    • 12.6.1 多重表文件
    • 12.6.2 倒排文件
    • 附录A 名词索引
    • 附录B 函数索引
    展开阅读

    数据结构相关资源

    • 数据结构教程(学习指导/上机实验)

      数据结构教程(学习指导/上机实验)

      这书配套设施20钟头的视频教学,本实例教程突显上机操作实习内容,书中得出很多的上机操作试验题(分成认证、布置和综合性试验),供老师和大学生采用。为了更好地老师课堂教学和孩子

      大小:61.7 MB数据结构

      立即下载
    • Java语言程序设计与数据结构:基础篇(第11版)

      Java语言程序设计与数据结构:基础篇(第11版)

      Java语言程序设计是Java语言的经典教材,本书全面整合了Java 8的特性,采用“基础优先,问题驱动”的教学方式,循序渐进地介绍了程序设计基础、解决问题的方法、面向对象程序设计、图形用

      大小:259 MBJava

      立即下载
    • 10套数据结构期末考试题目(含答案)

      数据结构10套考试题目+答案解析,我们的期末考试题目基本都是从里面出的,全部刷一遍保证85+,分享给学弟学妹们 四、阅读算法(每题分,共分) 是不带头结点的单链表的头指针 请回答下列问题: ()说明语句的功能; 查询链表的尾结点 )说明语句组的功能; 将第一个结点链接到链表的尾部,作为新的尾结点 ()设链表表示的线性表为( )写出算法执行后的返回值所表示的线性 表 返回的线性表为( 该算法的功能是: 递归地后序遍历链式存储的二叉树 五、算法填空

      大小:1.04 MB

      立即下载
    • 数据结构(C++语言版)

      数据结构(C++语言版)

      大小:24 MB数据结构

      立即下载
    • 数据结构与抽象:Java语言描述

      数据结构与抽象:Java语言描述

      本书是一本数据结构的教材,Java语言与数据结构两条知识主线贯穿始终,这两条主线既相互独立又相互支撑。本书介绍了计算机编程中使用的数据结构和算法,包括29章,每章涉及一个ADT或其

      大小:131 MB数据结构

      立即下载

    学习笔记

    14小时1分钟前回答

    浅谈Python编程中3个常用的数据结构和算法

    本篇文章将介绍3种常见的数据结构和同数据有关的算法。此外,在collections模块中也包含了针对各种数据结构的解决方案。 Python内置了许多非常有用的数据结构,比如列表(list)、集合(set)以及字典(dictionary)。就绝大部分情况而言,我们可以直接使用这些数据结构。但是,通常我们还需要考虑比如搜索、排序、排列以及筛选等这一类常见的问题。 本篇文章将介绍3种常见的数据结构和同数据有关的算法。此外,在collections模块中也包含了针对各种数据结构的解决方案。 1. 将序列分解为单独的变量 (1) 问题 我们有一个包含 N 个元素的元组或序列,现在想将它分解为N个单独的变量。 (2) 解决方案 任何序列(或……

    6小时23分钟前回答

    JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解

    本文实例讲述了JS中的算法与数据结构之二叉查找树(Binary Sort Tree)。分享给大家供大家参考,具体如下: 二叉查找树(Binary Sort Tree) 我们之前所学到的列表,栈等都是一种线性的数据结构,今天我们将学习计算机中经常用到的一种非线性的数据结构——树( Tree ),由于其存储的所有元素之间具有明显的层次特性,因此常被用来存储具有层级关系的数据,比如文件系统中的文件;也会被用来存储有序列表等。 在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的 根结点 ,简称树的 根 (root)。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点……

    3小时39分钟前回答

    Java数据结构之队列的简单定义与使用方法

    本文实例讲述了Java数据结构之队列的简单定义与使用方法。分享给大家供大家参考,具体如下: 一、概述: 1、说明: 队列的原则时先进先出,就像生活中排队取票一样,谁排在前面谁先得到 2、有五个属性: 1)数组元素 2)最大空间 3)长度 4)队头 5)队尾 3、示例图: 二、代码实现 /** * @描述 对列 * @项目名称 Java_DataStruct * @包名 com.java.stack * @类名 Queue * @author chenlin * @version 1.0 * @SVN $Rev$ */public class Queue { private long[] arr; private int maxSize;// 最大空间 private int len;// 有效长度 private int head;// 队头 private int end;// 队尾 public Queue(int size) { this.maxSize = size; this.arr = new long[maxSize]; this.len = 0; this.head = 0; this.end =……