Обсуждение:Реализация запроса в дереве отрезков сверху — различия между версиями
(Новая страница: «: {{tick}} Тут надо просто все нормально переписать, а то как-то обрывисто. Добавить интервики, ...») |
|||
Строка 1: | Строка 1: | ||
− | : {{tick}} Тут надо просто все нормально переписать, а то как-то обрывисто. Добавить интервики, категории. --[[Участник:Dgerasimov|Дмитрий Герасимов]] 00:08, 7 февраля 2012 (MSK) | + | : {{tick}} описание перенести в шапку статьи |
+ | : {{tick}} зачем какое-то тире перед началом ссылки в разделе «Ссылки». | ||
+ | : {{tick}} не надо объяснять алгоритм на примере RSQ, объясняй на примере абстрактной операции с деревом отрезков. Вот уже в примере работы — ок, пусть будет RSQ. | ||
+ | : {{tick}} обычно вершина в дереве отрезков — node, vertex (у тебя же от этого название «ver» образовано?) — ближе к графам. | ||
+ | : {{tick}} Псевдокод надо делать как можно абстрактнее. Зачем передавать в рекурсию левую и правую границу отрезка, если ты уже передаешь ver? Левую и правую границу можно получить как tree[ver].left, tree[ver].right, значение — как tree[ver].value. И почитай правила оформления псевдокода. Можно вообще передавать в рекурсии node, тогда не нужны будут вот эти ver * 2 и ver * 2 + 1, можно будет вызываться от node.left, node.right. | ||
+ | : {{tick}} ver * 2 и ver * 2 + 1 — неправильно, так как мы все-таки используем 0-индексацию, а 0 * 2 == 0 | ||
+ | : {{tick}} Отрезки в псевдокоде должны быть полуотурытыми, иначе он у тебя может входить в бесконечную рекурсию. (l=k, r=k => m = k, дальше опять вызов от l=k, r=k). | ||
+ | : {{tick}} => смотрится фигово, лучше в техе хотя бы. И названия вершин (1, 2 и т.д.) там в техе пиши. еще в примере в одном месте форматирование поехало. | ||
+ | : {{tick | ticked=1}} Тут надо просто все нормально переписать, а то как-то обрывисто. Добавить интервики, категории. --[[Участник:Dgerasimov|Дмитрий Герасимов]] 00:08, 7 февраля 2012 (MSK) |
Версия 10:28, 26 апреля 2012
- ☐ описание перенести в шапку статьи
- ☐ зачем какое-то тире перед началом ссылки в разделе «Ссылки».
- ☐ не надо объяснять алгоритм на примере RSQ, объясняй на примере абстрактной операции с деревом отрезков. Вот уже в примере работы — ок, пусть будет RSQ.
- ☐ обычно вершина в дереве отрезков — node, vertex (у тебя же от этого название «ver» образовано?) — ближе к графам.
- ☐ Псевдокод надо делать как можно абстрактнее. Зачем передавать в рекурсию левую и правую границу отрезка, если ты уже передаешь ver? Левую и правую границу можно получить как tree[ver].left, tree[ver].right, значение — как tree[ver].value. И почитай правила оформления псевдокода. Можно вообще передавать в рекурсии node, тогда не нужны будут вот эти ver * 2 и ver * 2 + 1, можно будет вызываться от node.left, node.right.
- ☐ ver * 2 и ver * 2 + 1 — неправильно, так как мы все-таки используем 0-индексацию, а 0 * 2 == 0
- ☐ Отрезки в псевдокоде должны быть полуотурытыми, иначе он у тебя может входить в бесконечную рекурсию. (l=k, r=k => m = k, дальше опять вызов от l=k, r=k).
- ☐ => смотрится фигово, лучше в техе хотя бы. И названия вершин (1, 2 и т.д.) там в техе пиши. еще в примере в одном месте форматирование поехало.
- ☑ Тут надо просто все нормально переписать, а то как-то обрывисто. Добавить интервики, категории. --Дмитрий Герасимов 00:08, 7 февраля 2012 (MSK)