Какие проблемы можно решить или решить проще, используя графики и деревья? [закрыто]

в целом. не соответствует символам новой строки, поэтому попробуйте ((.|\n)*)<foobar>

13
задан Dominique Fortin 23 March 2017 в 04:37
поделиться

10 ответов

Первая вещь я думаю о том, когда я считал этот вопрос: , какие типы вещей используют графики/деревья? и затем я думаю назад к тому, как я мог использовать их.

, Например, возьмите два общего использования дерева:

  • файловые системы DOM

DOM и XML в этом отношении, напоминают древовидные структуры.
alt text

Это имеет смысл, также. Это имеет смысл из-за того, как эти данные должны быть расположены . Файловая система, также. В системе UNIX существует корневой узел, и переходящий вниз ниже. При монтировании нового устройства Вы присоединяете его на дерево.

необходимо также спрашивать себя: данные попадают в этот тип структуры? Создайте структуры данных, которые имеют смысл к проблеме, и остальные будут следовать.

До того, чтобы быть легче, я думаю, что это относительно. Действительно ли Вы хороши с рекурсивными функциями для пересечения дерева/графика? Что, если необходимо сбалансировать дерево?

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

я надеюсь, что это помогает Вам думать об этих структурах. Что касается книжной рекомендации, я должен был бы пойти с [1 115] Введение в Алгоритмы .

17
ответ дан Neysor 23 March 2017 в 04:37
поделиться

Принципиальные схемы.

Компиляция (Направленные Графы без петель)

Карты. Очень компактный как графики.

Сетевые проблемы потока.

Решение деревья для экспертных систем (так)

Диаграммы причинно-следственных связей для поиска неисправностей, обработайте improvment, анализ безопасности. Для бонусных очков реализуйте свой код восстановления после ошибки как объекты, которые являются диаграмма причинно-следственных связей.

4
ответ дан Tim Williscroft 23 March 2017 в 04:37
поделиться

Руководство по проектированию Алгоритма содержит некоторые интересные тематические исследования с творческим использованием графиков. Несмотря на ее имя, книга очень читаема и время от времени даже интересна.

2
ответ дан David Joyner 23 March 2017 в 04:37
поделиться

Алгоритмы для Java: Часть 5 Robert Sedgewick - все об алгоритмах графика и datastructures. Это было бы хорошей первой книгой, которая будет работать через, если Вы хотите реализовать некоторые алгоритмы графика.

1
ответ дан 23 March 2017 в 04:37
поделиться

Графики сцены для рисования графики в играх и мультимедийных приложениях в большой степени используют деревья и графики. Узлы представляют объекты, которые будут представлены, преобразования, средства управления, группы...

графики Сцены обычно имеют несколько слоев и атрибутов, которые означают, что можно потянуть только некоторый узел графика (атрибуты) в указанном порядке (слои). В зависимости от вида графика сцены у Вас есть он, может иметь две parralel структуры: объявления и инстанцирование. Th

1
ответ дан Coincoin 23 March 2017 в 04:37
поделиться

@DavidJoiner / все:

FWIW: новая версия Руководство по проектированию Алгоритма должна любой день теперь.

весь курс, для которого он профессор Skiena разработал эту книгу, также имеется в сети:

http://www.cs.sunysb.edu/~algorith/video-lectures/2007-1.html

1
ответ дан Ryan Cox 23 March 2017 в 04:37
поделиться

Существует курс для таких вещей в моем университете: CSE 326. Я не думал, что книга была слишком полезна, но проекты являются забавой и учат Вас немного реализации некоторых более простых структур.

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

1
ответ дан Patrick 23 March 2017 в 04:37
поделиться

Примерно каждая проблема может быть переписана с точки зрения теории графов. Я не шучу, смотрю на любую книгу по NP полные проблемы, существуют некоторые довольно дурацкие проблемы, в которые превращаются теория графов, потому что у нас есть хорошие инструменты для работы с графиками...

3
ответ дан Brian Postow 23 March 2017 в 04:37
поделиться
  • 1
    Обратите внимание, что этот подход создаст два промежуточных строковых объекта. В зависимости от размера Вашей строки это могло иметь значительные последствия производительности и потребления памяти. – cdhowie 10 November 2010 в 02:37

Деревья используются намного больше на языках функционального программирования из-за их рекурсивного характера.

кроме того, графики и деревья являются хорошим способом смоделировать много проблем AI.

1
ответ дан Jason Baker 23 March 2017 в 04:37
поделиться

В играх часто используются графики для облегчения поиска путей в игровом мире. Графическое представление мира может иметь такие алгоритмы, как поиск в ширину или A *, чтобы найти маршрут через него.

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

1
ответ дан 1 December 2019 в 20:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: