Tag Archives: алгоритмы

GO. Реализация бинарного дерева

https://appliedgo.net/bintree/

Выбор совпадений подстрок в названиях

Был у меня список клиник, который забивали руками. Хотелось найти сетевые клиники путём поиска похожих названий, а именно — совпадений подстрок. Делал на go. Из-за скорости и наколеночности делал всё в одном файле, без тестов и код там не так чтобы хорош. Код здесь — https://github.com/bullgare/lzd_cllinics/blob/master/utils/parser/main.go#L312. Реализация не самая удачная, нет тестов, и всё в …

Read more

Моя версия Quadtree на javascript

Мне нужно было загружать кучу точек на плоскость и потом быстро узнавать, на какой из этих точек кликнули мышкой. Точек может быть действительно много — до десяти тысяч — поэтому делать для каждой точки свой DOM-элемент слишком накладно. Поэтому нужно было эффективно отслеживать клики мышкой на плоскости и вычислять на лету подходящую точку. Долго возился …

Read more

Voronoi algorithm

Использование алгоритма Вороного в javascript. Смотреть с 10 минут. http://youtu.be/90NsjKvz9Ns?t=10m15s Ссылки: http://cgm.cs.mcgill.ca/~mcleish/644/Projects/DerekJohns/Sweep.htm http://philogb.github.io/blog/assets/voronoijs/voronoi.html (http://philogb.github.io/blog/2010/02/12/voronoi-tessellation/) https://code.google.com/p/javascript-voronoi/ https://github.com/mikolalysenko/voronoi-diagram https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0 (ликбез по параболе) http://habrahabr.ru/post/110790/ http://www.cs.princeton.edu/~edwardz/voronoi/voronoi.html http://www.devforrest.com/examples/voronoi/ http://www.ams.org/samplings/feature-column/fcarc-voronoi https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%B1%D0%BB%D0%B8%D0%B6%D0%B0%D0%B9%D1%88%D0%B5%D0%B3%D0%BE_%D1%81%D0%BE%D1%81%D0%B5%D0%B4%D0%B0 http://strongriley.github.io/d3/ex/voronoi.html http://www.raymondhill.net/voronoi/rhill-voronoi-demo3.php

Алгоритм динамического центрирования меню по нужному элементу

Задача — при возникновении события подсветить нужный пункт меню, показать по 3 пункта сверху и снизу, остальные скрыть. Это относится и к пагинация (paging). Если, к примеру, это второй пункт меню, то снизу показать больше. В общем, чтобы в сумме всегда было показано 7 пунктов. Решил показать алгоритм, которым воспользовался, чтобы всегда быть уверенным, что …

Read more