• 0
هاني الأتاسي

سلسلة - شغل مخك (26)

سؤال

هل بالامكان كتابة كود تجول بالشجرة الثنائية من غير استخدام مفهوم التعاودية ؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

4 إجابة على هذا السؤال .

  • 0

- MAX و MIN ثوابت حدود مصفوفة العناصر

- عند عدم العثور على العنصر ترد القيمة MIN-1

- بالطبع يشترط أن تكون المصفوفة مرتبة




Function Where(Var e:; Var T:Array[MIN..MAX] of ):Integer;
Var n,m,d:Integer;
Begin
m:=MIN; n:=MAX;
d:=(m+n)/2;
Where:=MIN - 1;
While m > n do
if T[d] > e then m:=d-1
else
if T[d] < e then n :=d+1
else
Where:=d;
End;

هل هذا هو المقصود؟ :confused:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم و رحمة الله وبركاته ,,,

كيف الحال أخي و أستاذي هاني ؟

كيف الحال اخي سالم ؟

مو مبينين من زمان ؟ فينكم ؟!! إن شاء الله تكونو منيحين :)

المهم أستاذ هاني بما أني لن أستخدم التعاوديه

فسألجاء إلى الـ Stack لأن التعاودية هي Stack في

الأصل ;)

طيب شوف هذا الكود بس معليش ما طبقته

لأنه راح يكون طويل شوي في كتابته كامل

أنا سأكتب لك الدالة فقط :)

 
void trav(tree t)
{
stack s;
tree cur;

cur = t;

do
{
while(cur != null)
{
push(s, cur);
cur = cur->left; // go to the down left item
}

if(!IsEmpty(s))
{
cur = pop(s);
cout << cur->key << endl;
cur = cur->right;
}
}while((cur != null) || !IsEmpty(s));
}

أتمنى أن يكون هذا صحيح ...

مع تحياتي ,,,

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي هاني ؟ (clock) (clock) (clock)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .