Обсуждение:Дискретная математика и алгоритмы

Материал из Викиконспекты
Перейти к: навигация, поиск

Требования к написанию вики-конспектов

Главное

  1. Внимательно читайте свои конспекты перед тем, как совершать попытку их сдачи. Еще лучше читать конспекты друг друга перед отправкой на проверку, так как это позволит значительно уменьшить количество итераций сдачи конспекта.
  2. Перед отправкой на проверку перечитайте эти требования.
  3. В конспекте не должно быть недочетов, связанных с требованиями.
  4. Не забудьте после того как конспект примут, или когда он будет в состоянии, близком к готовому, добавить его в список конспектов по соответствующей теме, иначе он потеряется, и его никто никогда не прочитает.

Общение с редакторами

  1. Желательно зарегистрироваться на сайте вики-конспектов и написать в информации о себе имя, фамилию и группу.
  2. Не забывайте сообщать редакторам о том, что конспект нужно проверить.
  3. При общении с редактором, представляйтесь и давайте ссылку на конспект, который вы пишете (в каждой итерации общения, чтобы не приходилось искать в истории переписки ссылку). При использовании электронной почты в теме письма указывайте “Вики-конспекты: Название вики-конспекта”. Отсутствие словосочетания "Вики-конспекты" может сказаться на времени проверки конспекта.
  4. Ставить замечания к конспекту может не только ваш куратор конспекта, в том числе и после принятия конспекта. Их тоже надо учитывать.
  5. Не помечайте замечания, эти метки — для кураторов конспектов.

Викификация

  1. Смотрите в качестве примера на конспекты, которые отмечены как хорошие.
  2. В конспекте не должно быть орфографических, пунктуационных, речевых, фактических, логических и других ошибок. Используйте spell checker.
  3. Используйте вики-шаблоны Шаблон: Определение, Шаблон: Теорема, Шаблон: Лемма, Шаблон: Утверждение, Шаблон: Задача (Справка по шаблонам).
  4. Если ваш конспект написан про какое-то конкретное понятие или теорему, не надо делать отдельный пункт "Формулировка":
плохо
хорошо
  1. Приводите английские названия терминов, теорем, имен алгоритмов и т.д. Их лучше писать в скобках курсивом после их русских названий.
  2. Вместо черточки “-” используйте тире “—”. Для этого можно использовать Шаблон:---. Про правила использования читать здесь
  3. Редактировать можно не только свои конспекты — используйте “концепцию вики”
  4. Не используйте тег <br> . Для перевода строки в вики надо вставлять пустую строку. Видимо, единственное место, где можно использовать его — внутри шаблонов — там переводы строки почему-то не работают.
  5. Ставьте категорию [[Категория: Дискретная математика и алгоритмы]] и подкатегорию с названием подтемы (например, [[Категория: Динамическое программирование]]). Список подкатегорий тут.
  6. Оформляйте ссылки на источники правильно. Пример хорошего оформления — конспекты Алгоритм Укконена и Правило Лаулера.
  7. Не используйте сокращения.

Картинки

  1. Картинки, где только возможно, надо делать в векторе. Для этого можно пользоваться Microsoft Visio, Inkscape, Graphviz, Metapost и им подобными.

Источники информации

  1. Используйте ссылки на другие конспекты.
  2. В конспекте должны быть указаны источники или литература. Причем указывать ссылки не просто на википедию, а на конкретную статью (как Википедия — Экспоненциальная запись, на английскую — как Wikipedia — Scientific notation). Для книг достаточно указать автора, название, издание и номер страницы.
  3. Нарушения авторского права недопустимы.

TeX

  1. Использование тега <tex> вместо <math> обязательно. Везде.
  2. По согласованию с куратором: если лень постоянно писать <tex> </tex> , можно обернуть всю статью в <wikitex> </wikitex> , а потом обособлять формулы в $ $(например, <wikitex> Для любого $ \alpha $ верно $\sin^2 \alpha + \cos^2 \alpha = 1 $ </wikitex> ), но лучше так не делать. В частности, проблемы возникают если внутри тега wikitex находится несколько заголовков — ломается их редактирование по отдельности.
  3. Формулы с дробями можно увеличивать для повышения читаемости, если кажется, что они рендерятся слишком мелко, но не надо злоупотреблять. Для этого используйте параметр dpi в теге tex. Пример: <tex dpi = "180">\frac {\omega_n(x)} {(x - x_j) \cdot \omega_n'(x_j)}</tex>
  4. В качестве знака умножения нужно использовать \times или \cdot, а не звездочку. Сравните: [math]2 * 2 = 2 \times 2 = 2 \cdot 2 = 4[/math].
  5. Не опускайте знаки умножения, конъюнкции, скобки и т.п., если это может привести к неоднозначности.

Псевдокод

(правила, в основном, отсюда Участник: Kirelagin/Оформление#Псевдокод)

  1. Используйте максимально компактный и читаемый псевдокод.
  2. Не ставьте фигурные скобки. Угадайте, для чего они нужны? Чтобы парсер языка было легче писать. Человеку они только мешают. Используйте отступы для группировки. (Python-style)
  3. Не ставьте круглые скобки вокруг внешнего условия if'а, while'а и т.п.
  4. Обозначайте присвоение нормально, с помощью знака «=», а сравнение как «==» (всё равно придётся слезать с паскаля).
  5. Не вводите какие-то левые операторы. Например, если кладёте что-то в очередь, так и напишите: q.push(a).
  6. TeX в псевдокоде можно использовать только в случае какого-то нестандартного оператора(а перед этим хорошо подумать и посмотреть предыдущий пункт)
  7. Не надо описывать ввод данных и вывод данных. Оформляйте псевдокод как функцию, принимающую входные данные и возвращающую результат.
  8. Обычные правила хорошего кода:
    • Ставим пробелы между операндами и бинарными операторами(«1 + 2», а не «1+2»). После унарных операторов перед операндом пробел ставить не нужно.
    • Не ставим пробел перед скобкой - вызовом функции(«f(x)», а не «f (x)»)
    • Пробел после запятой, разделяющей аргументы функции
    • Используем какой-то определённый стиль именования переменных(я бы рекомендовал lowerCamelCase для переменных и функций и UpperCamelCase для классов)

теорема Вагнера

Определение:
Минор графа (англ. Graph minor) G будем называть граф H, если H может быть образован из G удалением рёбер и вершин и стягивания рёбер.