由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - recurvion真的很难懂~~
相关主题
谁能推荐一个recursively diff files in 2 directories的工具Interview question
reverse LL recursively求助一个数据结构的求时间复杂度问题
[合集] 问个递归的问题python自定义函数中变量的scope 问题求教
Python: What does this mean?请大虾验证!
树的前序遍历How to implement "reverse a singly linked list" recursively
我最近写的一个屏保程序谁给一个recursive的string permutation的c code吧
Comparison Re: 组合的枚举算法?What happens when recursion functions are declared inline?
这道题有什么好思路?Exporting pattern rules in recursive make
相关话题的讨论汇总
话题: fool话题: recursion话题: template话题: begin话题: data
进入Programming版参与讨论
1 (共1页)
x******m
发帖数: 736
1
复杂一点,不知道从何入手,难啦~~~
d****n
发帖数: 1637
2
基本的结构就是
1,确定终止条件,
2,起始设定
3,recursion call
int fib(int n){
if (n==0|| n==1)//起始+终止设定
return n;
return fib(n-1)+fib(n-2);//recursion call
}
一定要考虑什么是终止条件判定。不要漏过任何 senario

【在 x******m 的大作中提到】
: 复杂一点,不知道从何入手,难啦~~~
x******m
发帖数: 736
3
关键是有的时候你看不出来能用recursion解决问题。不像考试,作业,题目要求用
recursion。
b***i
发帖数: 3043
4
recursion高不定就不适合编程的工作。虽然,可能一个软件可能就需要一个recursion.

【在 x******m 的大作中提到】
: 关键是有的时候你看不出来能用recursion解决问题。不像考试,作业,题目要求用
: recursion。

O*******d
发帖数: 20343
5
recursion和写loop一样,需要有起始值和终止条件。还要有变化值使终止条件可以达
到。 可以从简单练习做起。 例如遍历多叉树,比如把一个folder里的所有folder和文
件的名字都印出来。再简单的练习可以把一段句子反转。
void Reverse(char* begin, char* end)
{
if(end > begin)
{
char temp = *begin;
*begin = *end;
*end = temp;
Reverse(begin + 1, end - 1);
}
}
char str[] = "ABCDEFG";
Reverse(str, str + strlen(str) - 1);
如果写成循环
char* begin = str;
char* end = str+ strlen(str) - 1;
while(end > begin)
{
char temp = *begin;
*begin = *end;
*end = temp;
begin++;
end--;
}
这里的关键是一旦终止条件满足了,recursive函数就必须要退出,就跟循环终止一样。

【在 x******m 的大作中提到】
: 复杂一点,不知道从何入手,难啦~~~
r*******n
发帖数: 3020
6
可以参考数学归纳法
假设你已经解决了size为K的问题,现在要解决K+1的问题,
如果你能解决这一步就可以考虑用递归。
注意不要考虑计算机是如何运行你的递归程序,把它当成黑盒子。

【在 x******m 的大作中提到】
: 关键是有的时候你看不出来能用recursion解决问题。不像考试,作业,题目要求用
: recursion。

w**z
发帖数: 8232
7
谁工作中用过recursion? 我只用过一次 , traverse directory.

【在 x******m 的大作中提到】
: 复杂一点,不知道从何入手,难啦~~~
x****u
发帖数: 44466
8
树状结构很常见

【在 w**z 的大作中提到】
: 谁工作中用过recursion? 我只用过一次 , traverse directory.
w**z
发帖数: 8232
9
树还自己写?

【在 x****u 的大作中提到】
: 树状结构很常见
r*******n
发帖数: 3020
10
是已经在那了,比如tree view的控件,
遍历每个子控件的状态

【在 w**z 的大作中提到】
: 树还自己写?
相关主题
我最近写的一个屏保程序Interview question
Comparison Re: 组合的枚举算法?求助一个数据结构的求时间复杂度问题
这道题有什么好思路?python自定义函数中变量的scope 问题求教
进入Programming版参与讨论
O*******d
发帖数: 20343
11
我用的很多。 例如在GUI中,widget一般都是树结构。 大窗户里有小窗户,小窗户里
有小小窗户。如果要在这个树结构中搜索,就要recursion。我还写过高次内插值的
class template,其方次是不定的。 可以是一次,二次,三次方的插值interpolation
。 就是recursive的一层层地套。

【在 w**z 的大作中提到】
: 谁工作中用过recursion? 我只用过一次 , traverse directory.
t****t
发帖数: 6806
12
variadic template必须recursive, enough said.

interpolation

【在 O*******d 的大作中提到】
: 我用的很多。 例如在GUI中,widget一般都是树结构。 大窗户里有小窗户,小窗户里
: 有小小窗户。如果要在这个树结构中搜索,就要recursion。我还写过高次内插值的
: class template,其方次是不定的。 可以是一次,二次,三次方的插值interpolation
: 。 就是recursive的一层层地套。

O*******d
发帖数: 20343
13
我用的就是在现在的C++里用recursion. 极度简化后就是下边的思路
template
class Fool
{
public:
Fool() { data = N; }
unsigned int data;

Fool nextLevel; // recursively create next level.
void printData() { cout << data; nextLevel.printData(); }
};
// Specialize to terminate recursion
template<>
class Fool<0U>
{
public:
Fool() { data = 0U; }
unsigned int data;
void printData() { cout << data; }
};

Fool<9U> fool;
fool.printData(); // print 9876543210
这个是一层层套起来的template。 如果没有最后那个Fool<0U>, compiler会发疯。

【在 t****t 的大作中提到】
: variadic template必须recursive, enough said.
:
: interpolation

O*******d
发帖数: 20343
14
如果要做成二叉树
template
class Fool
{
public:
Fool() { data = N; }
unsigned int data;

Fool nextLevelLeft; // recursively create next level.
Fool nextLevelRight;
};
t****t
发帖数: 6806
15
this is not variadic template...

【在 O*******d 的大作中提到】
: 我用的就是在现在的C++里用recursion. 极度简化后就是下边的思路
: template
: class Fool
: {
: public:
: Fool() { data = N; }
: unsigned int data;
:
: Fool nextLevel; // recursively create next level.
: void printData() { cout << data; nextLevel.printData(); }

O*******d
发帖数: 20343
16
我知道不是。也没有打算用。只是说说怎样在传统的template的创建上做recursion。

【在 t****t 的大作中提到】
: this is not variadic template...
w**z
发帖数: 8232
17
c++很久不用了,UI 从来没写过, 怪不得不常用,recursion.

【在 t****t 的大作中提到】
: variadic template必须recursive, enough said.
:
: interpolation

b*******s
发帖数: 5216
18
你就这样理解:一个大问题是由很多状态的子问题组成的,但是某个状态的子问题可以
得到自身的解,然后返回上一级的子问题,直到最终返回主问题

【在 x******m 的大作中提到】
: 复杂一点,不知道从何入手,难啦~~~
s*w
发帖数: 729
19
这个太搞笑了吧,recursion 要不懂,编程不及格,cs 绝对拿不到学位
recurvion 是真不懂

【在 x******m 的大作中提到】
: 复杂一点,不知道从何入手,难啦~~~
x****u
发帖数: 44466
20
树形结构比如目录。

【在 w**z 的大作中提到】
: 树还自己写?
O*******d
发帖数: 20343
21
写GUI基本上就是自己建一个树结构。窗户套窗户。

【在 x****u 的大作中提到】
: 树形结构比如目录。
1 (共1页)
进入Programming版参与讨论
相关主题
Exporting pattern rules in recursive make树的前序遍历
an interview question我最近写的一个屏保程序
请教一个自动下载网页链接的问题Comparison Re: 组合的枚举算法?
这里有人用 Erlang 吗?这道题有什么好思路?
谁能推荐一个recursively diff files in 2 directories的工具Interview question
reverse LL recursively求助一个数据结构的求时间复杂度问题
[合集] 问个递归的问题python自定义函数中变量的scope 问题求教
Python: What does this mean?请大虾验证!
相关话题的讨论汇总
话题: fool话题: recursion话题: template话题: begin话题: data