В предыдущей статье мы на основе общих друзей ВКонтакте строили граф, а сегодня поговорим о том, как получить список друзей, друзей друзей и так далее. Предполагается, что вы уже прочли предыдущую статью, и я не буду описывать все заново. Под хабракатом большие картинки и много текста.
Читать полностью »
Рубрика «графы» - 8
Анализ дружеских связей VK с помощью Python. Продолжение
2014-11-14 в 10:41, admin, рубрики: celery, python, RabbitMQ, Вконтакте, Вконтакте API, графы, Программирование, социальные сетиРедактор структурированных данных общего назначения
2014-07-31 в 10:32, admin, рубрики: cms, визуализация данных, графы, деревья, Семантическая СетьОригинал на английском dmitra.com/graphiy/general-purpose-tree-editor/
Начиналось все с простой потребности в наведении порядка в файлах. Почему уже 2014 год, а до сих пор нет простого и удобного редактора деревьев хотя бы?
Текстовых редакторов — несметное множество и все равно появляются новые. Редакторов таблиц — поменьше, но жаловаться приходится только когда количество данных исчисляется тысячами.
А ведь самих-то способов представления информации не так много:
Строка, Список, Таблица, График, Диаграмма, Карта, 3d
Разумеется, есть огромное множество разновидностей этих видов, но количество достаточно популярных не превышает десятка.
По своей сути эти способы можно подразделить по количеству одновременно отображаемых характеристик.
Одномерные: список, временная шкала, хронометраж и т.п.
Двумерные: таблица, карта, график, гистрограмма и т.п.
Трехмерные: в основном нестандартные сложные научные 3d-визуализации
Многомерные: деревья, графы, сети
Визуализаций данных уже создано в избытке и продолжают изобретать новые. Для одних только деревьев известно под 3 сотни вариантов: treevis.net
А вот редакторы существуют для весьма малого количества самых популярных.
И в отношении многомерных данных существует огромный пробел.
Читать полностью »
Число Бейкона
Немного история, Кевин Бейкон американский актёр сыгравший во множествах фильмам, в 1994 отметил что актёры, с которыми снимался он, работали со всеми голливудскими (и не только) актёрами. Общественность тут же отреагировала и создала игру “назвать имя актёра и связать его с Кевином Бейконом”. Корпорация добра даже встроила игру в свой поисковик, например Число Бейкона для актёра Джона Траволты равно 2 (Джон снимался с Оливией Ньютон-Джон в фильме Бриолин, она же, в свою очередь, сыграла с Кевином Бейконом в фильме “У нее будет ребенок”).
А теперь давайте поговорим о том как это игру можно представить и как можно вычислить число Бейкона при помощи графа.
Читать полностью »
Графы для самых маленьких: Dijkstra или как я не ходил на собеседование в Twitter
2013-11-16 в 17:18, admin, рубрики: Алгоритмы, графы, метки: Алгоритмы, графы Не так давно наткнулся на статью о том, как Michael Kozakov не смог решить алгоритмическую задачу на собеседовании в Twitter. Решение этой задачи — почти в чистом виде один из самых стандартных алгоритмов на графах, а именно, алгоритм Дейкстры.
В этой статье я постараюсь рассказать алгоритм Дейкстры на примере решения этой задачи в несколько усложненном виде. Всех, кому интересно, прошу под кат. Читать полностью »
Пример использования WxPython для создания нодового интерфейса. Часть 2: Обработка событий мыши
2013-11-11 в 16:33, admin, рубрики: framework, Node, python, Simulink, Visio, wxpython, графы, интерфейс, интерфейсы, нодовый интерфейс, Программирование, метки: framework, Node, python, Simulink, Visio, wxpython, графы, интерфейс, нодовый интерфейсВ небольшом цикле статей будет описано использование WxPython для решения вполне конкретной задачи по разработке пользовательского интерфейса, да еще и то, как сделать это решение универсальным. Туториал этот расчитан на тех, кто уже начал изучать эту библиотеку и хочет увидеть что-то более сложное и целостное, чем простейшие примеры (хотя начнется все с относительно простых вещей).
В прошлой части я рассказал о задаче и начал описывать процесс реализации, а точнее рендеринг объектов. Теперь же пришла пора реализовать взаимодействие с пользователем.
Кому интересно, добро пожаловать под кат…
Читать полностью »
Пример использования WxPython для создания нодового интерфейса. Часть 1: Учимся рисовать
2013-11-11 в 15:46, admin, рубрики: framework, python, Simulink, UI, Visio, wxpython, графы, интерфейс, интерфейсы, Программирование, метки: framework, python, Simulink, Visio, wxpython, графы, интерфейсВ небольшом цикле статей будет описано использование WxPython для решения вполне конкретной задачи по разработке пользовательского интерфейса, да еще и то, как сделать это решение универсальным. Туториал этот расчитан на тех, кто уже начал изучать эту библиотеку и хочет увидеть что-то более сложное и целостное, чем простейшие примеры (хотя начнется все с относительно простых вещей).
А начиналось все так: понадобилось мне для одного проекта сделать UI, где надо последовательность обработки сообщений редактировать. Что-то наподобии Simulink'а. Соответственно, полез искать готовые либы/фреймворки. Поначалу подумал, что задачка популярная и кто-нибудь уже сделал это велосипед, поискал, поискал и… не нашел. Точнее нашел много антикварных велосипедов, но кто же будет пользоваться чужим старым велосипедом, если можно сделать свой новый. Но раз уж делать новый велосипед, почему бы не сделать его универсальным, мало ли, где еще пригодится.
Так что попробую в нескольких статья описать процесс разработки с нуля до работающего примера. Ну и чтобы было интересно, а ферймворк был универсален, первая задача для него будет не подобие Simulink'а, а софтина для рисования блок-схем а-ля Visio, но со своим блек-джеком и остальными участниками:)
Кому интересно, добро пожаловать под кат…
Читать полностью »
Графы для самых маленьких: Ford & Bellman или как понять, что ты попал в бесконечно далекое прошлое
2013-11-10 в 20:51, admin, рубрики: Алгоритмы, графы, метки: Алгоритмы, графы В предыдущих частях цикла мы рассмотрели алгоритмы DFS и BFS, позволяющие найти путь в графе и обладающие рядом других интересных свойств. Но в жизни очень часто оказывается, что гораздо проще выглядит модель задачи в виде графа с неодинаковыми длинами ребер. Поиском кратчайшего пути во взвешенном графе мы и займемся под катом.
Читать полностью »
Графы для самых маленьких: BFS 0-1
2013-11-01 в 14:08, admin, рубрики: bfs, Алгоритмы, графы, метки: bfs, Алгоритмы, графы Добрый день, уважаемыее!
В предыдущих постах уже рассказывалось о двух алгоритмах, с помощью которых можно найти путь сквозь лабиринт: DFS и BFS. Всех, кто хочет еще немного поиздеваться над нашим лабиринтом, прошу под кат.
Читать полностью »
Графы для самых маленьких: BFS
2013-10-30 в 21:19, admin, рубрики: bfs, Алгоритмы, графы, метки: bfs, Алгоритмы, графы В предыдущем посте рассказывалось об обходе графа в глубину. Сегодня я бы хотел рассказать о не менее важном алгоритме теории графов — об обходе в ширину.
В прошлый раз мы уже научились искать какой-нибудь путь сквозь лабиринт. Всех желающих найти кратчайший путь прошу под кат.
Читать полностью »
Графы для самых маленьких: DFS
2013-10-29 в 19:07, admin, рубрики: dfs, Алгоритмы, графы, метки: dfs, Алгоритмы, графы В этой статье хотелось бы рассказать об одном из самых распространенных алгоритмов на графах — об обходе в глубину — на примере решения задачи о нахождении пути сквозь лабиринт. Всем, кому это интересно — добро пожаловать под кат!
Читать полностью »