我正在尝试创建一个数据结构,其中有一个平衡的BST,一个双向链接的list.The链表将比BST小,因此在任何时候都只保存来自BST.Each的元素子集LL的节点将指向BST中的相应节点,如果该节点存在于链表中,则BST节点将指向其LL节点,否则将存储null。为了创建这个数据结构,我计划使用std::set<数据,std::list::iterator >对于BST和std::list<数据,std:: set :
我有一个使用数组的双向链表,在插入元素时我保持顺序,类似于。我将新值(节点)视为数组索引,并将它们直接存储到它们的位置。链接列表相当长。一切都按要求工作,但是当一个节点落在头和尾之间时,有没有什么算法或想法可以帮助我减少迭代次数呢?那是 search from head() 因此,为了减少迭代,我在发现新节点离头部和尾部