
算法
pandaPwn
吃饭,睡觉,工作,pwn
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二分求幂—递归非递归两种方法
二分求幂是快速的求得a的b次方,时间复杂度为O(logn) 一般求a的b次方就是使用一个循环,每次乘以一个a: res=1; for(int i=0;i { res*=a; } return res; 时间复杂度为O(n) 递归的二分求幂算法为: int power(int a,int b) { if(b==0) return 1; if(b%2==0)原创 2015-03-29 18:12:33 · 1318 阅读 · 0 评论 -
回朔法与动态规划的思考
以下是本人对回朔法与动态规划的思考,不当之处还请轻喷指正,谢谢! 回朔法与动态规划可以说是在某种程度上两种截然不同对立的方法:回朔法从头考虑结果,而动态规划从结果着手考虑;回朔法一般用递归实现,而动态规划一般是循环实现;回朔法耗时、效率低,而动态规划运行速度快、效率高;回溯法很容易保存路径,而动态规划却不易保存路径。 举个例子:求一组正整数中能否由一个或几个元素相加,结果和等于给定值(简单考虑原创 2015-04-02 15:11:23 · 1208 阅读 · 0 评论 -
笨方法求Convert Sorted List to Binary Search Tree
本题中规中矩的求平衡的BST,因为是在递增有序的单链表上求平衡BST,所以只要考虑RR情况。 代码流程是: 1.每次在最右边插入新节点---rightestnode(); 2.检查是否平衡,若平衡则回到1;若否,找到第一个不平衡的节点---notbalancenode(),到3; 3.若不平衡,则发现不平衡节点的父节点---findp(),到4; 4.RR旋转,注意根节点root的修改-原创 2015-04-07 20:36:48 · 656 阅读 · 0 评论