摘要: Floyd判圈算法能在 O(n) 时间复杂度内判断 迭代函数 或 链表 中 是否有环 ,并求出 环的长度与起点 判断环存在 通常采用快慢指针的方式来判断环是否存在 从绿色起点G开始,快指针每次走2步,慢指针每次走1步,当链表未遍历完且快慢指针相遇且时说明链表中存在环 很容易证明:假定链表存在环,那么 阅读全文
posted @ 2019-05-28 23:16 qbits 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 渐进记号 $O$渐进上界,$\Theta$渐进紧确界,$\Omega$渐进下界,$o$非渐进紧确上界,$\omega$非渐进紧确下界 例如$2n^2 = O(n^2)$是渐进紧确的,但$2n = O(n^2)$不是渐进紧确的,我们使用$2n = o(n^2)$ 公式 $\lg(n!) = \Thet 阅读全文
posted @ 2019-05-28 18:43 qbits 阅读(1433) 评论(1) 推荐(2) 编辑
摘要: 单调栈 特点 栈内的元素单调递增或者单调递减,可以求出数列中所有数的左边或右边第一个比其大或小的元素,总时间复杂度为$O(n)$ 例子 单调栈中一般存索引 如何实现呢? 以单调递增栈求需入栈元素X的两边第一个比X小的值为例,每次有元素a[i] = X进栈时, "85. Maximal Rectang 阅读全文
posted @ 2019-05-27 22:50 qbits 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 目的: + 学习objdump,gdb调试 + 检验进程地址空间中进程栈的大小 首先我们通过 查看进程栈的大小 <! 得知栈的大小是 那么实际情况栈的大小也是如此吗? 为了确认栈的大小,我们使用无限递归的方式使得栈溢出,用栈顶减去调用 函数时栈顶的位置,即可获得栈的大小 编译完后使用 查看汇编源码中 阅读全文
posted @ 2019-04-18 16:37 qbits 阅读(1150) 评论(0) 推荐(0) 编辑
摘要: 许多查询只涉及文件中的少量记录,如查询ID为22201的学生的总分数,如果系统读取每一个元组并检查,这样的操作方式是低效的。理想情况下,需要系统能够直接定位记录,为了支持这样的访问方式,我们设计了与文件相关的数据结构-索引。 基本概念 有两种基本的索引类型 顺序索引(Ordered Indices) 阅读全文
posted @ 2019-04-15 23:03 qbits 阅读(2225) 评论(0) 推荐(0) 编辑
摘要: 由于Github不支持Latex等数学公式的显示,而博客支持,我决定开通博客,主要但不限用于 + 定期总结自己的学习经验,理清思路 + 记录一些需要数学或分析之类领域的研究及所得 + 锻炼写作能力 由于Github本身就可以将文字,图片及代码有效的整合在一起,所以博客更多起到一个refine的作用, 阅读全文
posted @ 2019-04-14 22:58 qbits 阅读(165) 评论(0) 推荐(0) 编辑