计数排序无法对负数和小数排序,需要哈希,浪费空间。速度很快。
桶排节约空间,多一些时间。需要二次排序。
基数排序,从个位开始排,先进先出。
先进先出 队列(Queue) push、shift
后进后出 栈(Stack) push pop
二叉树
计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。
二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。
二叉树的第i层至多有2^(i-1)个结点;
深度为k的二叉树至多有2^k-1个结点;
对任何一棵二叉树T,如果其终端结点数为n_0,度为2的结点数为n_2,则n_0=n_2+1。
)
完全二叉树
若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第h层有叶子结点,并且叶子结点都是从左到右依次排布,这就是
完全二叉树。
满二叉树
除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。