// Just an example for simplicity
struct Item {
std::string name_;
int value_;
};
< /code>
Мне нужно иметь возможность искать элементы в наборе (как по значению, так и по имени), добавить и удалить элементы в наборе. < /p>
И никакие два элемента не могут иметь одинакового или одинакового значения. < /P>
Какой лучший способ структурировать мои данные, чтобы все функции оптимизировались для скорости? < /P>
Обратите внимание, что я делаю это для домашней работы, чтобы все библиотеки были моими или от STL. Деревья с узлом, как это: < /p>
struct TreeNode {
//index of an item in the vector
int index;
//pointers to branching nodes
TreeNode* left, * right;
};
< /code>
и сортируйте его по имени, одно по значению.
Проблема здесь заключается в удалении элементов из набора, мне нужно обновить все большие индексы в обоих деревьях. /p>
(2) Вторая идея состояла в том, чтобы поместить все элементы в список и иметь такие узлы деревьев, как: < /p>
struct TreeNode {
//pointer to an item in the list
Item* item;
//pointers to branching nodes
TreeNode* left, * right;
};
Но я не знаю, собирается ли переместить элементы вокруг памяти под капюшоном, когда я добавляю и снимаю их, и оставлять узлы деревьев с разбитыми указатели.
У меня есть набор из более чем миллиона предметов в форме: < /p> [code]// Just an example for simplicity struct Item { std::string name_; int value_; }; < /code> Мне нужно иметь возможность искать элементы в наборе (как по значению, так и по имени), добавить и удалить элементы в наборе. < /p> И никакие два элемента не могут иметь одинакового или одинакового значения. < /P> Какой лучший способ структурировать мои данные, чтобы все функции оптимизировались для скорости? < /P> Обратите внимание, что я делаю это для домашней работы, чтобы все библиотеки были моими или от STL. Деревья с узлом, как это: < /p> struct TreeNode { //index of an item in the vector int index; //pointers to branching nodes TreeNode* left, * right; }; < /code> и сортируйте его по имени, одно по значению. Проблема здесь заключается в удалении элементов из набора, мне нужно обновить все большие индексы в обоих деревьях. /p> (2) Вторая идея состояла в том, чтобы поместить все элементы в список и иметь такие узлы деревьев, как: < /p> struct TreeNode { //pointer to an item in the list Item* item; //pointers to branching nodes TreeNode* left, * right; }; [/code] Но я не знаю, собирается ли переместить элементы вокруг памяти под капюшоном, когда я добавляю и снимаю их, и оставлять узлы деревьев с разбитыми указатели.
По сути, мы хотим добиться следующего (каждая точка является элементом дерева)
. .. .... ........ .............. ..................................
На данный момент лучшее, что я придумал, это
for(ll i = 1; i < totalNodes; i++) { если (!(i & (i...
Схема дерева базы данных
идентификатор узла размещение узлов nodeparentid 1 Слева NULL 2 Слева 1 3 Верно 1 4 Слева 2 5 Верно 2 6 Слева 3 7 Верно 3 8 Слева 4 9 Верно 4
Такое увеличение таблицы продолжается, когда пользователь отправляет древовидную...
Я хотел бы создать следующее представление двоичного дерева с помощью элемента таблицы HTML (изображение ниже было создано в редакторе изображений, а не в реальном HTML):
Учитывая мой предыдущий опыт работы с colspan успешно создает подобные...
По сути, как вы можете видеть из определения функции, эта функция должна определять тип узла двоичного дерева поиска, я не получаю ошибок, однако я не думаю, что мой вывод верен, у меня есть вспомогательный метод для рекурсивного поиска по BST и...