资料分享:送你一本《数据结构(C#语言版)》电子书!

对于信息类专业的学生而言,数据结构与算法是一门必修的课程。只有学好这门课程,熟练掌握线性表、栈、队列、树、图等基本结构,以及在这些结构上的各种算法,才能利用计算机去解决实际问题。

如何学好这门课程呢,给大家提供一种思考方式 —— 「整体思维」。

什么是整体思维呢?

它基于两条假设:

  • 一切事物在底层上都是互相联系的;
  • 整体能提供比个体本身更多的信息;

第一条很好理解,第二条是什么意思呢?

举个简单的例子:你要买一件沙发,除了考虑它的材质、舒适度、耐用性、价格之外,还要考虑什么?它跟家里的风格是否搭配,对吧。

如果你整个房子是现代简约风格,却放了一个实木红木沙发,那显然非常奇怪。

这就是「整体性」。沙发这个个体,放进整体的语境中,就被赋予了新的信息。

简而言之:我们永远不能孤立地考虑问题和事物,而应该不断地追问自己:

  • 它的背景和场景是什么?
  • 它为什么会出现?
  • 它的出现带来了什么、导致了什么?

也就是把我们学习的每种结构以及每种结构的实现,跟我们已知的系统、体系,联系起来(比如我们学过的各类计算机语言、离散数学、运筹学等等),从整体的角度去学这些知识点。这样就会让各个知识点连接成知识网,逐渐形成自己的知识体系,作为武器,为我所用。


目录

第1章 绪论

  • 1.1 数据结构
  • 学习数据结构的必要性
  • 基本概念和术语
  • 1.2 算法
  • 算法的特性
  • 算法的评价标准
  • 算法的时间复杂度
  • 1.3 数学预备知识
  • 集合
  • 常用的数学术语
  • 对数
  • 递归
  • 1.4 C#预备知识
  • 接口
  • 泛型编程
  • 本章小结
  • 习题一

第2章 线性表

  • 2.1 线性表的逻辑结构
  • 线性表的定义
  • 线性表的基本操作
  • 2.2 顺序表
  • 顺序表的定义
  • 顺序表的基本操作实现
  • 顺序表应用举例
  • 2.3 单链表
  • 单链表的定义
  • 单链表的基本操作实现
  • 单链表应用举例
  • 2.4 其他链表
  • 双向链表
  • 循环链表
  • 2.5 C#中的线性表
  • 本章小结
  • 习题二

第3章 栈和队列

  • 3.1 栈
  • 栈的定义及基本运算
  • 栈的存储和运算实现
  • 栈的应用举例
  • C#中的栈
  • 3.2 队列
  • 队列的定义及基本运算
  • 队列的存储和运算实现
  • 队列的应用举例
  • C# 中的队列
  • 本章小结
  • 习题三

第4章 串和数组

  • 4.1 串
  • 串的基本概念
  • 串的存储及类定义
  • 串的基本操作的实现
  • C#中的串
  • 4.2 数组
  • 数组的逻辑结构
  • 数组的内存映象
  • C#中的数组
  • 本章小结
  • 习题四

第5章 树和二叉树

  • 5.1 树
  • 树的定义
  • 树的相关术语
  • 树的逻辑表示
  • 树的基本操作
  • 5.2 二叉树
  • 二叉树的定义
  • 二叉树的性质
  • 二叉树的存储结构
  • 二叉链表存储结构的类实现
  • 二叉树的遍历
  • 5.3 树与森林
  • 树、森林与二叉树的转换
  • 树和森林的遍历
  • 5.4 哈夫曼树
  • 哈夫曼树的基本概念
  • 哈夫曼树类的实现
  • 哈夫曼编码
  • 5.5 应用举例
  • 5.6 C#中的树
  • 本章小结
  • 习题五

第6章 图

  • 6.1 图的基本概念
  • 图的定义
  • 图的基本术语
  • 图的基本操作
  • 6.2 图的存储结构
  • 邻接矩阵
  • 邻接表
  • 6.3 图的遍历
  • 深度优先遍历
  • 广度优先遍历
  • 6.4 图的应用
  • 最小生成树
  • 最短路径
  • 拓扑排序
  • 本章小结
  • 习题六

第7章 排序

  • 7.1 基本概念
  • 7.2 简单排序方法
  • 直接插入排序
  • 冒泡排序
  • 简单选择排序
  • 7.3 快速排序
  • 7.4 堆排序
  • 7.5 归并排序
  • 7.6 基数排序
  • 多关键码排序
  • 链式基数排序
  • 7.7 各种排序方法的比较与讨论
  • 7.8 C#中排序方法
  • 本章小结
  • 习题七

第8章 查找

  • 8.1 基本概念和术语
  • 8.2 静态查找表
  • 顺序查找
  • 有序表的折半查找
  • 索引查找
  • 8.3 动态查找表
  • 8.4 哈希表
  • 哈希表的基本概念
  • 常用的哈希函数构造方法
  • 处理冲突的方法
  • 8.5 C#中的查找方法
  • 本章小结
  • 习题八

参考文献


推荐阅读

  • 资料分享:送你一本《大话设计模式》电子书
  • 资料分享:送你一本《C#设计模式》电子书
  • 资料分享:送你一本《Python编程:从入门到实践》电子书
  • 资料分享:送你一本《用Python写网络爬虫》的电子书

下载《数据结构(C#语言版)》

关注公众号,后台回复

20190320

你可能感兴趣的:(资料分享:送你一本《数据结构(C#语言版)》电子书!)