• 数据结构是数据的组织方式,这里记录的只是常用的数据结构。自己可以定义以一种特殊的数据结构
  • 可以将数据结构理解为一包纸巾、一些统一方式叠在一起的衣服。
  • 数组也是一种数据结构,但这种数据结构却频繁用于实现各种数据结构

线性结构

  • 线性结构指的是,数据之间的关系是:一对一。

线性表

  • 线性表分为顺序表与链表。
  • 顺序表是用数组来实现的。正因此顺序表容易出现的问题是:数组下标实际数的索引会相差一。大多数问题都由此引起
  • 链表没啥好说的

栈是只能在表尾进行插入和删除操作的线性表

  • 栈中的元素只能从栈顶部进、出
  • 栈分为顺序栈和链栈
  • 符合人的观念的是顺序栈

队列

队列是一种运算受限的线性表

  • 队列中的元素只能从表头出,表尾入
  • 队列分为顺序队列和链队列,一般使用链队列
  • 队列由队头、队尾指针构成
  • 顺序队列需要考虑的是循环顺序队列,因为顺序队列每次进入元素的时候,都是在表尾进入。因此,队尾指针总有指向数组上限的一天。当指向数组上限时,再进入元素就要思考能不能进入的问题了

非线性结构

  • 非线性结构指的是,数据之间的关系是:一对多,多对多。


二叉树

  • 对于二叉树,只要理解一个概念:无论是左孩子还是右孩子,都要看做是一个结点。对任何节点的操作,都要以此思想来面对。
  • 目前没有看到其他难点