一:优先级队列
优先级队列(Priority Queue):0个或者多个元素的集合,每个元素都有一个优先级,优先级可以相同
有三个基本操作:查找队首元素,删除队首节点,在队尾插入节点
最大优先级队列(Max Priority Queue):查找和删除都是优先级最大的元素
最小优先级队列(Min Priority Queue):查找和删除都是优先级最小的元素
大根树:每个节点的值都大于等于子节点的值
小根树:每个节点的值都小于等于子节点的值
堆(Heap):完全二叉树
大根堆:既是大根树也是完全二叉树
小根堆:既是小根树也是完全二叉树
大根堆的插入:若是新节点元素大于父节点元素,则执行起泡操作,将新元素与父节点的元素交换,一趟一趟起泡
大根堆的删除:就是删除根节点的元素,要保证过程中保证大根堆的结构
二:左高树
外部节点(external node):代替树中的空子树,其余节点叫内部节点
扩充二叉树(extended binary tree):增加了外部节点的二叉树
s(x):从节点x到其子树的外部节点的所有路径中最短的一条,若x是外部节点,则s=0
高度优先左高树(height-biased leftist tree, HBLT)ÿ