《数据结构与算法分析(java描述版)》
表:
双链表、单链表
栈:
进行数学运算时可以通过栈来把正常的数学公式(中缀式)表示成后缀时,这样可以吧数学公式都转变成O(N)的时间复杂度(范例:P67-68)
队列:
循环数组
树:
深度:从根到节点(从上到下)
高度:从节点到最后子节点(从下到上)
例如:E的深度为1,E的高度为2
先序遍历
二叉树
AVL树(带有平衡条件的二叉树):
平衡条件例如:每个节点的左右子树高度相同。条件并不唯一。
单旋转、双旋转。
伸展树
树的遍历:
前序遍历、中序遍历、后序遍历
中序遍历:左子树、当前节点、右子树
后序遍历:左、右、当前(涉及递归时速度快)
b树:
一般如果树时存储在磁盘上,那么磁盘的读取次数将是查找树速度的关键。所以如果树的深度小磁盘的读取次数就会减少
b+树
散列:
散列函数 常用的有mod