محتویات |
در علوم کامپیوتر، درخت ساختار دادهٔ پر استفاده است که شبیه به یک ساختار درختی با مجموعهای از گرههای متصل به هم است. درخت یک گراف همبند بدون دور است. اکثر نویسندگان این قید را نیز اضافه میکنند که گراف باید بدون جهت باشد. یه علاوه بعضی قید بدون وزن بودن یالها را نیز اضافه میکنند.
هر گره در درخت تعدادی( صفر یا بیشتر ) گره فرزند دارد، که در زیر آن در درخت قرار دارند( به طور قراردادی، درخت به سمت پایین رشد میکند، برخلاف آنچه در طبیعت می بینیم ). یک گره که فرزند دارد گره پدر آن فرزند گفته میشود. یک گره حداکثر 1 پدر دارد. ارتفاع یک گره طول طولانیترین مسیر پایین رو از آن گره به یک برگ است. طول ریشه طول درخت نامیده میشود. مسیری که از گره به ریشه وصل میشود مسیر ریشه نام دارد و طول این مسیر عمق آن گره است.
بالاترین گره درخت گره ریشه نام دارد. پس گره ریشه پدر ندارد. این گره گرهی است که عملیات روی درخت معمولاً از آن شروع میشود.( هر چند بعضی الگوریتمها از برگ شروع شده و به ریشه ختم میشوند ). بقیهٔ گرهها با دنبال کردن یالها از گره ریشه قابل دسترسی اند درنمودار درخت عموما گره ریشه در بالا رسم میشود. در بعضی درخت ها، مثل پشته ها[۲]، گره ریشه ویژگیهای خاصی دارند. هر گره در یک درخت را میتوان ریشهٔ یک زیر درخت در نظر گرفت. که این زیر درخت درختی است ریشه دار که آن گره ریشهٔ آن است.
پایینترین گرههای یک درخت گرههای برگ نام دارند. چون این گرهها زیرترین گره هستند هیچ فرزندی ندارند.
یک گره داخلی هر گرهی است که فرزند داشته باشد پس برگها گره داخلی نیستند.