Для простого дерева вы можете использовать стандартное древовидное управление вашей графической средой (Win32 API, Gtk, Qt и т. Д.). Если вам нужно, чтобы он был кроссплатформенным, вы можете использовать wxWidgets или Qt.
Если вы ищете что-то более общее, взгляните на GraphViz .