"Информатика", Семёнов А.Л., Рудченко Т.А.
Дерево — это схема, которая показывает, как объекты связаны отношениями «родитель — ребёнок». Например, в семейной цепочке бабушка — родитель дочери, а дочь — родитель внучки. Начало схемы называют корнем, а объекты располагают уровнями: каждый ребёнок находится ниже своего родителя. У одного родителя может быть несколько детей, но в простом дереве у каждого объекта, кроме корня, только один родитель. Такие схемы помогают наглядно представлять устройство семей, папок, сайтов и классификаций.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Объект — предмет или сущность, о которой можно получить сведения и которую можно обозначить в схеме. Например, объектами могут быть люди, школа, класс или отдельная папка. Такое понятие помогает сначала решить, что именно мы будем изображать. Если объекты не выделены, связи между ними тоже нельзя показать понятно.
Родитель — объект, от которого в рассматриваемом отношении непосредственно происходит другой объект. Например, в цепочке «бабушка — дочь — внучка» мать является родителем дочери, а дочь — родителем внучки. Слово «непосредственно» означает, что между этими объектами нет ещё одного промежуточного звена. Это определение нужно, чтобы точно отличать прямую связь от более дальнего родства.
Ребёнок — объект, непосредственно связанный отношением происхождения с родителем. Если у объекта A есть дети B и C, то B и C — дети A, а A — их родитель. Ребёнок не обязательно должен быть человеком: в схеме организации школы класс может быть ребёнком школы. Это понятие помогает назвать связь с точки зрения объекта, который находится ниже.
Дерево — схема отношений, в которой объекты соединены уровнями «родитель — ребёнок», начиная с корневого объекта. Корень — начало дерева, у которого в пределах схемы нет родителя. Ниже него располагаются дети, а затем дети этих детей. Дерево нужно, чтобы видеть устройство связей целиком и прослеживать переходы между объектами.
Одно и то же множество объектов можно упорядочить по-разному, если задать разные отношения. Например, людей в семье можно расположить по происхождению, а те же самые имена — по алфавиту или по месту жительства. В первом случае получится дерево «родитель — ребёнок», а в остальных — другие схемы. Поэтому перед построением нужно понять, какие именно связи описываются, а не просто перечислить объекты.
Связь «родитель — ребёнок» указывает на непосредственное отношение, потому что иначе уровни дерева потеряли бы ясный смысл. Если у A есть ребёнок B, а у B — ребёнок C, то A является предком C, но не его непосредственным родителем. Между A и C стоит B, поэтому путь проходит через два перехода. Такое различие позволяет понять, сколько шагов отделяет объекты, и не смешивать близкие и дальние отношения.
В дереве корень занимает начальное положение, а каждый следующий уровень образуют дети объектов предыдущего уровня. Ветвь — это последовательность связанных объектов, которую можно проследить по соединительным линиям. Чтобы найти путь между объектами, двигайся по линиям от одного объекта к другому; если нужно перейти к другой ветви, поднимись к общему родителю и затем спустись. Например, от D к E из схемы с родителем B путь проходит через B.
У родителя может быть несколько детей, поэтому от одного объекта линии могут вести к разным объектам следующего уровня. Однако в простом дереве у каждого объекта, кроме корня, только один родитель. Это правило сохраняет единственный путь от корня к каждому объекту и не даёт ветвям запутаться. Если одному объекту назначить двух родителей, схема перестанет быть простым деревом.
Чтобы прочитать описание и составить схему, сначала выбери объект, который включает остальные или служит началом отношений. Запиши его сверху как корень, затем найди в условии тех, кто непосредственно связан с ним, и расположи их уровнем ниже. После этого добавляй детей каждого из них, не перескакивая через промежуточные связи. Такая последовательность помогает не принять дальнего потомка за непосредственного ребёнка.
| Элемент | Что означает | Как распознать на схеме |
|---|---|---|
| Корень | Объект, с которого начинается дерево | Находится на верхнем уровне и не имеет родителя |
| Родитель | Объект, от которого непосредственно отходят связи к детям | Расположен уровнем выше своих детей |
| Ребёнок | Объект, непосредственно связанный с родителем | Расположен уровнем ниже своего родителя |
| Ветвь | Последовательность связанных объектов от родителя к потомкам | Прослеживается по соединительным линиям |
Сначала найди корень, а затем проследи линии вниз: так можно определить родителей, детей и ветви. Уровень показывает положение объекта относительно корня, а не порядок, в котором его назвали. Проверяй, что у каждого объекта, кроме корня, есть ровно один родитель.
В семье есть бабушка, её дочь и внучка. Изобрази отношения «родитель — ребёнок» и укажи корень. Нужно учитывать только непосредственные связи, а не соединять каждого старшего родственника со всеми младшими. Начать удобнее с того, кто стоит в начале описанной цепочки.
Ответ: схема — бабушка → дочь → внучка; корень — бабушка. Бабушка является предком внучки, но не её непосредственным родителем. Связи проведены по одному поколению за раз.
У объекта A есть дети B и C; у B — дети D и E. Нарисуй схему и назови родителя объекта E, его предка и все уровни. Здесь важно не приписать объекту C детей, о которых ничего не сказано. Все сведения в условии относятся только к указанным непосредственным связям.
Ответ: первый уровень — A; второй — B и C; третий — D и E. Родитель E — B, а его предок — A. Схему можно прочитать так: A соединён с B и C, а B соединён с D и E.
Школа включает два класса; в первом классе есть ученики Аня и Боря, во втором — Вера. Построй дерево и по нему определи путь от школы к Вере и всех детей школы. Школа должна быть корнем, поскольку именно она включает остальные объекты. Ученики связаны с классами, а не напрямую со школой.
Ответ: дети школы — первый и второй классы. Путь от школы к Вере проходит через второй класс. Аня, Боря и Вера не являются непосредственными детьми школы: они находятся уровнем ниже классов.
Называть ребёнком любого потомка — значит путать непосредственную связь с расположением ниже по ветви. Так ошибаются, когда видят, что объект находится внизу, и не проверяют промежуточные уровни. Чтобы проверить себя, спроси: есть ли между этими объектами ещё один объект? Если есть, нижний объект — потомок, но не непосредственный ребёнок верхнего.
Считать, что у каждого объекта может быть только один ребёнок, неверно: у родителя может быть несколько детей. Такое предположение иногда возникает потому, что пример показан одной цепочкой. Проверь схему по условию: если там перечислено несколько непосредственных детей одного объекта, размести их на одном уровне и соедини с этим родителем.
Принимать объект верхнего уровня за ребёнка — значит забывать, что корень не имеет родителя в пределах данной схемы. Ошибка возможна, если не выяснить, с какого объекта начинается описанное отношение. Для проверки найди объект, от которого строятся остальные связи, и убедись, что над ним в этой схеме нет родительского объекта.
Строить схему по порядку перечисления объектов неправильно, потому что список сам по себе не сообщает, кто чей родитель. Объекты могут быть записаны в любом порядке, а связь задаётся смыслом описания. Перед размещением выпиши или отметь пары «родитель — непосредственный ребёнок». Затем проверь, что каждый объект оказался на уровне, который следует из этих связей.
Для построения дерева нужно уметь выделять объекты и связи между ними в описании или списке. Сначала выясни, какие предметы или сущности упоминаются, а затем найди, что именно связывает каждую пару. Деревья пригодятся при изучении папок и файлов: папка может содержать другие папки и файлы. По такому же принципу можно показывать структуру сайтов, классификации и способы организации данных.
Чем родитель отличается от предка?
Родитель связан с объектом непосредственно и находится уровнем выше. Предком называют любой объект выше по ветви: это может быть родитель, дедушка или более дальний объект.
Может ли у одного объекта быть несколько детей?
Да, у родителя может быть два или больше непосредственных детей. Например, если у объекта A дети B и C, то оба они находятся на одном уровне.
Может ли у объекта быть два родителя в одном дереве?
В простом дереве у каждого объекта, кроме корня, только один родитель. Если у объекта два родителя, схема уже не соответствует этому правилу.
Как понять, какой объект является корнем?
Корень — объект, с которого начинается дерево. В пределах этой схемы у него нет родителя, а остальные объекты располагаются ниже.
Почему порядок объектов в списке не всегда совпадает с порядком в дереве?
Порядок записи показывает только то, в какой последовательности перечислили объекты. Дерево строят по связям между ними, поэтому сначала нужно выяснить, кто чей родитель, а не просто расставить объекты по списку.
Родители и дети