Monday 25 September 2017

الخيار شجرة ثنائي


اتساع-أولا بالبحث انه يسمى الاتساع اولا، وليس النفس أولا. أيضا، هذه التهيئة لا طائل، كما يمكنك الكتابة فوق قيمة عداء فورا في الحلقة: و، المدلى بها هو أيضا بلا جدوى، ليعلن قائمة الانتظار بشكل صحيح مع نوع TreeNode. العمق أولا بالبحث إن أسلوب depthFirstSearch تعيين node. visited كله صحيح. لذلك كنت فاز ر تكون قادرا على استدعاء مرتين. فعلا سيئ حقا أن يكون لها آثار جانبية مثل هذا. سيكون من الأفضل إذا TreeNode ديدن ر لها مجال زار على الإطلاق. هو دا تلويث الطبقة مع البيانات تستخدم فقط من قبل غرض واحد محدد، والبحث المتعمق الأول. أنه لا توجد الآن ر تنتمي هناك. هل يمكن أن تتبع ما كان زار باستخدام مجموعة. تستخدم فقط في depthFirstSearch. TreeNode أود أن تسمية leftNode إلى اليسار وإلى اليمين rightNode. ق بساطة والجميع يفهم ما هي عليه. منذ كنت لا تحتاج إلى تغيير البيانات. يمكن أن يكون النهائي. يقتصر التنفيذ الحالي لكثافة العمليات القيم. سيكون من الأفضل إذا كان BST يمكن تخزين أي شيء مشابه. تغيير تعريف فئة لهذا: وبالمثل لTreeNode استبدال كافة عمليات المقارنة مثل وحدة x. data اختبار اختبار الأساسية الخاصة بك يمكن أن تصبح بسهولة أكثر فائدة (وأقل الأساسية) إذا كنت تفعل الحصول ليس فقط على عنصر عشوائي واحدة، ولكن لجميع العناصر التي إدراج، لأن لديك مجموعة من القيم جاهزة على أي حال: حالة اختبار واحد اسمه basicTest لن تجعل هذه الفئة اختبارها بشكل صحيح. على الأقل يمكنك إضافة بضعة حالات الاختبار التي هي ضرورية من الواضح عندما نتحدث عن شجرة البحث الثنائية. على سبيل المثال، ماذا يحدث إذا كنت محاولة للحصول على عناصر غير موجودة في BST يجب عدم السماح قيم مكررة: بالطبع هذا يتطلب طريقة. الحجم، وتنفيذ ذلك واحدة، وحالة اختبار مع ذلك أيضا: تنسيق والتنسيق هو فوضوي: في الأساس ، استخدم IDE لرمز تنسيق بشكل صحيح. كما أنه يجعل من السهل للمراجعة. (للحصول على نفسك أيضا) أحاول أن لا تغطي الأرض لمست بالفعل عليها جانوس الصورة الجواب كبيرة إلا التأكيد على التنسيق. كنت في الغالب القيام بعمل جيد مع المسافة البادئة التي من الواضح أنها أهم عامل، ولكن breadthFirstSearch لديه حلقة في حين الذين ر بادئة يسن الجسم. المساحات متسقة حول مشغلي (يبدو أنك تفعل)، بين قوسين الهيكلية (إن. في حين الخ)، والأقواس مهم أيضا. وأنا مسح الشفرة الخاصة بك، كل حالة إذا (و) تسمية طريقتين اجتياز البحث مضلل. كنت ارين ر تبحث عن قيمة محددة. استخدام اجتياز أو زيارة بدلا من ذلك. لماذا هي الأساليب اجتياز ثابت اجتياز شجرة يصرخ لالعودية هذا العدد الكبير من وسائل الخاص بك سيكون أسهل باستخدام العودية بدلا من الحلقات، مداخن، طوابير، وزار الأعلام (هو أن العلم حتى اللازم مع خوارزمية حلقات). آه، مزيد من القراءة أرى أنك تستخدم هذه لpreOrderTraversal وinOrderTraversal. لماذا الفرق لمرحلة ما بعد ترتيب يمكنك أيضا استخدام العودية في وسائل أخرى مثل الحصول على وإدراجه. ليرة لبنانية كنت في حاجة الى طريقة المساعد لبدء عودية، ويمكنك نقل أساليب عودي إلى TreeNode إذا أردت. أجاب 7 سبتمبر 14 في 16:55 لقد نفذت بعض أساليب استخدام التكرار في حين البعض باستخدام العودية لممارسة كلا النهجين. شكرا للاستعراض. نيشانت ميهتا 8 سبتمبر 14 في 19:41 وأنا أتفق مع ملاحظات من قبل ديفيد هاركنس ويانوس. كنت أريد أن أضيف نقطة ثانوية: بدلا من الصعب الترميز مختلفة أساليب شجرة اجتياز للطباعة من القيم، هل يمكن أن تحدد تلك الأساليب لاتخاذ حجة من نوع المستهلك (حيث T هو من النوع الذي يحل محل رمز من الصعب نوع int). يمكنك ثم تنفيذ المستهلك الذي يطبع فقط من القيم، ولكن يمكن استخدام التعليمات البرمجية أيضا لأمور أخرى. أجاب 7 سبتمبر 14 في 17:42 برنامج C للثنائي البحث شجرة الخلق وTraversals. ثنائي البحث شجرة هي شجرة الذي يحتوي على الخصائص التالية، غادر 1.THE شجرة فرعية من عقدة يحتوي العقد أصغر من عقدة الجذر. 2.THE شجرة الصحيح فرعية من عقدة تحتوي على العقد أكبر من عقدة الجذر. 3.Both الأشجار الفرعية اليسار واليمين يجب أيضا أن تكون الأشجار البحث الثنائية. هناك ثلاثة أنواع من اجتياز الشجرة. الطلب المسبق، Postorder، واتباعها. إقرأ المزيد حول C لغة البرمجة. يمكنك بسهولة تحديد الشفرة عن طريق النقر المزدوج على رمز المنطقة أعلاه. للحصول على تحديثات منتظمة عن برامج C الجديدة، يمكنك اتباع برنامج ج يمكنك مناقشة هذه البرامج على موقعنا على الفيسبوك صفحة. بدء مناقشة الآن، شارك هذا البرنامج مع أصدقائك الفيسبوك الآن تروق لها (يمكنك إرسال هذا البرنامج لصديقك باستخدام هذا الزر) ترغب في الحصول على تحديثات اليمين داخل قارئ الخلاصات الاستيلاء موقعنا تغذية السؤال 1 التفسير: شجرة ثنائية كاملة (السليم أحيانا شجرة ثنائية أو 2-شجرة أو شجرة ثنائية بدقة) هي شجرة فيه كل عقدة أخرى من الأوراق واثنين من الأطفال. شجرة ثنائية كاملة هي شجرة ثنائية فيه كل مستوى، ربما باستثناء آخر، يتم تعبئة تماما، وتترك كافة العقد إلى أقصى حد ممكن. أ) غير صحيحة. على سبيل المثال، الشجرة الثنائية التالية ليست كاملة ولا الكامل ب) غير صحيح. الشجرة الثنائية التالية هي كاملة ولكن لم يكن كاملا C) غير صحيح. التالية شجرة ثنائي كامل، ولكن ليس D كاملة) غير صحيح. التالية شجرة ثنائي على حد سواء كاملة والكامل يرجى الرجوع en. wikipedia / ويكي / أنواع الأشجار الثنائية من شجرة ثنائية إذا تم إصلاح arity من المشغلين، ثم أي من الرموز التالية يمكن استخدامها لتحليل تعبيرات دون قوسين أ) أقحم الترقيم (اتباعها اجتياز شجرة التعبير) ب) بوستفيكس الترقيم (Postorder اجتياز شجرة التعبير) ج) البادئة الترقيم (ما قبل الطلب اجتياز شجرة التعبير) السؤال 8 الشرح: يمثل دعونا أقصى ارتفاع ممكن من شجرة مع العقد ن كتبها H (ن ). الحد الأقصى لقيمة ممكنة من H (ن) يمكن كتابة ما يقرب من استخدام العودية التالية في حل من تكرار أعلاه هو تكس سجل ن / تكس. يمكننا ببساطة الحصول عليه عن طريق رسم شجرة العودية. 4. النظر في الخوارزمية التالية للبحث عن عدد معين من س في فرزها - مجموعة و1..n وجود قيم ن متميزة: على افتراض أن x هو موجود في A، ما هو العدد المتوقع للمقارنات التي كتبها الخوارزمية قبل أن ينهي أ) ملحوظة) نيكولا لانغ ج) 2N د) ن / 2 الجواب (أ) إذا كنت تتذكر عملة والنرد أسئلة، يمكنك فقط تخمين الإجابة عن ما سبق. فيما يلي دليل عن الجواب. السماح العدد المتوقع للمقارنات يكون E. قيمة E هو مجموع التالية التعبير لجميع الحالات الممكنة. حالة 1 حالة 2 حالة 3 هناك فعلا مثل هذه الحالات لا حصر لها. لذلك، لدينا بعد سلسلة لا نهاية لها لهاء بعد بضرب المعادلة (1) مع (ن 1) / ن، نحصل على طرح (2) من (1)، وحصلنا على التعبير على الجانب الأيمن هو GP مع عناصر لانهائية. دعونا تطبيق الصيغة مبلغ (أ / (1-ص)) وشجرة كاملة ن آرى هي شجرة فيها كل عقدة لديه ن أطفال أو ليس لديهم أطفال. واسمحوا لي أن يكون عدد من العقد الداخلية وL يكون عدد الأوراق في شجرة كاملة ن آرى. إذا L 41، وأنا 10، ما هي قيمة ن سؤال 15 الشرح: يذكر أن كل عقدة لديه عدد فردي من أحفاد بما في ذلك عقدة نفسها، لذلك كل العقد يجب أن يكون عدد زوجي من أحفاد 0، 2، 4 هلم جرا. مما يعني أن كل عقدة يجب أن يكون إما 0 أو 2 الأطفال. لذلك لن يكون هناك عقدة مع 1 طفل. ومن هنا 0 هو الجواب. وفيما يلي بعض الأمثلة. هذه شجرة ثنائية هي شجرة ثنائية كاملة (شجرة ثنائية حيث كل عقدة لديه 0 أو 2 أطفال). ارتفاع شجرة ثنائية هو الحد الأقصى لعدد الحواف في أي الجذر إلى مسار ورقة. الحد الأقصى لعدد العقد في شجرة ثنائية من ارتفاع ح هو:

No comments:

Post a Comment