Как правило, для вставки элемента требуется 3 шага:
Если элементы вставки имеют регулярность (как и все элементы равны, это сэкономит 1. locate where to insert
время в связанном списке), но сложность по-прежнему O(n)
.
Если вставные элементы не имеют никакой регулярности , это достаточно случайно. Нет разницы между вставкой одной и вставкой партии.
Итак, одним словом, нет специальной структуры данных для пакетной вставки. но вы можете улучшить Constant Time Complexity
в некоторых особых условиях.
PS: общая отсортированная структура данных представляет собой сбалансированное двоичное дерево, тратит O(logn)
временную сложность при обновлении
We ended up just creating the mapping table as a bean.
If anyone has a way of performing the above without that, would still be happy to hear from you!
Вы можете создать аннотированный объект для представления таблицы ссылок, а затем использовать @oneToMany для сопоставления родительской ссылки с дочерней, а затем с дочерней
@Entity
public class Parent {
@id
Long id;
@OneToMany(targetEntity = ChildLink.class)
Set<ChildLink> childLinks;
}
public class ChildLink {
@Id
@OrderBy
Long orderBy;
@ManyToOne
Set<Parent> parents;
@ManyToOne
Set<Child> children;
}
Просто примерный пример. Затем вы можете программно создать набор дочерних элементов из набора childLinks, возможно, в методе getChildren родительского класса.