数据结构
文章平均质量分 59
renjiewen1995
即将毕业成为IT民工
展开
-
用栈实现Fibnacci递归过程的非递归算法
#include#include using namespace std;//模拟递归工作栈。//data表示当前状态的参数值//state表示当前栈的完成状态,state = 2 表示未计算, state = 1 表示计算了递归树左部,state = 0 表示计算了整个递归子树struct stackNode{ int data; int state; stackNode原创 2016-08-04 16:28:45 · 2420 阅读 · 0 评论 -
辗转相除法证明及复杂度计算
辗转相除法是计算两个数最大公约数(Greatest conmmon divisor)的一种对数复杂度算法。问题:有两个正整数 x , y ,求 gcd(x,y):算法证明:设 x > y , 且 x = r + y * c , 其中 r >= 0, c >= 0 ; 1. if r = 0 then gcd( x,y) == y 为结束条件)2. if c = 0原创 2016-08-30 17:45:54 · 2523 阅读 · 0 评论 -
解决01背包问题的DP方法
解题参考:http://blog.csdn.net/wumuzi520/article/details/7014559题目描述: 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最原创 2016-09-04 18:44:56 · 875 阅读 · 0 评论 -
best-time-to-buy-and-sell-stock系列(贪心与动态规划)
一、best-time-to-buy-and-sell-stock题目描述Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one trans原创 2016-09-05 18:46:37 · 1109 阅读 · 0 评论