Каковы некоторые примеры использования графиков, деревьев и других сложных структур данных на веб-сайтах, управляемых базой данных? - PullRequest
2 голосов
/ 14 апреля 2011

Так, когда простых $array() переменных в вашем стеке LAMP недостаточно?Я уверен, что эти передовые структуры данных полезны, но мне интересно, может ли кто-нибудь предложить какие-то варианты использования в веб-контексте, особенно для чего они обычно используются в социальных сетях и на подобных сайтах, управляемых данными?

Ответы [ 2 ]

3 голосов
/ 14 апреля 2011

Ответ заключается в том, что в любой достаточно сложной системе (веб или нет) разные наборы данных используются по-разному и в разное время, и то, как эти данные будут использоваться, определяет используемую структуру.Например, деревья позволяют быстро находить нужные объекты, поскольку бинарный поиск очень эффективен и в зависимости от структуры также может быть быстрым при вставке, тогда как связанный список можно быстро вставлять / удалять, но переходя к определенной точке (по мере необходимости в бинарном поиске) очень медленно, потому что вы должны пройти список.С другой стороны, список массивов при поиске выполняется намного быстрее, но вставка / удаление могут быть очень медленными.

Итак, в двух словах, используемые структуры в основном зависят от требований к производительности данных, к которым осуществляется доступнезависимо от платформы.

2 голосов
/ 14 апреля 2011

Краткий ответ: дерево может использоваться в любой ситуации, когда есть сущности, у которых есть явные «родители».Например, предположим, у вас есть социальная сеть только для приглашенных.В этом случае вы могли бы структурировать пользователей в виде дерева с записью «родитель» в каждой записи базы данных пользователей.

Извините, если я неправильно понял ваш вопрос, но он ужасно расплывчатый.В случае переменных, использующих деревья, учтите, что мы можем перебрать базу данных в приведенном выше примере и построить дерево из существующих пользователей для выполнения каких-либо действий.

...