Я реализовал дерево AVL с использованием C ++, в данный момент я печатаю дерево AVL на консоли, но мне нужно представить дерево с помощью графического интерфейса пользователя как часть приложения, которое пользователь может использовать для взаимодействия с деревом. какие библиотеки и т. д. я должен изучить, чтобы достичь этого?
Примечание: я использую OS X
Дело в том, что, похоже, ожидается какое-то взаимодействие с пользователем.
Какие операции должен выполнять пользователь? Перемещение узлов, вставка, удаление?
Вы можете пойти на подход Graphviz, но если вы хотите, чтобы взаимодействие с пользователем, то для Graphviz вы должны пойти на вывод HTML. Таким образом, вы можете, например, связывайте узлы с интерактивными ссылками, где вы можете оставить некоторую логику работы.
Если этого недостаточно, вам нужно будет выбрать общую среду графического интерфейса и посмотреть, какие библиотеки доступны.
В случае C ++ Qt — это одна вещь, на которую стоит обратить внимание. Существует нечто, называемое древовидным представлением, которое может соответствовать вашей проблеме (см., Например, здесь: http://doc.qt.digia.com/qt/qtreeview.html).
Однако, будьте готовы, что вам понадобится некоторое время, чтобы войти в Qt.
Graphviz набор инструментов для визуализации графиков Написание графических файлов действительно простое и использование одного из бэк-эндов, чтобы выложить изображение. Затем вы можете отобразить эти изображения с помощью любого набора инструментов, который вам нравится.