ماذا يعني هذا الرمز الزائف؟- وظيفة خليفة شجرة البحث الثنائي

StackOverflow https://stackoverflow.com/questions/2304809

  •  21-09-2019
  •  | 
  •  

سؤال

if right[x] != NIL
 then return TREE-MINIMUM(right[x])

 y<-p[x]
 while y!= NIL and x = right[y]
  do x<-y
  y<-p[y]
 return y

أعرف ماذا يعني "إذا كان صحيحًا [x]! = nil ثم إعادة عرض الأشجار" وقد ترجمته إلى:

if(p->RChild) return fMinValue(p->RChild);//returns the min value of the sub-tree starting at the right child node of p

الباقي أواجه مشكلة في فهمه.

هل كانت مفيدة؟

المحلول

<- على الأرجح مشغل المهمة. p أعتقد أنه الوالد. ماذا تخلط بشأنه؟

نصائح أخرى

هنا p[] من المؤكد أن تعني "عقدة الوالدين". أنت تعمل على العقدة x, ، لذا p[x] يعني "والد العقدة الحالية" (مثل right[x] يعني "الطفل الأيمن للعقدة الحالية").

ال <- التدوين هو المهمة. مثل = بلغات تشبه C.

يسير الجزء الثاني من الخوارزمية المعروضة هنا الشجرة بحثًا عن المرة الأولى التي تصعد فيها رابطًا يسارًا بدلاً من الرابط الأيمن. لكنني لست متأكدًا من أنني سأصف هذا كدالة خليفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top