Деревья в базах данных можно хранить тремя основными методами: Adjacency List, Matherialized Path & Nested Set. Когда мы хотим переехать с AL на NS, это можно сделать с помощью рекурсии (если БД расово верная). Но что делать в случае MySQL?Читать полностью »
Рубрика «рекурсия» - 4
Строим Nested Set дерево без рекурсии
2012-11-25 в 17:47, admin, рубрики: mysql, nested set, sql, Алгоритмы, рекурсия, функции, метки: mysql, nested set, Алгоритмы, рекурсия, функцииPython — оптимизация хвостовой рекурсии
2012-11-12 в 21:23, admin, рубрики: python, оптимизация, рекурсия, метки: python, оптимизация, рекурсия Не секрет, что Python не оптимизирует хвостовую рекурсию. Более того сам Гвидо является противником этого. Но если кому нужно, есть небольшое изящное решение. Под катом…
Читать полностью »
Создаем рекурсивные ярлыки в Windows
2012-09-28 в 18:07, admin, рубрики: ненормальное программирование, папки, рекурсия, ярлыки, метки: папки, рекурсия, ярлыки Все мы знаем что такое ярлык.
А что будет если сделать ссылку ярлыка самого на себя?
Создание ярлыка на ярлык приводит к его копированию.
Но что будет если принудительно создать по байтово такой ярлык?
Но расскажу я не об этом, а о том как можно создать папку от вида которой все программы вылетают с ошибками.
Да, только от вида, на папку даже кликнуть не успеете.
Зайти в такую папку обычными файловыми менеджерами будет невозможно.
Но тут не обошлось без ярлыка и я расскажу как это сделать и для чего можно использовать.
Читать полностью »
Решение задачи коммивояжёра на плоскости рекурсивным жадным алгоритмом
2012-09-21 в 16:26, admin, рубрики: Алгоритмы, задача коммивояжёра, ненормальное программирование, Программирование, рекурсия, метки: задача коммивояжёра, рекурсия В предыдущей публикации был рассмотрен алгоритм решения задачи коммивояжёра на плоскости рекурсивным полным перебором. Результат получился любопытным, но итоговый маршрут содержал очевидные неоптимальные участки. В предлагаемой заметке рассмотрен улучшенный алгоритм, который я назвал «рекурсивным жадным алгоритмом». Признаюсь сразу, итоговый маршрут в сравнении с рекурсивным полным перебором получается лучше, в среднем, на 8%.
Читать полностью »
Решение задачи коммивояжёра рекурсивным полным перебором
2012-09-10 в 9:13, admin, рубрики: задача коммивояжёра, Песочница, полный перебор, рекурсия, метки: задача коммивояжёра, полный перебор, рекурсия Сформулируем задачу.
Дано N узлов, расположенных на плоскости. Задан входной узел (Вх) и выходной узел (Вых). Необходимо обнаружить кратчайший путь, охватывающий все узлы, начинающийся во входном узле, заканчивающийся в выходном узле и проходящий через каждый узел только один раз.
Есть мнения, что задача коммивояжёра может формулироваться ещё двумя способами:
1. Необходимо обнаружить кратчайший гамильтонов цикл.
2. Необходимо обнаружить кратчайший путь, начинающийся в заданном узле.
Однако обе эти формулировки при ближайшем рассмотрении оказываются частными случаями первоначальной формулировки.
Формулировка 1 подразумевает, что входным узлом может быть любой узел, а выходным — один из ближайших к нему. Что требует полного перебора всех ближайших узлов к произвольно выбранному узлу.
Формулировка 2 подразумевает, что входной узел задан, а выходным узлом может быть любой. Что требует полного перебора всех выходных узлов с последующим выбором кратчайшего пути из всех кратчайших.
Поэтому мы остановимся на первоначальной формулировке, и будем решать задачу в общем виде.
Читать полностью »
Самый большой индекс пиратского контента
2012-07-17 в 19:38, admin, рубрики: Google, копирайт, рекурсия, метки: копирайт, рекурсияС недавних пор Google публикует Transparency Report с полным списком всех запросов по цензуре нелицензионного контента в поисковой выдаче. Прошлая неделя стала рекордной в этом отношении: получено и удовлетворено 719416 запросов.
В тексте каждого запроса указан URL, по которому размещается «пиратский» контент. Самое интересное, что все указанные URL дублируются на сайте Фонда электронных рубежей в рамках проекта Chilling Effect.
Читать полностью »
Вконтакте присоединился к протесту против законопроекта №89417-6, попутно положив Хабрахабр
2012-07-10 в 15:38, admin, рубрики: vk.com, wikipedia, Вконтакте, рекурсия, хабрахабр, метки: habrahabr, vk.com, wikipedia, рекурсия
Вот что могут увидеть посетители vk.com в данный момент.Читать полностью »
Однострочники на Си/С++. Часть 2
2012-07-06 в 17:16, admin, рубрики: c++, Алгоритмы, ассемблерная вставка, код Грея, Программирование, рекурсия, С++, метки: ассемблерная вставка, код Грея, рекурсия, С++
Ранее я уже публиковал статью о Однострочниках на С++. Так в этом посте я хочу упомянуть ещё несколько алгоритмов, а также несколько реализаций алгоритма обмена двух чисел(с вычислением времени работы).
Всех заинтересовавшихся прошу под кат;)
Читать полностью »
Рекурсивные функции — создание собственной математики (Scala)
2012-03-11 в 17:14, admin, рубрики: scala, логика, ненормальное программирование, рекурсия, метки: scala, логика, ненормальное программирование, рекурсияДобрый день!
Столь претензионным заголовком я хочу начать статью про одну из многих моделей исчисления (Compitational model) — рекурсивные функции. В первой части этого поста мы разберем (в кратце, ибо подробно все расписано на Википедии) теоретическую составляющую этой модели (примитивная рекурсия), во второй же половине мы попробуем претворить данную модель в жизнь (частично) с помощью языка Scala.