Pull to refresh

Comments 172

Стоит, если они будут описаны доступным языком. Приветствуется применение метфор и т.п.
Картинки, схемки тоже приветствуются, ибо наглядности часто не хватает…
там анимация в большинстве случаев нужна
Как то раз, преподаватель по алгоритмизации, двум девушкам объяснял какую-то сортировку на поезде с вагончиками. =)
А у моей знакомой, была такая задача на первом курсе по алгоритмам.

Задача это про бронирование билетов, есть поезд с определённым числом мест. Есть несколько станций. Каждый пассажир задаётся начальной и конечно станцией от/до которой он едет.

Задача рассчитать за O(n*log n) хватит ли места всем пассажирам в поезде и выдать каждому пассажиру номер его места в поезде.

Поломайте пока головы кому интересно, могу потом написать решение.
Это стандартная задача про выбор процессов. Сортировка по началу и жадный алгоритм
Автор, поддтвердите (опровергнете) решение. Правильный MaximKat предложил вариант?
У меня такой же вариант решения придумался. =) Вот и интересно.

Сортировка, да будет: O(n*log n)
И пробежек по массиву с раздачей билетов: O(n*log n)?
Ну в общем да.

Я делал как-то так: Сначала быстрая сортировка по принципу в самое начало идут те кто вошёл раньше и едет дольше. Потом проходим массив и по очереди кладём в стек (кладя в стек человека вошедшего на станции n удаляем предварительно оттуда всех людей которые выходят на этой станции, они сверху). Смотрим за размером стека, если он превышает размер поезда, то выводим ошибку. Позиция пассажира в стеке и будет номером его места в поезде.
стоит сообществу сделать несколько версий на разных языках(и добавлять их в топик по мере появления), здесь же полно специалистов, кто то на С\C++, кто то на питоне, кто то на brainfuck'е (:…
такого языка нет) есть Scheme
Не обязательно, но желательно на императивно-алгоритмическом языке, хотя если и на декларативно-функциональном будет ещё лучше)
Согласен, необходимо на каком-нибудь универсальном языке, понятным всем программистам. А если выбрать какой-нить питон или руби, то пхпшники (я вот, например)), сишники и прочие крепко обидятся.)
А вы больше языков не знаете что ли?
Не вижу связи между количеством известных языков и предпочтением. На питоне, по крайней мере для меня, нагляднее чем на других. Язык просто больно близок к «учебному», лаконичный и понятный.
но далеко не все его знают, в отличие от того же с++
Почему наивность? Мне вот почему-то кажется, что людям, которые С++ не понимают, и BFS не пригодится…

И, да, я не знаю Python.
Я не знаю С++. Я знаю С, Python.
С чего вы взяли, что С++ — это какой-то эталон?
Python сильно на псевдокод похож, очень выразительный. Ну и сразу код погонять можно.
Но это, конечно, не принципиально.
Во-первых, то, что Вы не знаете С++ и знаете Python, не причисляет Вас к «ненаивному большинству».

Во-вторых, не думаю, что для объяснения алгоритмов могут понадобиться какие-то специфические особенности C++, отсутствующие в том же С.

В-третьих, если Вы питонист, то не означает что другие смогут сразу погонять код. У меня отродясь Python не стоял.

В-четвертых, как какой-то язык может быть похож на псевдокод? o_O

Итого: идеальным вариантом, как по мне, можно считать псевдокод с С-подобным синтаксисом.
Во-первых, наивность заключалась в том, что ВСЕ знают С++

Во-вторых, алгоритмы — это математика, а она, в общем случае, не зависит от языка реализации (кроме специальных оптимизаций «под язык»). Тут важна выразительность.

В-третьих, это всего лишь вопрос личного удобства. Компилировать незнакомый код…

В-четвёртых, сами посмотрите.

С-like — достаточно компромиссный вариант, но, на мой взгляд, питон просто выразительней.
1. Да, С++ знают далеко не все, но алгоритмы, описанные с помощью С++ сможет прочитать большинство.

2. Согласен.

3. Согласен. Мне неудобно.

4. Я не пойму, с каких это пор псевдокод стал стандартизированным? Это ведь неформальный язык описания алгоритмов. И это псевдокод может быть похож на Pascal, на С или на Python, но не наоборот.
Работа с указателями, выделением/освобождением памяти не делает код читабельный, наверняка ;)
Под псевдокодом я имел в виду некоторый «классический» вариант не предусматривающий «закос» под что-то — что-то вроде www.nesterova.ru/bibl/algorithm_lang/Kniga2/Parts1%5CParts2%5Cindex.htm
Конечно же для описания сортировок, BFS, DFS и пр. Вам непременно придется выделять/освобождать память, работая при этом только с указателями :)))
В том-то и все дело — код должен описывать алгоритм, а такие «побочки реализации» совсем не способствуют пониманию алгоритма. На том же паскале код не будет «замусорен» работой с памятью — ведь для алгоритма это не обязательное условие.
Вообще-то это был сарказм.
Тогда больше говорить не о чем.
Всего доброго.
Мне почему-то казалось, что ситуация обратная.
Алгоритнмы и языки программирования не связаны между совсем чуть менее чем полностью.
UFO just landed and posted this here
Думаю, С-подобный синтаксис будет понятен большинству, так как во многих языках он взят за основу. А вот Python я вообще читать не могу.
А что мешает? На самом деле интересно.
Не понимаю я его :) В мой путь развития пролегал мимо Python. Могу читать Basic, Pascal, C, Asm на крайний случай и прочее…

Но я более чем уверен, что 90% программистов сталкиваются с С-шным синтаксисом рано или поздно, чего нельзя сказать про Python.
Пардон за опечатку :)
Хм. У меня впечатление, как будто мы о разных питонах говорим. Может вы с хаскелем его путаете %)
Он очень похож на паскаль и бейсик но более лаконичный. Я вполне свободно читаю исходники на всех перечисленных языках. Думаю для вас никакой трудности быть не должно.
Не знаю, может мне встречался не совсем тривиальный python-код :) Мне просто непривычна фишка с отступами: не хватает какого-то begin … end что ли.

P.S. Haskell — это конечно да-а-а…
Я после паскалевского классического форматирования эту «фишку» оценил. begin/end реально лишние :) И код чище и компактнее.
Я ничего не имею против Python и даже начинал его учить, но потом решил, что Haskell будет полезнее. Уверен, что эта «фишка» удобная, однако я к ней не привык. Думаю, многие не-питонисты тоже.
Да, привычка — вторая натура…
Тем кто мне заминусовал карму, спасибо. Вам будет лучше икаться.
Не бери дурного в голову, а тяжёлого в руки :)
Стоит, особенно если с примерами задач, в которых они применяются. Желательно из жизни. :)
что ещё описывать в этом блоге как не алгоритмы?! :-)
ps: нужно конечно :-)
стоит!!! в коментах я б писал свою реализацию алгоритмов на Delphi))
Обязательно их практическое приминение
Однозначно стоит. Примеры только на Питоне или еще каких-то Рубях не надо. Классика (Си, например) какая-то или блок-схем или чего-то подобного, универсального и общеизвестного будет достаточно, имхо (ну кроме асма, особенно для несуществующей архитектуры… такое уже есть где почитать;).
А потом уже пусть народ на что там ему удобно портирует.
стОит, с примерами, не важно на каком языке
Я бы не хотел видеть реализации на АСМ) В разумных мерах)
Вообще лучше псевдокод, у нас профессор так делает, потом на любом можно написать

А если нет, то питон — его проще всех читать и понимать
Пусть автор напишет на том, что хорошо знает и понимает. А читатели в комментариях могут привести свои варианты хоть на языке индейцев Майя) И все довольны.
примеры алгоритмов всегда надо писать на псевдоязыке, что бы не цеплялся реализации на конкретном языке, так правильнее, имхо.
Именно так. Не мог читать Вирта из-за того, что код приведен был на Паскале, да и еще с очень плохим форматированием. А вот Кормен с его псевдоязыком дается гораздо легче!
Томас Кормен плачет горькими слезами. Никто не хочет читать его книги.
А «Конкретную математику» и тем более. =)
Спасибо, почитаем. Правда найти оказалось не слишком просто :)
Ура, я не тролль. Я хоть чем-то кому-то помог :)
Дональд Кнут плачет в месте с ним в унисон.
Мне лично было бы интересно не столько банальное описание самих алгоритмов из университетского курса, сколько их продвинутые усовершенствования и интересные или нестандартные применения.
Да стоит! =)

В прошлый раз постеснялся в пост вставить примеры практического приминения этих алгоритмов (и так большой получился).
Извините, что приоткрываю карты… но чтобы подбавить интриги интереса наблюдать за обновлениями в блоге, проболтаюсь.
Уже вышеперечисленные алгоритмы широко применяются в сетях: определение петель и динамическая маршрутизация.

Где какой алгоритм — просьба дождаться соотв. интересной статьи.
Поддерживаю автора в его начинаниях! =)
Стоит, т.к. многие сейчас считают себя «программистами», не зная даже основных алгоритмов, структур данных и их применений.
Все равно они так или иначе применяли какое-то подобие этих алгоритмов на деле, ибо они применяются во многих задачах. Сам помню, как приходилось изобретать велосипед, а позже узнавал, что все уже придумано и как-то называется.
Не хочу начинать холиваров, но я уверен, что половина «программистов» под тот же .NET Framework, к примеру, применяют алгоритмы только в виде методов типа Sort(), но уж никак не пишут сортировки вручную.
Конечно же я утрирую, но готов поспорить, что в какой-то из версий .NET Framework появится метод DoAllShit() :)
UFO just landed and posted this here
Стоит.
И классические, и применения.
И картинки. И примеры в коде.
Однозначно За. Поймал себя на мысли, что вспоминая алгоритмы в голове крутится только «пузырьковая сортировка»
А я раньше(пока не выучил Qsort, Heapsort) любил сортировку подсчётом. Хотя все почему-то считали её сложной…
Так она быстрее и heapsorta и mergesorta, если данные на входе подходящие, зачем вы разлюбили? :)
А можно у вас попросить пример входных данных, которые настолько замедляют heapsort?
Прошу прощения, невнимательно прочитал пост karlicos. Подумал, будто бы вы сравнили heapsort с пузырьком, вот и поинтересовался…
а теперь у меня есть C++ и sort() =)
Ну на миллионном массиве целых из 1..1000 карманная сортировка любой хип/мерж/квик взорвёт.
Еще есть Least Significant Digit (LSD) — она и оганичения по модулю расширит, и тоже взорвет =)
LSD-то хоть что взорвёт =)
С реальными примерами применения.
ИМХО: Нет. Объясню почему — тот кому это интересно — либо знает их, либо возьмёт классические труды, типа «И.П.» Кнута. Потому, наверно более актуальны станут статьи-напоминания сути алгоритмов, для тех кто забыл, т.е. небольшие дайджесты, вроде 5-ка алгоритмов для красно-черных деревьев и т.д. Словесная суть, мат. формула и короткий пример на мнемокоде.
Доля здравого смысла в Ваших словах определенно есть.
А вообще не стоит писать то, что разжевано и пережевано на сотнях сайтов, с анимациями и аплетами — лучше сделать акцент на реальном использовании, это полезнее и интереснее, а саму теорию и основы дать ссылками — не нужно будет делать много лишней работы. Тем более большинству сами алгоритмы знакомы.
Нужно-нужно.
Кнут это хорошо, очень.
Но он очень большой и читать его изборочно, когда знаешь что нужно (увидел, прочитал упоминание где-нибудь) значительно удобнее.
Лучше проделать работу и найти алгоритмы полезные на практике, но не входящие в стандартные университетские курсы по той или иной причине. BFS, Dijkstra — это все слишком заезжено.
Знаю этот алгоритм. Хорошая, кстати, задача для собеседования, если определить проблему как нахождение дубликата в массиве за линейное время.
А вот тут поподробнее, пожалуйста. Дубликат же не обязательно будет циклом.
Дан массив длины N + 1, элементами которого являются числа от 1 до N. Понятно, что по крайней мере одно число в таком массиве должно встречается более одного раза (возможно и не одно). Требуется найти любое такое число за O(N) время и O(1) память.
Все равно не понял :( Как ее решать?
Думаем о массиве как о графе. Представьте, что элемент массива a[] под номером i — это вершина графа. Его значение a[i] — это ориентированное ребро на вершину под соответствующим номером. Значения можно рассматривать как индексы в этот же массив, поскольку они ограничены диапозоном от 1 до N.

Далее, почему должен быть цикл? Если имеются повторяющиеся элементы, допустим a[i] и a[j], то это значит, что существуют вершины i и j, из которых лежит путь в одну и ту же вершину a[i]=a[j]. Таким образом, начиная свой обход этого графа мы рано или поздно придем в некоторую вершину повторно, но уже по другому ребру. Теперь достаточно выделить этот цикл и отрезать от него «хвост». Вот начало этого хвоста и будет повторяющимся элементом.

Конечно же, граф может быть и несвязным, т.е. состоять из набора таких цепочек, каждая из которых завершается циклом. Какой из них мы найдем — зависит от выбора начального элемента. Поэтому в условии я написал «любое такое число».
Но ведь цикл не обязательно означает наличие дубликата?
Как этот алгоритм будет работать, например, с таким массивом: {2,3,1,4,4}? В первом цикле из 3 элементов дубликата нет. Чтобы определить с какого элемента продолжать обход, нам придется помечать уже просмотренные элементы, т.е. константной памятью не обойтись
Проблема решается. Как я написал в условии, массив имеет длину N+1. Начинаем обход с первого элемента (под индексом ноль). Очевидно, он будет являться частью хвоста, поскольку в массиве нет элементов со значением 0 (диапазон 1 до N). Для циклов с хвостом дубликат обязателен.
Хитро
И что, не зная этого алгоритма, до него реально догадаться за ограниченное время? :) Или просто смотрите как человек рассуждать будет?
А я еще не пробовал давать кандидатам, и не факт, что стану. Вот, на вас испытал. Задача сложная, но можно выдавать подсказки.
Ну ооочень нужно!
Лучше с начала и по-подробнее: картинки, схемы, примеры и т.д.
Будем безгранично благодарны!
Но может не сразу же:
— Максимально-оптимальный поток в графах с выигрышами
— Венгерский алгоритм для Максимальной Задачи о назначениях
— Алгоритм нахождения максимального паросочетания в произвольном графе (Габова)
— и.т.п.

т.е. такой уровень сложности что ли? Просто, все ли поймут так сразу.
Думаю неплохо бы написать доступно и для младшекурсников, чтобы у них интерес появился к изучению алгоритмов. Показать что это несложно (если постепенно) и интересно.
А не пугать их сразу Кнутом (Моррисом Праттом) и Кристофидесом.

Выбрать уровень после DFS'а… где-нить от MST, сильно-связных компонент, клик, потоков… и до Венгерки. =)
Естественно стоит. Хотелось бы так же историю, если можно.
Эх… для меня поздно уже…
Сегодня сдал экзамен на 5 (из 10) по алгоритмам. А вот если бы были они на хабре, я бы обязательно почитал, разобрался и сдал на 10. Так что обязательно нужны такие топики.
Как то некрасиво перекладывать вину на Хабр, не?)
« А вот если бы были они на» на фишки.нет, дваче… :)
Особенностью поста про наибольший поток наименьшей стоимости было то, что он цеплял сразу два алгоритма, которые на первый взгляд (если вы читаете о них впервые) могут показаться не очень понятными в учебниках, поэтому и требуют, возможно, такого красочного объяснения с примерами. Нет никакого смысла объяснять базовые классические алгоритмы — ведь это можно сделать, взяв отличнейшие книги Кормена, Кнута и иже с ними. А вот решения каких-то конкретных не очень типичных задач или более сложные алгоритмы — вот это оправдано.
На мой взгляд, затевать описание классических алгоритмов как монографичный материал не стоит (хотя ваше описание классической транспортной задачи великолепно) — таких описаний навалом и вы данными статьями скорее решаете личную задачу укрепления пройденного материала (самый лучший, кстати, способ), а вот составить список примеров _различных_ применений этих алгоритмов было бы гораздо полезнее для сообщества.
Вообще, можно создать отдельный блог типа «от теории к практике» и постить туда конкретные применения теоретических знаний, которыми нас столь усердно пичкают в высших учебных заведениях. Ведь та же транспортная задача, как правило, иллюстрируется (причем опять же — преподаватель фантазирует) «грузовиками», «почтальонами», тележками в цеху и т.д., но гораздо реже — реальными примерами.
Эти «маленькие» алгоритмы тоже находят приминение:
OSPF — алгоритм Djkstra
RIP2 — алгоритм Bellman-Ford
MST — петли в сетях
Клики(мосты) — что-то типа надежность (отказоустойчивость) соединений в сетях

Может их тоже бегло осветить (в пару постов) для тех кто мало знаком?
К сожалению, не во всех университетах нормальный курс по алгоритмам — это норма…
Да, нужно, желательно со схемами на UML
UFO just landed and posted this here
Отличный сайт, литература на нём тоже подходящая и по алгоритмике, и по языкам.
+ algolist.manual.ru, разумеется.
UFO just landed and posted this here
си++ хороший язык, кроссплатформенный.
Но приятночитаемый — нет, извольте.

python.
мне показалсь он имел ввиду по ± самого топика :)
Питон хорош, но некоторые вещи лучше объяснять на плюсовом/сишном коде, чтобы меньше синтаксического сахара было, для лучшего понимания. + к тому же в бОльшей части случаев реализовывать эти алгоритмы и приходится на c-подобных языках в рамках олимпиад.
Я не получал технического образования, и мне это очень нужно. Особенно если на примере С++ и с расшифровкой.
Я надеюсь вы все-таки напишите что-то по алгоритмам, а то уже не первый опрос, после которого автор нахватал плюсов и скрылся — видимо, исчезла мотивация :)
Мне кажется автора может смущать реакция профессионалов («все это и так знает, а кто не знает — пусть идёт читать книжки»), из-за этого и не пишут.
В своё время я пытался игнорировать это и писал короткие статьи про Java для новичков, но потом перестал — они оказались довольно низкоэффективными.
Напишу конечно!
Сейчас я просто читаю отзывы и пытаюсь понять что именно требуется от такого материала, на что делать упор. Статьи будут позже, сейчас пока только анализ комментариев.
Главное, чтобы было, чем отличаться от книжек — тогда читать всем будет интересно.=)
Здесь лучше привести ссылки на качественную литературу по теме.
Автор все равно не сможет описать алгоритмы настолько доступно, чтобы каждый читатель понял. Это ж не таблица умножения, алгоритмами занимаются и занимались сверх умы человечества :-) к примеру, Д. Кнут и нет смысла переписывать их труды сюда, когда можно просто обратиться к книге.
Кроме того, чтобы изучать алгоритмы необходимо знать некий минимум, например основы линейной алгебры.

Я вношу свою лепту в этот пост ссылкой на прекрасную книгу Томаса Кормена — Алгоритмы. Построение и анализ. В этой книге материал изложен доступным языком, снабжен примерами на C и есть необходимое введение в линейную алгебру (при этом ненавязчивое :-) )

www.ozon.ru/context/detail/id/2429691/
Всем рекомендую!

UFO just landed and posted this here
Перелистал книгу :-)
Ну да… это, конечно, не С, но доступный для понимания псевдоязык.
Пардон за неточность, если это столь важно.
Наверно чтобы изучать алгоритмы, нужно знать синтаксис каких-нибудь общепринятых для изучения языков программирования, а не в картинках изучать, как тут выше упоминалось :-)
UFO just landed and posted this here
Классики: Кормен, Ахо, Хопкрофт и Ульман вам в помощь, алголист опять же упоминали — при должном желании изучить можно все
Хотелось бы почитать простое и понятное изложение Венгерского алгоритма и симплекс-метода, с реализациями (можно схематичными, но без лишних алгоритмических упрощений, типа матриц смежности вместо списков).

Вещи вроде обходов вширь-вглубь, на мой взгляд, давать не стоит, их знает любой, кто что-то делал с графами. А если знает, то и применение найдёт.
Я все в планах вынашиваю идею рассказать Венгерку.
Сорсы (свои с ACM'a) у меня есть, только описание нужно к ним соотв. (и самому перечитать Кристофидеса) чтобы понятно получилось.

Извините, пока у меня времени нетю… :(
Я оч. постараюсь ближе к средине июля написать…
Писать стоит!
Ка уже писали, желательно с примера из реальной жизни, если вдруг что — то, что все знают, использует один из описываемых алгоритмов.
Лично для меня будут интересны примеры «из жизни» поисковых пауков, робототехники и т.д. Но, в любом случае, будут интересны любые примеры!
Вот тебе товарищ, про пауков и роботов :) Учитацо! и даже с картинками :)
logic.pdmi.ras.ru/~yura/internet.html
Примного благодарен, товарищ!!! То что надо )
UFO just landed and posted this here
UFO just landed and posted this here
А в чем проблема переписать на любой нужный язык?
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Сложно судить, насколько они известны широкой публике, думаю что далеко не все наслышаны, так что вполне можно.
Для меня, признаться, особой ценности не представляют, я их сам студентам только недавно закончил рассказывать, но а вдруг вы чего-нибудь этакого знаете, что мне неизвестно ;) Кстати, а про деревья Штейнера знаете что-нибудь? Научный интерес.
UFO just landed and posted this here
дак понимаете, там ведь по сути ничего нет, кроме формулировки проблемы, и к тому же это геометрическая задача, которая на самом деле попроще. Для нее кое-какие алгоритмы есть довольно эффективные.
А более общая графовая по сути является логичным обощением как решаемой Дейкстрой задачи минимального пути, так и задачи MST. Ну и в отличие от обоих, ессно она NP-трудна. Так что там одни вопросы на данный момент. Появляющиеся эвристические алгоритмы пытаются бороться за доли процентов и откровенно говоря уже который год топчутся на месте.
(Простите, наболевшее. Мне через год диссер защищать, а у меня каменный цветок выходит пока проблематично)
Это по которым оптимально прокладываются сети?
Как то встретился с такой задачкой: есть провод и 4 контакта (разположенных в концах квадрата). Какой кратчайший провод понадобится. Долго блися (крест-на-крест, гипотенузы и.т.п.) — пока не нуткнулся на эти деревья. А решается через описанные равносторонние треугольники. И получается:



Интересовался, но не глубоко. И несложные задачки решал. Типа вышеперечисленной.
UFO just landed and posted this here
Всегда Пожалуйста! =)

Я там прочитал «прикладное значение» этих деревьев. Мини описание алгоритма, и несколько приятных минут с карандашем и листочком — позволили написать мини-решение мини-задачки. =)
UFO just landed and posted this here
Спилберг, ни понятна… =)
Извините, но это не квадрат _Оо
Пишите обязательно, многие будут благодарны.
Знаете в универе рассказывали тоже самое, про те же алгоритмы, но вы сами знаете, как оно бывает в универе. А из-за огромного доверия к хабру, читая статью — я понял, как много полезного пропустил
UFO just landed and posted this here
Прочиталось как «классический алкоголизм..» хД
Я не вижу смысла писать о том. о чем уже писали сотни раз в разных книгах (на русском языке!!) начиная с самых классиков в виде Кнут, Таха, потом Кормен, ну или вообще в самом простом виде это Окулов.
Зато с превиликим удовольствием почитал бы про современные алгоритмы, по которым информация только в различных рассылках и на английском.
Мне тоже кажется, что в этом не очень много смысла — за последние десять лет издано довольно много приличной литературы по алгоритмам. У меня есть, по крайней мере, три-четыре хороших «кирпича», в которых нужный алгоритм, скорее всего, обнаружится.

Вот что-то неклассическое (о чём не пишут Кормен и др.) было бы интересно (при условии, что полезно). А если хочется писать — проще отсканировать страницу из хорошего учебника, чего велосипед изобретать.
UFO just landed and posted this here
Обязательно нужно а то с мойм универом я кроме как в ворде печать ничему не научусь.
а самому на не практические задачи времени не хватает.
А следующим будет Том 2. Получисленные алгоритмы?
Столько интересующихся, а по карме блога «Алгоритмы» и не скажешь, поддержали бы.
Оптимально будет большое количество схем, картинок для наглядности + листинги на python ибо на с++ уже достаточно взять хотя бы книгу сэджвика фундаментальные алгоритмы.
Если Вы знакомы с книгой Сэджвика, то что мешает записать те же алгоритмы на Python?
Я бы про суффиксные деревья послушал.
конечно стоит! и добавьте алгоритмы Кнута для больших чисел, конечно можно найти в инете описания и почитать, но я считаю, что не будет лишним снова про них написать/прочитать/посмотреть, особенно если будут хорошие иллюстрации
ага приветствуются. Ну я написал Дейкстры. В результате народ как-то негативно отнесся. А я бы был рад сортировкам на c#. Благо из много всяких разных :)
  • Однозначно. Стоит. Любое описание, которое хотя бы на йоту будет делать алгоритм доступным для понимания — имеет полное право быть.
  • Не имеет значения, были ли алгоритмы опубликованы ранее, в скольких учебниках напечатаны и т.д. Алгоритмы — частичка вечности. И писать о них можно вечно.
  • Желательно давать разжёванное описание с примером. По шагам.
  • Также, если есть возможность, желательно делать визуализацию в виде анимации, можно gif
Да, интересна. Она всегда будет интересна.
Желательно подкрепить будущие тексты визуальными моделями.
Sign up to leave a comment.

Articles