c++恋爱程序
http://bbs.mit.edu/cgi-bin/BBSanc?/groups/GROUP_5/Programming/funny/M.982234665.A 挖卡卡 ~~~~~~ lustig!:D
另外问一下能用非递归方法实现二叉树的前序排列吗?
谢! auf deutsch oder ein Beispiel,bitte:) deine frage, wie kann man ohne increment bnutzen. ja? Status F_recursive(int n,int &s)//递归算法
{
if(n<0) return ERROR;
if(n==0) s=n+1;
else
{
F_recurve(n/2,r);
s=n*r;
}
return OK;
}//F_recursive
Status F_nonrecursive(int n,int s)//非递归算法
{
if(n<0) return ERROR;
if(n==0) s=n+1;
else
{
InitStack(s);
while(n!=0)
{
a=n;b=n/2;
push(s,a);
n=a/2;
}//while
s=1;
while(!StackEmpty(s))
{
pop(s,t);
s*=t;
}//while
}
return OK;
}//F_nonrecursive
3.26
float Sqrt_recursive(float A,float p,float e)//求平方根的递归算法
{
if(abs(p^2-A)<=e) return p;
else return sqrt_recurve(A,(p+A/p)/2,e);
}//Sqrt_recurve
float Sqrt_nonrecursive(float A,float p,float e)//求平方根的非递归算法
{
while(abs(p^2-A)>=e)
p=(p+A/p)/2;
return p;
}//Sqrt_nonrecursive
嗯,我要去找个java的例子来看看~~~ 斑竹太热心了!!谢谢。
我说的是binärbäume Pre_Order_Tieflaufen mit eine nicht rekursive Methode.
我先写一个rekursiv的例子。
c++:
void PreOrder(BinaryTreeNode<T>*t)
{ if(t){
visit(t);
PreOrder(t->LeftChild);
PreOrder(t->RightChild);
}
}
java:
void Pre_order_Tiefendurchlauf(konten k)
{if(k!=null)
{System.out.println(k.zahl);
Pre_Order_Tiefendurchlauf(k.links);
Pre_Order_Tiefendurchlauf(k.rechts);
}
}
jetzt muss ich eine iterative Methode schreiben! 你那个Klasse konten是什么样子的呀? 小声告诉你几件事儿:
1.我的C学得很臭,在国内是混过去的;
2.我这边Programmieren的课程居然没有讲递归;
3.看了你的问题,我大吃一惊,临时学了一会儿(幸好我的书上有)。
所以,我只能用java来回答你的问题。刚才我试着用java编了一个1*2*3*……n的小程序。用了三种不同的方法。第一种是递归的,第二、三种不是。分别用了while和for。你看看吧。
class Factorial
{
public int fact(int i)
{
int result;
if (i == 1) return 1;
result = fact(i-1) * i;
return result;
}
public int hohoWhile(int i)
{
int result = 1 ;
int a = 0;
while (a < i)
{
result = result*(a+1);
a++;
}
return result;
}
public int hohoFor(int i)
{
int result = 1;
for ( int a = 0; a < i; a++)
{
result = result*(a+1);
}
return result;
}
}
class kkk
{
public static voidmain (String [] args)
{
Factorial f = new Factorial();
System.out.println (f.fact(10));
System.out.println(f.hohoWhile(10));
System.out.println(f.hohoFor(10));
}
}
下面这个link是专讲二叉树的,有兴趣去看看。
http://student.zjzkb.edu.cn/course_ware/data_structure/web/shu/shu6.1.1.1.htm
我觉得,你的这个作业其实不太需要考虑到二叉树的问题(因为没看到你的konten),你只需要像普通处理递归跟非递归的方法那样完成这个作业就好了。
今天跟着你还学了不少东西呢,呵呵。当版主啊,被逼着学,有趣多了:)
要是不嫌我水平太臭的话,我们一起讨论讨论喽:)
页:
[1]
2