05 2019 档案
摘要:Floyd判圈算法能在 O(n) 时间复杂度内判断 迭代函数 或 链表 中 是否有环 ,并求出 环的长度与起点 判断环存在 通常采用快慢指针的方式来判断环是否存在 从绿色起点G开始,快指针每次走2步,慢指针每次走1步,当链表未遍历完且快慢指针相遇且时说明链表中存在环 很容易证明:假定链表存在环,那么
阅读全文
摘要:渐进记号 $O$渐进上界,$\Theta$渐进紧确界,$\Omega$渐进下界,$o$非渐进紧确上界,$\omega$非渐进紧确下界 例如$2n^2 = O(n^2)$是渐进紧确的,但$2n = O(n^2)$不是渐进紧确的,我们使用$2n = o(n^2)$ 公式 $\lg(n!) = \Thet
阅读全文
摘要:单调栈 特点 栈内的元素单调递增或者单调递减,可以求出数列中所有数的左边或右边第一个比其大或小的元素,总时间复杂度为$O(n)$ 例子 单调栈中一般存索引 如何实现呢? 以单调递增栈求需入栈元素X的两边第一个比X小的值为例,每次有元素a[i] = X进栈时, "85. Maximal Rectang
阅读全文

浙公网安备 33010602011771号