摘要:
堆——神奇的优先队列(下) --转自啊哈磊【坐在马桶上看算法】算法12:堆——神奇的优先队列(下) 接着上一Pa说。就是如何建立这个堆呢。可以从空的堆开始,然后依次往堆中插入每一个元素,直到所有数都被插入(转移到堆中为止)。因为插入第i个元素的所用的时间是O(log i),所以插入所有元素的整体时间 阅读全文
摘要:
堆——神奇的优先队列(上) --转自啊哈磊【坐在马桶上看算法】算法11:堆——神奇的优先队列(上) 堆是什么?是一种特殊的完全二叉树,就像下面这棵树一样。 有没有发现这棵二叉树有一个特点,就是所有父结点都比子结点要小(注意:圆圈里面的数是值,圆圈上面的数是这个结点的编号,此规定仅适用于本节)。符合这 阅读全文
摘要:
二叉树 --转自啊哈磊【坐在马桶上看算法】算法10:二叉树 二叉树是一种特殊的树。二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树。更加严格的递归定义是:二叉树要么为空,要么由根结点、左子树和右子树组成,而左子树和右子树分别是一棵二叉树。 下面这 阅读全文
摘要:
开启“树”之旅 --转自啊哈磊【坐在马桶上看算法】算法9:开启“树”之旅 我们先来看一个例子。 这是什么?是一个图?不对,确切的说这是一棵树。这哪里像树呢?不要着急我们来变换一下。 是不是很像一棵倒挂的树,也就是说它是树朝上, 而叶子朝下的。不像?哈哈,看完下面这幅图你就会觉得像啦。 你可能会问:树 阅读全文