farshidshd
جمعه 22 آبان 1388, 13:13 عصر
سلام دوستان محترم
کمک کنین تا این 3 تا الگوریتم رو بنویسم
1-الگوریتمی که یک درخت دودویی را کپی کند
2-درخت دودویی( پیمایش ) را آینه ای کند... مثلا LVR رو بکنه RVL یعنی اول زیر درخت راست رو پیماش کنه بعد چپ
3-الگوریتمی که عمق درخت دودویی را بدست آورد
البته الگوریتم 3 رو از اینجا پیدا کردم. ببینین درسته؟
function BinaryTreeDepth(Tree): Integer
var
LeftDepth, RightDepth: Integer
begin
if IsBranch(Tree.Left) then
LeftDepth := BinarTreeDepth(Tree.Left)
else
LeftDepth := 0
if IsBranch(Tree.Right) then
RightDepth := BinarTreeDepth(Tree.Right)
else
RightDepth := 0
if LeftDepth > RightDepth then
return LeftDepth + 1
else
return RightDepth + 1
end
ممنون میشم کمکم کنید
کمک کنین تا این 3 تا الگوریتم رو بنویسم
1-الگوریتمی که یک درخت دودویی را کپی کند
2-درخت دودویی( پیمایش ) را آینه ای کند... مثلا LVR رو بکنه RVL یعنی اول زیر درخت راست رو پیماش کنه بعد چپ
3-الگوریتمی که عمق درخت دودویی را بدست آورد
البته الگوریتم 3 رو از اینجا پیدا کردم. ببینین درسته؟
function BinaryTreeDepth(Tree): Integer
var
LeftDepth, RightDepth: Integer
begin
if IsBranch(Tree.Left) then
LeftDepth := BinarTreeDepth(Tree.Left)
else
LeftDepth := 0
if IsBranch(Tree.Right) then
RightDepth := BinarTreeDepth(Tree.Right)
else
RightDepth := 0
if LeftDepth > RightDepth then
return LeftDepth + 1
else
return RightDepth + 1
end
ممنون میشم کمکم کنید