أقصى عقد في الشجرة الثنائية
تضم الشجرة الثنائية المثالية ذات الارتفاع 3 ما يصل إلى 15 عقدة، منها 8 أوراق، موزعة على المستويات بواقع 1 و2 و4 و8. أدخل أي ارتفاع من 0 إلى 52 لتحصل على أقصى عدد من العقد والأوراق والعقد الداخلية. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الارتفاع
- 3
- أقصى عدد من العقد
- 15
- أقصى عدد من الأوراق
- 8
- أقصى عدد من العقد الداخلية
- 7
- العقد في المستوى
- 1, 2, 4, 8
عندما تُقدّر سعة شجرة ثنائية كاملة أو مثالية للتخطيط أو للاستعداد للمقابلات أو للبنى المبنية على الكومة، يكون السؤال الأول عادةً: كم عقدة وكم ورقة تتسع عند ارتفاع معيّن. تقبل حاسبة أقصى عقد في الشجرة الثنائية ارتفاعًا صحيحًا غير سالب وفق الاصطلاح القياسي ذي الأساس صفر —شجرة بعقدة واحدة ارتفاعها صفر— وتعيد القيم القصوى بصيغة مغلقة لشجرة ثنائية مثالية: إجمالي العقد يساوي اثنين مرفوعًا إلى الارتفاع زائد واحد ناقص واحد، والأوراق تساوي اثنين مرفوعًا إلى الارتفاع. كما تُبلغ عن العقد الداخلية والعدد الدقيق لكل مستوى حتى تُقدّر الذاكرة أو طول مصفوفة الكومة الثنائية أو عوامل التفرع دون رسم الشجرة يدويًا.
اصطلاح الارتفاع والقيم القصوى بالصيغة المغلقة
يُعرَّف ارتفاع الشجرة الثنائية هنا بعدد الحواف على أطول مسار من الجذر إلى ورقة، فالجذر وحده ارتفاعه صفر، والجذر بولدين ارتفاعه واحد، والشجرة المثالية ذات أربعة مستويات من العقد ارتفاعها ثلاثة. وفق هذا الاصطلاح تكون كل شجرة ثنائية مثالية من الارتفاع h فريدة بنيويًا: المستوى صفر يحوي عقدة واحدة، والمستوى واحد يحوي اثنتين، والمستوى i يحوي اثنين مرفوعًا إلى i من العقد حتى المستوى h.
جمع المتسلسلة الهندسية من i يساوي صفرًا حتى h يعطي اثنين مرفوعًا إلى h زائد واحد ناقص واحد من العقد الكلية —التسلسل الكلاسيكي 1، 3، 7، 15، 31—. المستوى الأخير وحده يحوي اثنين مرفوعًا إلى h من الأوراق، وهو أيضًا أقصى عدد أوراق لأي شجرة ثنائية من الارتفاع h عندما تكون كل عقدة داخلية ممتلئة والشجرة مكتملة من الأسفل. العقد الداخلية تساوي العقد الكلية ناقص الأوراق، وتُبسَّط إلى اثنين مرفوعًا إلى h ناقص واحد.
هذه المتطابقات هي ما تعتمد عليه الكتب والمقابلات الخوارزمية وصيغ سعة الكومة؛ يشفّرها هذا الطرف بحيث لا تخطئ الأس بمقدار واحد ولا تخلط بين الارتفاع ذي الأساس صفر وعدد المستويات ذي الأساس واحد في بعض المراجع الأقدم. إذا سمّت مادتك شجرة بعقدة واحدة ارتفاعًا واحدًا، فاطرح واحدًا قبل استدعاء الحاسبة لتبقى الصيغ متسقة.
أين تنفع رياضيات سعة الشجرة الثنائية
يستخدم التحضير للمقابلات ومقررات الخوارزميات حاسبة أقصى عقد في الشجرة الثنائية للتحقق من إجابات الواجبات عن الأشجار المثالية ولتحويل الارتفاع وأعداد المستويات وأطوال مصفوفات الكومة الثنائية في الذاكرة المتجاورة. يُقدّر مهندسو الأنظمة أشجار تفريع الرسائل وأشجار القرار ثابتة العمق وتخطيطات من نوع segment tree بسؤال كم ورقة عند العمق h قبل تخصيص المخازن المؤقتة أو اختيار سقف للارتفاع. وكود الألعاب والمحاكاة الذي يبني تقسيمات ثنائية كاملة للمكان يحتاج غالبًا ميزانية العقد مسبقًا حتى تطابق مجمعات الكائنات ومخازن GPU الحد النظري الأقصى.
مواقع المحتوى التي تستهدف أقصى عقد في الشجرة الثنائية أو أقصى أوراق حسب الارتفاع تستفيد من ويدجت حي يطابق مساره المجاني في المتصفح مسار الأتمتة المدفوع بايتًا ببايت على الوحدة الخالصة نفسها. فشل التحقق لا يستهلك الرصيد. أبقِ height ضمن النطاق الموثّق وثبّت الحقول الصحيحة في الاختبارات لتحصل على أرقام سعة قابلة للتكرار للصفوف وإضافات LMS وعُقد الحافة دون بناء مكتبة رسوم بيانية خاصة بك.
حالات الاستخدام
تحقق المقابلات والواجبات
تحقق من أقصى عقد وأوراق لشجرة ثنائية مثالية من الارتفاع h أمام صيغ الكتاب دون أخطاء ارتفاع بمقدار واحد.
سعة الكومة الثنائية والمصفوفات
احسب كم موضع مصفوفة تحتاجه كومة ثنائية كاملة من الارتفاع h قبل تخصيص التخزين أو اختيار حد للعمق.
تقدير التفريع وأشجار القرار
خطّط سعة الأوراق وميزانية العقد الداخلية لتقسيمات ثنائية ثابتة العمق أو أشجار رسائل أو تقسيمات فضاء في المحاكاة.
الأسئلة الشائعة
كم ورقة يمكن أن تحتويها شجرة ثنائية من الارتفاع h؟
على الأكثر 2^h ورقة في شجرة ثنائية مثالية. هذا أيضًا حجم المستوى الأخير عندما تكون كل المستويات ممتلئة.
لماذا يُحدّ الارتفاع عند 52؟
لكي يبقى 2^(h+1)−1 ضمن أعداد JavaScript الصحيحة الآمنة (≤ 2^53−1). الارتفاعات الأكبر تفقد الدقة الصحيحة الدقيقة في بيئة التشغيل هذه.
ما معادلة أقصى عدد من العقد في شجرة ثنائية؟
لارتفاع h محسوب بعدد الحواف تكون 2^(h+1) − 1، لأن كل مستوى يضم ضعف عقد المستوى الذي فوقه، ومجموعها يعطي المتتالية 1 و3 و7 و15 و31.
ماذا لو قال كتابي إن العقدة الواحدة ارتفاعها 1؟
عندئذ يعدّ الكتاب المستويات لا الحواف. اطرح واحدًا من ذلك الارتفاع قبل إدخاله لتبقى المعادلات متسقة: هنا الجذر وحده ارتفاعه 0، والجذر مع ابنين ارتفاعه 1.
كم عقدة داخلية في الشجرة الثنائية المثالية؟
دائمًا أقل من الأوراق بواحدة: 2^h − 1 عقدة داخلية مقابل 2^h ورقة. والشجرة ذات الارتفاع 0 عقدة واحدة هي ورقة أيضًا، فلا عقد داخلية فيها.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/binary-tree-max-nodes \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"height":3}'const res = await fetch("https://api.kit.forhosting.com/dev/binary-tree-max-nodes", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"height": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/binary-tree-max-nodes",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"height": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/binary-tree-max-nodes", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"height":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"height":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/binary-tree-max-nodes", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"height": 3
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.binary_tree_max_nodes",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
الحساب خالص وحتمي: ويدجت المتصفح المجاني ومسار API يشتركان في الوحدة نفسها، فلا يختلفان بين تدقيق الواجبات ونصوص السعة في الإنتاج. الارتفاعات غير الصالحة تفشل برمز invalid_input ولا تُفوتر.
عقد الإدخال وحقول الاستجابة والحدود الآمنة
اربط الأرقام برسمك أو نموذج الذاكرة إن احتجت مخططات تخطيط؛ هذا الطرف يعيد فقط أعداد السعة وتفصيل المستويات، لا كائن شجرة مُسلسلًا ولا صورة رسم بياني. أرسل جسم JSON عبر POST بحقل إلزامي واحد: height، وهو عدد صحيح من صفر إلى اثنين وخمسين شمولًا. قد تصل القيم كأعداد صحيحة JSON أو سلاسل رقمية؛ الحقول الناقصة وغير الصحيحة والسالبة وغير المنتهية والارتفاعات فوق اثنين وخمسين تفشل برمز invalid_input مع تسمية المشكلة. يحافظ الحد الأعلى على max_nodes مساويًا لاثنين مرفوعًا إلى الارتفاع زائد واحد ناقص واحد ضمن أعداد JavaScript الصحيحة الآمنة (على الأكثر اثنين مرفوعًا إلى ثلاثة وخمسين ناقص واحد)، فتقارن الاختبارات الذهبية والعملاء أعدادًا صحيحة دقيقة لا تقريبات عائمة. عند النجاح يعيد الجسم height ويُرجع max_nodes وmax_leaves وmax_internal_nodes وnodes_at_level كمصفوفة طولها الارتفاع زائد واحد حيث الفهرس i يساوي اثنين مرفوعًا إلى i، وسلسلة formula قصيرة تعيد تأكيد الصيغ المغلقة. مثال: الارتفاع ثلاثة يعطي max_nodes خمسة عشر وmax_leaves ثمانية وmax_internal_nodes سبعة وnodes_at_level واحد واثنين وأربعة وثمانية. الارتفاع صفر يعطي عقدة واحدة هي أيضًا ورقة: max_nodes واحد، max_leaves واحد، max_internal_nodes صفر.
أين تنفع رياضيات سعة الشجرة الثنائية
ولأن التنفيذ parse خالص من المستوى A، تكلف كل مكالمة ناجحة السعر الأساسي المنشور $0.002 دون رموز نموذج ودون شبكة صادرة.
أسئلة تقنية
ما أقصى عدد عقد في شجرة ثنائية من الارتفاع h؟
مع الارتفاع صفر لعقدة واحدة، max_nodes يساوي 2^(h+1)−1. أرسل height كعدد صحيح 0..52؛ تعيد API الحقول max_nodes وmax_leaves (2^h) وnodes_at_level.
هل يُسمح بالارتفاع صفر؟
نعم. الارتفاع 0 شجرة بعقدة واحدة: max_nodes 1، max_leaves 1، max_internal_nodes 0. الارتفاعات السالبة تُرفض برمز invalid_input.
كم تكلفة حاسبة أقصى عقد في الشجرة الثنائية؟
أداة المتصفح مجانية. طلبات API تستخدم رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل مكالمة ناجحة؛ الإدخال غير الصالح لا يُفوتر.