摘要: 缘由: 在开发KVM虚拟机过程中,不可避免的会跟虚拟机时钟打交道 目前存在的问题是:一旦出现多个虚拟机运行在同一个CPU上,造成足够多的负载时,由于调度不及时导致虚拟机时钟中断的频率将会变慢 在x86上的虚拟机貌似没有这个问题,借此机会打算梳理一下整个Linux 时钟系统,也不一定能解决,但是至少可 阅读全文
posted @ 2019-04-09 21:38 Ruu 阅读(501) 评论(0) 推荐(0)
摘要: 分治、贪心、线性规划、动态规划、网络流为计算机学科常用的五大算法 大部分面试题都喜欢考动态规划,因为它不像线性规划、网络流算法那样直接套用,本身其没什么套路,都要现场分析现场建模,属于思维量大代码量小 现在尝试把这类问题用一个比较通用的模型给分析出来,以后再遇到这类问题希望可以直接套用 1. 动态规 阅读全文
posted @ 2018-04-29 23:54 Ruu 阅读(613) 评论(0) 推荐(1)
摘要: 需要保存:本层遍历的个数,下层添加的个数,本层遍历位置,层级 阅读全文
posted @ 2018-07-17 23:44 Ruu 阅读(226) 评论(0) 推荐(0)
摘要: 非递归时需要保留结点的父结点,这里使用栈 首先把该结点的所有左节点都放在栈里(8-12) 然后拿出一个结点,判断是不是空结点 不是空结点就输出,并将其右结点加入栈内 这样就保证先输出左子树,然后输出左子树的右子树,若左子树是叶子结点则为空,输出自己 然后将右结点加入栈中,重复以上过程 左右子树输出完 阅读全文
posted @ 2018-07-16 22:22 Ruu 阅读(203) 评论(0) 推荐(0)
摘要: 一维抢劫问题的DP方程:dp[i] = max{dp[i-1], dp[i-2] + vi}; 如果数据结构是二叉树,比较适合从下往上后续遍历 本结点的左右子结点(对应一维的dp[i-1]):dplv,dprv 子结点的子结点(对应一维的dp[i-2]):lastdplv,lastdprv 因为树不 阅读全文
posted @ 2018-07-16 16:44 Ruu 阅读(180) 评论(0) 推荐(0)
摘要: 最后返回值:left存在且right存在则表示结点分别在左右子树上 若其中之一不存在则返回存在的那个节点,表示公共父结点或某个目标结点是从该节点传递上来 若都不存在说明目标节点不存在结点的后继中 判定返回值:空结点,或者满足条件的节点 阅读全文
posted @ 2018-07-16 16:23 Ruu 阅读(205) 评论(0) 推荐(0)
摘要: 看了下网上关于链表的无锁操作,写的不清楚,遂自己整理一部分,主要使用concurrent并发包的CAS操作。 1. 链表尾部插入 待插入的节点为:cur 尾节点:pred 基本插入方法: do{ pred = find_tail(); //重新找尾节点 }(! pred.next.compareAn 阅读全文
posted @ 2018-04-26 23:37 Ruu 阅读(1221) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-11-03 15:40 Ruu 阅读(271) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2017-10-13 09:21 Ruu 阅读(43) 评论(0) 推荐(0)
摘要: 一、命令行 1. kexec -l $kpwd --append="$arg" 其中$kpwd =目标内核的路径 $arg =传给内核的参数,与/proc/cmdline一致时表示重启现有内核 2. kexec -e 二、执行过程 1. kexec-tools执行过程 kexec 的main函数解析 阅读全文
posted @ 2017-10-10 09:03 Ruu 阅读(1232) 评论(0) 推荐(0)