1.算法的运行时间计算——大O
一般的for循环和嵌套的for循环代码运行的时间计算差别
2.基本数据结构,表、栈和队列
抽象数据类型ADT
表ADT:表的简单数据实现(相对与删除或者插入数值时,其付出的代价都是线性且非常昂贵的)
链表,相对表的简单数据实现,其修改起来更加高效,(是否为空链表、寻找、删除、)
双链表:是在标准链表的基础上附加了一个指向前驱元的指针,一方面使得插入和删除的难度都增加了一倍、另一方面也是使得删除的难度在寻找前驱元的时候更容易
循环链表:让最后一个单元反过来指向第一个单元
(例子:多项式ADT、多重表)
栈ADT: 先进后出、后进先出
队列ADT:插入在一端进行,而删除在另一端进行
3.树
对于大量的输入数据,链表的线性访问时间太慢,不宜使用。 树的运算时间在于O(log N)
二叉树、先序遍历、后序遍历、
实现类似于双向链表的事项、一个元素和两个指向不同方向的指针
查找树ADT-二叉树查找树:在查找中的使用 makeEmpty、Find/FindMax/FindMin、Insert、Delete(比较难以实现)
ALI树:带有平衡条件的二叉查找树、(单旋转、双旋转)
4.散列
没看懂--------------------------
5.优先队列
二叉堆、堆序性、删除最小元、插入、