Я читал о структуре данных дерева, чтобы смоделировать проблему. Мне нужно создать представление памяти данных, которое очень похоже на представление папки/файла в файловой системе (я не подразумеваю, что фактический файл хранится на диске, но структура, подобная исследователю). Дерево может быть не более 10 глубин. В промежуточных узлах может быть только умеренное количество детей (скажем, 10), но могут быть тысячи листовых узлов. [Это похоже на тысячи файлов в папке и файле - листовой узел)Подходящая структура данных дерева
Некоторые мысли
- Двоичное дерево не может работать в качестве одного узла может в лучшем случае имеют лишь 2 детей. (скажем, мы можем иметь 3 подпапки)
- Реализация очень общего дерева может быть неэффективной, поскольку мои данные могут быть заказаны. Как и левый брат, он меньше/меньше правых. Надеюсь, это позволит эффективно обходить друг друга.
- B-tree звучит очень близко, но он настаивает на необходимости балансировки. В моем случае глубина будет не более 10, но не обязательно всей этой ветви (например, c:/windows, C:/MyDoc ../ A/B/C)
Please помогите с вашим опытом. Должен ли я настраивать дерево или любую подходящую структуру данных (не означающую специфику языка программирования)
Ну ... не реализуйте балансировку в B-Trees! – ElKamina