Sobes.tech
Junior

Икмдүү дарак кандай иштейт?

sobes.tech AI

AIден жооп

Икки тараптуу дарак — бул дарак формасындагы маалымат структурасы, анда ар бир түйүндө эң көп эки балдар түйүнү болот: сол жана оң.

Иштөө принциптери:

  • Тамыр: Дарактын жогорку түйүнү.
  • Түйүндөр: Маалыматтарды камтыйт жана балдар түйүндөрүнө шилтемелерди камтыйт.
  • Жапайылар: Балдар түйүндөрү жок түйүндөр.
  • Байланыштар: Ата түйүндөн балдар түйүндөрүнө багытталган.

Негизги операциялар:

  • Кошуу: Жаңы түйүндөр дарактын белгилүү бир жерине кошулат, анын структурасы жана эрежелери сакталат (мисалы, эки тараптуу издөө дарагында: кичүү маанилер сол жакка, чоңу оң жакка).
  • Издөө: Түйүндөр аркылуу өтүү белгилүү бир элементти табуу үчүн. Эки тараптуу издөө дарагында издөө эффективдүү, маалыматтардын тартиби менен.
  • Өчүрүү: Түйүндү өчүрүү жана дарактын структурасын кайра түзүү.
  • Өткөрүү: Дарактын бардык түйүндөрүнө белгилүү бир тартипте барыш:
    • Алдын ала (Pre-order): Тамыр, сол алдындагы дарак, оң алдындагы дарак.
    • Пост-тартип (Post-order): Сол алдындагы дарак, оң алдындагы дарак, тамыр.
    • Ичке-тартип (In-order): Сол алдындагы дарак, тамыр, оң алдындагы дарак (эки тараптуу издөө дарагында, элементтердин сорттолгон тизмегин берет).

Артыкчылыктары:

  • Эффективдүү издөө, кошуу жана өчүрүү (балансалган дарактарда).
  • Иерархиялык маалыматтарды көрсөтүү үчүн колдонулат.

PHPда түйүн структурасынын мисалы:

<?php

class Node {
    public $data; // Түйүндүн маалыматтары
    public $left; // Сол балдар
    public $right; // Оң балдар

    public function __construct($data) {
        $this->data = $data;
        $this->left = null;
        $this->right = null;
    }
}