
算法
「已注销」
这个作者很懒,什么都没留下…
展开
-
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。2^(n-1)
解释下:2^(n-1)这里我表示的是2的(n-1次方),不是 2异或(n-1),虽然也不会这么用。这个公式c++可以写为 1<<(--n)位运算不仅快速而且美观例题一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。我们不难可以得出当有n级台阶时,有2^(n-1)种情况,这时直接int jump...原创 2018-09-28 22:27:39 · 508 阅读 · 0 评论 -
两种方法建堆时间复杂度
Floyd建堆算法(自下而上下滤)建立规模为n的完全二叉堆的时间复杂度为:O(n)一般的暴力建堆算法(自上而下下滤)时间复杂度为:O(nlogn)原创 2018-09-24 14:46:35 · 2991 阅读 · 1 评论 -
BBST家族的红黑树R-Btree
1.既然已经有了AVL树为什么还需要引入R-Btree,也就是说引入有什么意义?就树形的拓扑结构而语言,大部分的BBST都不能做到相邻版本之间的结构差异不超过O(1),包括AVL树,AVL的插入可以做到O(1),而删除不能做到这点,从AVL删除一个节点可能导致O(log n)次旋转,从而导致树形结构剧烈变化。然而R-Btree就可以做到这一点;R-Btree任何一次动态操作引发的结构变...原创 2018-09-23 19:53:16 · 429 阅读 · 0 评论