数据结构与算法:C语言实现

副标题:无

作   者:张千帆主编

分类号:

ISBN:9787030245175

微信扫一扫,移动浏览光盘

简介

   本书是为“数据结构”课程编写的教材,主要介绍各种基本类型的数   据   结构及其算法实现。本书所有算法都有算法功能说明、算法思想分析、详   尽   的实例描述、C语言编写并可编译执行的完整程序及运行结果图示,典型算   法附有算法分析。    本书是数据结构的入门书籍,结构严谨,条理清晰,按照线性数据结   构、   层次数据结构和网状数据结构的顺序,由易到难介绍主要抽象数据类型及   其   应用,最后介绍各种查找和排序方法。抽象的数据结构原理与算法实现紧   密   结合的写作特点使读者能够快速而卓有成效地掌握数据结构原理和经典算   法,以加深读者对数据结构和算法的理解,从而提高编程能力。    本书可以作为高等院校信息管理类专业的本科和专科教材,也可以作   为   其他理工科专业的选修教材或实验指导教材。   

目录

  第1章 绪论
   1.1 数据结构与程序设计
   1.1.1 学习数据结构的意义
   1.1.2 数据与数据结构
   1.1.3 数据结构类型
   1.2 抽象数据类型
   1.2.1 C语言中的数据类型
   1.2.2 抽象数据类型
   1.3 算法分析
   1.3.1 问题、算法与程序
   1.3.2 算法效率的度量
   本章小结
   思考与练习题
  第2章 线性表
   2.1 线性表的基本概念
   2.1.1 线性表的定义与特点
   2.1.2 线性表的两类存储结构
   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.3.4 单链表内元素的查找
   2.3.5 单链表内元素的删除
   2.3.6 两个单链表的合并
   2.4 双向链表的算法实现
   2.4.1 双向链表的结点结构和一般形式
   2.4.2 双向链表的创建
   2.4.3 双向链表内元素的插入
   2.4.4 双向链表内元素的查找
   2.4.5 双向链表内元素的删除
   2.5 循环链表的算法实现
   2.5.1 循环链表的结点结构和一般形式
   2.5.2 循环链表的创建
   本章小结
   思考与练习题
  第3章 栈与队列
   3.1 栈的基本概念
   3.1.1 栈的定义与特点
   3.1.2 栈的两类存储结构
   3.2 顺序栈的算法实现
   3.2.1 顺序栈的建立和入栈
   3.2.2 顺序栈出栈
   3.3 队列的基本概念
   3.3.1 队列的定义与特点
   3.3.2 队列的存储结构
   3.4 顺序队列的算法实现
   3.4.1 顺序队列建立和入队
   3.4.2 顺序队列出队
   3.5 循环队列的算法实现
   3.5.1 循环队列建立和入队
   3.5.2 循环队列出队
   3.6 链队列的算法实现
   3.6.1 链队列建立和入队
   3.6.2 链队列出队
   3.7 栈和队列的应用——算术表达式求值
   本章小结
   思考与练习题
  第4章 串
   4.1 串的基本概念
   4.1.1 串的定义与特点
   4.1.2 串的存储结构
   4.2 串的算法实现
   4.2.1 串赋值算法
   4.2.2 求子串算法
   4.2.3 串比较算法
   4.2.4 串联接算法
   4.3 串的模式匹配算法实现
   4.3.1 串的朴素模式匹配算法
   4.3.2 改进的模式匹配算法
   本章小结
   思考与练习题
  第5章 数组和广义表
   5.1 数组的基本概念
   5.1.1 数组的定义与特点
   5.1.2 数组的存储结构
   5.2 特殊矩阵的压缩存储
   5.3 矩阵的算法实现
   5.4 广义表的基本概念
   5.4.1 广义表的定义与图形表示
   5.4.2 广义表的存储结构
   5.5 广义表的算法实现
   本章小结
   思考与练习题
  第6章 树和二叉树
   6.1 树的基本概念
   6.1.1 树的定义与基本术语
   6.1.2 树的表示形式和存储结构
   6.2 二叉树的基本概念
   6.2.1 二叉树的定义与性质
   6.2.2 二叉树的存储结构
   6.2.3 树、森林和二叉树的转换
   6.2.4 二叉树的遍历
   6.3 二叉树算法实现
   6.3.1 二叉树的建立
   6.3.2 递归的二叉树前序遍历
   6.3.3 非递归的二叉树前序遍历
   6.3.4 递归的二叉树中序遍历
   6.3.5 非递归的二叉树中序遍历
   6.3.6 递归的二叉树后序遍历
   6.3.7 非递归的二叉树后序遍历
   6.4 哈夫曼树及其应用
   6.4.1 哈夫曼树与哈夫曼编码
   6.4.2 哈夫曼算法实现
   本章小结
   思考与练习题
  第7章 图
   7.1 图的基本概念
   7.1.1 图的定义和术语
   7.1.2 图的表示与存储结构
   7.2 图的构造算法实现
   7.2.1 构造数组存储的图
   7.2.2 构造邻接表存储的无向图
   7.2.3 构造邻接表存储的有向图
   7.2.4 构造十字链表存储的有向图
   7.2.5 构造邻接多重表存储的无向图
   7.3 图的遍历算法实现
   7.3.1 深度优先遍历算法
   7.3.2 广度优先遍历算法
   7.4 最小生成树算法实现
   7.4.1 普里姆算法
   7.4.2 克鲁斯卡尔算法
   7.5 图的应用
   7.5.1 拓扑排序
   7.5.2 关键路径
   7.5.3 最短路径
   本章小结
   思考与练习题
  第8章 查找
   8.1 查找的基本概念
   8.1.1 相关术语
   8.1.2 查找表结构
   8.2 顺序查找算法的实现
   8.3 折半查找算法的实现
   8.4 分块查找算法
   8.4.1 索引表
   8.4.2 分块查找算法实现
   8.5 二叉排序树及其算法实现
   8.5.1 二叉排序树及其查找过程
   8.5.2 二叉排序树插入结点的过程
   8.5.3 二叉排序树删除结点的过程
   8.5.4 二叉排序树的算法实现
   8.6 平衡二叉树及其算法实现
   8.6.1 平衡二叉排序树及其构造
   8.6.2 平衡二叉排序树算法实现
   8.7 B-树及其算法实现
   8.7.1 B-树
   8.7.2 B-树的查找
   8.7.3 B-树的插入
   8.7.4 B-树的删除
   8.7.5 B-树的算法实现
   8.8 哈希查找的算法实现
   8.8.1 哈希表
   8.8.2 哈希函数构造方法
   8.8.3 哈希冲突的处理方法
   8.8.4 哈希表的算法实现
   本章小结
   思考与练习题
  第9章 排序
   9.1 排序的基本概念
   9.1.1 术语介绍
   9.1.2 常用的内容排序算法简介类型
   9.2 插入排序的算法实现
   9.2.1 直接插入排序
   9.2.2 希尔排序
   9.3 快速排序的算法实现
   9.4 选择排序的算法实现
   9.4.1 直接选择排序
   9.4.2 堆排序
   9.5 归并排序的算法实现
   9.6 基数排序的算法实现
   9.7 各种内部排序方法的比较
   9.7.1 时间性能
   9.7.2 空间性能
   9.7.3 排序方法的稳定性
   9.8 外部排序
   本章小结
   思考与练习题
  第10章 文件
   10.1 文件的基本概念
   10.1.1 文件记录与文件结构
   10.1.2 文件操作
   10.2 文件的存储结构
   10.2.1 顺序文件
   10.2.2 索引文件
   10.2.3 散列文件
   10.2.4 多关键字文件
   10.2.5 倒排序文件
   本章小结
   思考与练习题
  参考文献
  

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

数据结构与算法:C语言实现
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon