Как на самом деле реализуются эффективные структуры данных, такие как двоичное дерево поиска? Как я могу использовать их в моем приложении node js - PullRequest
0 голосов
/ 09 апреля 2020

В моем колледже я научился определять структуры данных, такие как двоичные деревья и графы. Мы были созданы для написания программ на С ++, которые использовались для запуска, и добавляли узлы в дерево (что мы сказали компилятору добавить). И как только мы закончили добавлять узлы в дерево, мы использовали поиск различных значений, чтобы убедиться, что наша программа работала ... Код выглядел подобно стандартному коду для двоичного дерева поиска, которое можно найти на geeksforgeeks. Но сейчас я пытаюсь создать веб-сайт, который поможет студентам узнать подробности о преподавателях нашего колледжа ... Ключом здесь будет цифра c идентификатор сотрудника учителя, и я хочу реализовать двоичное дерево поиска на бэкэнд ... И я не могу понять, как это реализовать.

Один вариант, который появляется передо мной, - это запустить скрипт js, который определяет новое дерево из линейного массива учителей. что у меня есть право в тот момент, когда к бэкэнду приходит запрос, запрашивающий данные конкретного учителя. Я запусту функцию поиска, определенную в моем коде, после того, как дерево будет построено, и дам возвращаемое значение в ответ пользователю ...

Но не будет ли это неэффективным? Вам нужно снова и снова определять дерево из массива только для того, чтобы вернуть результат запроса одного человека? Разве нет способа постоянно хранить дерево и держать его готовым к go для быстрого ответа на запрос каждого человека?

Есть ли способ сохранить дерево в файле быстрого доступа или какой-то способ сохранить сервер готов к поиску записей?

Как сделать так, чтобы дерево сохранялось таким образом, чтобы оно оставалось готовым к поискам, когда разные пользователи запрашивают у него данные вместо того, чтобы снова и снова запускать код построения дерева?

Как эти эффективные структуры данных реально реализуются в таких приложениях, как веб-сайты, программное обеспечение и т. Д. c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...