由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
CS版 - 包子求解c++ 程序
相关主题
How to remove write-protection in CD再问Amazon难题
问一个CVS的问题刚面完的2道题,我做的稀烂
问graph问题remove a node in O(1) from link list
google cached (转载)remove a node (and its memory) from a doubly linked list
会议论文被接受以后,还能加作者吗?问一个问题: binary search Tree的删除用java实现。
请教一道题:Remove adjacent duplicate char recursively fro哪个home warranty比较好啊?
出个题Find yourself?
javascript的一个问题:不能用loop,不能用library,怎么来remov (转载)有否可以O(1)remove 一个元素的java LinkedList推荐?
相关话题的讨论汇总
话题: stack话题: node话题: int话题: recursion话题: c++
进入CS版参与讨论
1 (共1页)
d*******a
发帖数: 2336
1
Consider the following recursive function:
int c( int n, r){
if (r == 0 || r == n)
return 1;
return c(n-1,r)+ c(n-1,r-1);
}
Write a C++ program that finds the value of C(n,r) by removing the recursion
using a stack.
小弟实在是想不出来
谁能给个 答案,包子谢
有思路也行 新手
不知道如何处理每次pop 出来的c(?,?)里的?怎么表达
K****n
发帖数: 5970
2
orz
如果要求用for loop写出来,那么这是算法课,如果要求用stack写出来,那么这是编
译课?
recursion本身就是用stack实现吧,可以用stack保存‘环境’,每次调用函数c之前把
n,r,和result放在一个小array里push进stack。但是其实也可以当算法题来做,就是
说把这个recursion展开,画成一个树,然后结果就是所有leaf node的和,剩下的就是
DFS了,其实BFS也行。。。但是要求用stack,故而假装是DFS.. 如果学过DP的话,怎
么做都行了。
不会c,凑合着看吧。算法扔了很久,不一定对,抛砖引玉
struct Node{
int r;
int n;
};
int d(int n, int r){
if(n int ret = 0;
Stack s = new Stack();
n = new Node(r=r, n=n);
while(n != NULL){
if(n.r==0||n.r==n.n){
ret += 1;
}
else
{
r.push(new Node(r=n.r-1, n=n.n-1));
r.push(new Node(r=n.r, n=n.n-1));
}
n = s.pop();
}
return ret;
}

recursion

【在 d*******a 的大作中提到】
: Consider the following recursive function:
: int c( int n, r){
: if (r == 0 || r == n)
: return 1;
: return c(n-1,r)+ c(n-1,r-1);
: }
: Write a C++ program that finds the value of C(n,r) by removing the recursion
: using a stack.
: 小弟实在是想不出来
: 谁能给个 答案,包子谢

d*******a
发帖数: 2336
3
谢谢 指点 是数据结构课 双黄包敬上
我也想是用一个tree来做 结果是leaf 的和
但是在拆解tree 的时候 parent 和children 的 那个关系式不知道如何写
用一个node 来保存的话 Node(n-1,r-1) 会不会让计算机不知道Node(?,
?)是多少
因为n.r 调用了很多次

【在 K****n 的大作中提到】
: orz
: 如果要求用for loop写出来,那么这是算法课,如果要求用stack写出来,那么这是编
: 译课?
: recursion本身就是用stack实现吧,可以用stack保存‘环境’,每次调用函数c之前把
: n,r,和result放在一个小array里push进stack。但是其实也可以当算法题来做,就是
: 说把这个recursion展开,画成一个树,然后结果就是所有leaf node的和,剩下的就是
: DFS了,其实BFS也行。。。但是要求用stack,故而假装是DFS.. 如果学过DP的话,怎
: 么做都行了。
: 不会c,凑合着看吧。算法扔了很久,不一定对,抛砖引玉
: struct Node{

K****n
发帖数: 5970
4
r.push 写错了,应该是s.push
每个 while interation的n都是不一样的,哦。。。其实如果是c的话这个可能有
memory leak。。。应该把n给delete了再pop。FAIL

【在 d*******a 的大作中提到】
: 谢谢 指点 是数据结构课 双黄包敬上
: 我也想是用一个tree来做 结果是leaf 的和
: 但是在拆解tree 的时候 parent 和children 的 那个关系式不知道如何写
: 用一个node 来保存的话 Node(n-1,r-1) 会不会让计算机不知道Node(?,
: ?)是多少
: 因为n.r 调用了很多次

a*******8
发帖数: 2299
5
DP
r********n
发帖数: 7441
6
原程序本身也是一堆的问题,输入负数能够让你死机

recursion

【在 d*******a 的大作中提到】
: Consider the following recursive function:
: int c( int n, r){
: if (r == 0 || r == n)
: return 1;
: return c(n-1,r)+ c(n-1,r-1);
: }
: Write a C++ program that finds the value of C(n,r) by removing the recursion
: using a stack.
: 小弟实在是想不出来
: 谁能给个 答案,包子谢

1 (共1页)
进入CS版参与讨论
相关主题
有否可以O(1)remove 一个元素的java LinkedList推荐?会议论文被接受以后,还能加作者吗?
Google电面请教一道题:Remove adjacent duplicate char recursively fro
弱问个C++ 问题 (const_cast)出个题
大家windows下面用什么写C程序的?javascript的一个问题:不能用loop,不能用library,怎么来remov (转载)
How to remove write-protection in CD再问Amazon难题
问一个CVS的问题刚面完的2道题,我做的稀烂
问graph问题remove a node in O(1) from link list
google cached (转载)remove a node (and its memory) from a doubly linked list
相关话题的讨论汇总
话题: stack话题: node话题: int话题: recursion话题: c++