07 2019 档案

摘要:线段树模板题来源:https://www.lintcode.com/problem/segment tree build/description 201. 线段树的构造 202. 线段树的查询 203. 线段树的修改 247. 线段树查询 II 248. 统计比给定整数小的数的个数 c++ clas 阅读全文
posted @ 2019-07-30 23:24 qbits 阅读(334) 评论(0) 推荐(0)
摘要:基础 首先了解C++中存在于头文件\两个库函数:lower_bound和upper_bound lower_bound(start, end, val)返回在[start, end)中找到第一个大于等于val的 位置 upper_bound(start, end, val)返回在[start, en 阅读全文
posted @ 2019-07-23 17:08 qbits 阅读(388) 评论(0) 推荐(0)
摘要:最长公共子序列LCS "Lintcode 77. 最长公共子序列" LCS问题是求两个字符串的最长公共子序列 $$ dp[i][j] = \left\{\begin{matrix} & max(dp[i 1][j], dp[i][j 1]), s[i] != s[j]\\ & dp[i 1][j 1 阅读全文
posted @ 2019-07-23 11:20 qbits 阅读(291) 评论(0) 推荐(0)
摘要:题目 "leetcode:5. Longest Palindromic Substring" 解法 动态规划 时间复杂度$O(n^2)$,空间复杂度$O(n^2)$ 基本解法直接看代码 中心扩散法 时间复杂度$O(n^2)$,空间复杂度$O(1)$ 我们先假定以某点为中心向两端扩散,找到以该点为中心 阅读全文
posted @ 2019-07-22 23:45 qbits 阅读(1160) 评论(0) 推荐(0)
摘要:互斥的硬件支持 中断禁用 单处理器机器中,并发进程不能重叠只能交替,因此保证互斥,主要保证进程不被中断就可以了 专用机器指令 + test_and_set compare_and_swap(obj, expected, desire)简称CAS,是一种乐观锁。 先检查obj所指的值是否和expect 阅读全文
posted @ 2019-07-18 11:46 qbits 阅读(344) 评论(0) 推荐(0)
摘要:B+树索引文件 B+s树采用平衡树的结构,根到叶的每条路径长度相同,每个非叶结点有 $\left \lceil n/2 \right \rceil$ ~ $n$个指针 如图,对于一个包含m个指针的结点($m \leq n$)有$K_{i 1} \leq val(P_i) V$,则将当前结点设置为$P 阅读全文
posted @ 2019-07-17 18:50 qbits 阅读(1933) 评论(0) 推荐(0)
摘要:+ "TCP 的那些事儿(上)" + "TCP 的那些事儿(下)" 阅读全文
posted @ 2019-07-16 16:21 qbits 阅读(174) 评论(0) 推荐(0)
摘要:HTTP/1.1 网上关于HTTP/1.1的讨论多是基于RFC2616文档,而IETF已更新了HTTP/1.1并将其分为六个部分,使协议变得更简单易懂,对老版本RFC2616中模糊不清的部分做了解释 + RFC7230 消息语法与路由 + RFC7231 语义与路由 + RFC7232 条件请求 + 阅读全文
posted @ 2019-07-15 23:55 qbits 阅读(2524) 评论(0) 推荐(0)
摘要:"OSI wiki" "OSI" "网络7层协议,4层,5层?理清容易混淆的几个概念" 流量控制与拥塞控制 拥塞控制: 慢开始(指数增长到阈值),拥塞避免(阈值加性增加) 出现拥塞时新阈值为当前窗口的一半,如果不使用快速重传,窗口减小为1,重复慢开始 若使用快速重传,当收到3个重复确认时,使用快速恢 阅读全文
posted @ 2019-07-12 11:16 qbits 阅读(272) 评论(0) 推荐(0)
摘要:同时找到最大值与最小值 找到n个元素中的最大/小值,比较次数为n 1, 找到n个元素中的最大值和最小值,可以Two Pass,比较次数为2n 2 也可以One Pass, 比较次数至多为 $\left \lfloor 3n/2 \right \rfloor$ 首先对最大值和最小值进行初始化,n为奇数 阅读全文
posted @ 2019-07-11 17:49 qbits 阅读(480) 评论(0) 推荐(0)
摘要:数据库并发会引发的问题 + 脏读(dirty read):A事务读取B事务尚未提交的更改数据,并在这个数据基础上操作。如果B事务回滚,那么A事务读到的数据根本不是合法的,称为脏读。在oracle中,由于有version控制,不会出现脏读 + 不可重复读(unrepeatable read):A事务读 阅读全文
posted @ 2019-07-11 10:40 qbits 阅读(3218) 评论(2) 推荐(0)
摘要:二叉搜索树的最近公共祖先 假如p, q在root同一侧,则继续递归这一侧,否则返回当前节点(可能当前节点为p,q之一,也可能在不同侧) 如果是BST,可以保存到p, q的路径,然后找到链表最后一个公共节点即可 "235. Lowest Common Ancestor of a Binary Sear 阅读全文
posted @ 2019-07-10 17:25 qbits 阅读(339) 评论(0) 推荐(0)
摘要:我们使用二叉树的先序遍历来遍历整个树,对于空子树保存为 ,恢复时也根据先序的顺序来恢复 "297. Serialize and Deserialize Binary Tree" 阅读全文
posted @ 2019-07-10 16:40 qbits 阅读(386) 评论(0) 推荐(0)
摘要:例题 + 中序遍历 "94. Binary Tree Inorder Traversal" + 先序遍历 "144. Binary Tree Preorder Traversal" + 后序遍历 "145. Binary Tree Postorder Traversal" 递归栈 递归函数栈的方法很 阅读全文
posted @ 2019-07-10 12:33 qbits 阅读(2060) 评论(0) 推荐(2)