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