2019-gate-computer-science-and-it-practice.pdf/Q06-alg1 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
(Новая страница: « == Вопрос: Q06-alg1-31d68c == <blockquote> Вопрос из «Algorithms Test 1» где-то со страницы 222. Тут вставьте пер…»)
 
(Вопрос: Q06-alg1-31d68c)
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
 
 
== Вопрос: Q06-alg1-31d68c ==
 
== Вопрос: Q06-alg1-31d68c ==
 
+
Сколько существует различных бинарных деревьев с 8 узлами?
<blockquote>
+
Вопрос из «Algorithms Test 1» где-то со страницы 222.
+
 
+
Тут вставьте перевод вопроса.
+
Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 возможности разметки],
+
включая формулы и т.п, если будут графы — посмотрите как задать их текстом https://wiki.4intra.net/Graphviz (реально оценю, полезный навык).
+
Если код — теги «code-pascal», «code-c» или «code-python» (не «source lang»).
+
 
+
В IT вообще не принято писать романы, всегда старайтесь писать структурированные (списками-абзацами тексты). Списки в MediaWiki — это просто «*». Не забывайте о них.
+
Преформатированный моноширинный текст — просто отступ.
+
 
+
Старайтесь нетривиальные понятия, особенно незнакомые вам, найти ссылку на википедию и вставить (нейросети лажают!).
+
Это важно, чтобы найти корректный перевод (то, что в википедии, или на худой конец — точно массово гуглится).
+
 
+
Потом конечно сотрите эти инструкции, которые тут курсивом или в блоке цитирования.
+
</blockquote>
+
  
 
=== Ответы ===
 
=== Ответы ===
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
+
* 256
(префикс «Правильный ответ:» — это дословно, для правильного ответа, неважно, какой он будет в списке)</i>
+
* 128
 +
* Правильный ответ: 248
 +
* 64
  
* Правильный ответ: тут реально правильный ответ
+
=== Объяснение ===
* неправильный ответ
+
Непонятно.
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
  
<i>Если ответы длинные, многострочные, или там графы, используйте
+
Обычно число бинарных деревьев выводится через [https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%B0_%D0%9A%D0%B0%D1%82%D0%B0%D0%BB%D0%B0%D0%BD%D0%B0 Числа Каталана].
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
+
Но такое очень редко встречается, например [[2011-gre-cs-practice-book.pdf/Q05]]. </i>
+
 
+
 
+
=== Объяснение ===
+
<i>Сначала заполните номер страницы с этим вопросом
+
{{cstest-source|2019-gate-computer-science-and-it-practice.pdf|тут-номер-страницы-с-вопросом-6|6}}
+
  
Если все сделаете правильно, по ссылке выше будет открываться правильная страница в правильном PDFе.
+
* Бинарное дерево — структура где у каждого узла, не больше двух потомков (левый и правый).
  
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный, а [[2004-gre-cs-practice-book.pdf/Q16|неправильные варианты неправильны]].
+
;База рекурсии: пустое дерево, 0 узлов, одно.
Тут тоже могут быть полезны [[2004-gre-cs-practice-book.pdf/Q03|ссылки на википедию]],
+
;Рекурсия: Дерево на n-узлов делаем так
решение вами [[2004-gre-cs-practice-book.pdf/Q12|рекуррентных уравнений в sympy]].
+
* выбираем один узел как корневой (выбор рута n вариантов)
 +
* дальше рекурсивно строим левое и правое дерево.
 +
** Левое поддерево — выбор k-узлов  <m>0 \leq k \leq n-1</m>.
 +
** Правое поддерево — оставшиеся n-1-k
  
</i>
+
Получается рекурсивная формула <m>
 +
C_n = \sum_{k=0}^{n-1} C_k \cdot C_{n-1-k}
 +
</m>, совпадающая с определением [https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%B0_%D0%9A%D0%B0%D1%82%D0%B0%D0%BB%D0%B0%D0%BD%D0%B0 Чисел Каталана].
  
{{question-ok|}}
+
Но тут в ответе явно ждут формулу <m>2^n - n</m> (как она выводится?), которая бьется до 4 с числами каталана, но начиная с 5 — расходится.
  
{reserve-task|[[Участник:StasFomin|StasFomin]] 20:47, 24 декабря 2024 (UTC)}
+
{{cstest-source|2019-gate-computer-science-and-it-practice.pdf|219|6}}
 +
{{question-ok|[[Участник:StasFomin|StasFomin]] 22:05, 24 декабря 2024 (UTC)}}
  
[[Category:Надо не забыть выбрать тему]]
+
[[Категория:Бинарный поиск]]
 +
[[Категория:Комбинаторика]]
 +
[[Категория:Разобраться]]

Текущая версия на 23:16, 24 декабря 2024

Вопрос: Q06-alg1-31d68c

Сколько существует различных бинарных деревьев с 8 узлами?

Ответы

  • 256
  • 128
  • Правильный ответ: 248
  • 64

Объяснение

Непонятно.

Обычно число бинарных деревьев выводится через Числа Каталана.

  • Бинарное дерево — структура где у каждого узла, не больше двух потомков (левый и правый).
База рекурсии
пустое дерево, 0 узлов, одно.
Рекурсия
Дерево на n-узлов делаем так
  • выбираем один узел как корневой (выбор рута — n вариантов)
  • дальше рекурсивно строим левое и правое дерево.
    • Левое поддерево — выбор k-узлов .
    • Правое поддерево — оставшиеся n-1-k

Получается рекурсивная формула , совпадающая с определением Чисел Каталана.

Но тут в ответе явно ждут формулу (как она выводится?), которая бьется до 4 с числами каталана, но начиная с 5 — расходится.

Исходники — вопрос 6 на 219 странице книги «2019-gate-computer-science-and-it-practice.pdf»