1.数据结构:有特殊关系的数据的集合+它们之间的关系。
2.数组(array):相同类型元素的有序集合。适合查找和检索,不适合插入和删除。
二维数组(two dimensional arry)的存储方式:
行主序存储(row-major storage):数组的行与的内容在内存上一次存储。
列主序存储(column-major storage):数组的列与的内容在内存上一次存储。
3.记录(record):可能是不同类型元素的集合。记录名:记录(对象)的名字,域名:记录中各个域(属性)的名字。
4.链表(linked list):有序数据的集合。便于插入和删除。
节点(node):链表中的元素叫节点,由数据和链组成。
链表名:头指针(pointer)的名字。
5.抽象数据类型:一种数据的声明。告诉我们这个数据能做什么,但它怎么实现是隐藏的。
简单抽象:整数、实数、字符、指针,通过从计算机硬件上抽象到编程语言中,让程序员脱离底层计算机的阻碍。
复杂抽象:栈:一种后进先出的数据类型。利用数组+记录或者链表+记录来实现。
队列:从尾巴进入头部处理,一种后进后出的数据类型。利用数组+记录或者链表+记录来实现。用于作业排 队,和需求处理
广义线性表:任何位置都能进出的数据类型。
树:有限节点和有向线段的集合。二叉树:子节点只能是0,1,2的树。遍历:根在前中后序的遍历。
度:节点有多少个后键(子节点)为节点的度。叶子节点比度为2的节点多一个。
满二叉树:最后一层排满了的树。有2的m-1次方个节点。
完全二叉树:最后一层右边缺了一点或排满的树。
接口:抽象与具体的对应表。