前置知识:分块、链表
链表的优点:插入操作更加快速,但如果要返回特定位置的元素,时间复杂度为O(N)。
故引入分块思想,将链表中的元素变为大小为的数组,链表大小为,故返回特定位置元素的时间复杂度降为
基本操作:
1 | int sqn=sqrt(n); |
易知,三种操作的时间复杂度都为,比较重要的是check操作,分裂size过大的节点以保持时间复杂度
注意一点,在插入元素的过程中,总元素的个数也在变,但我们一般用N的最大值来确定sqn
参考:
前置知识:分块、链表
链表的优点:插入操作更加快速,但如果要返回特定位置的元素,时间复杂度为O(N)。
故引入分块思想,将链表中的元素变为大小为的数组,链表大小为,故返回特定位置元素的时间复杂度降为
基本操作:
1 | int sqn=sqrt(n); |
易知,三种操作的时间复杂度都为,比较重要的是check操作,分裂size过大的节点以保持时间复杂度
注意一点,在插入元素的过程中,总元素的个数也在变,但我们一般用N的最大值来确定sqn
参考: