会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
你好呵呵
博客园
首页
新随笔
联系
管理
订阅
1
2
3
下一页
2018年3月4日
Raft论文学习笔记
摘要: 先附上论文链接 https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf 最近在自学MIT的6.824分布式课程,找到两个比较好的github:MIT课程《Distributed Systems 》学习和翻译 和 https://github
阅读全文
posted @ 2018-03-04 18:10 你好呵呵
阅读(1812)
评论(0)
推荐(0)
2016年8月28日
leetcode -124. Binary Tree Maximum Path Sum
摘要: Given a binary tree, find the maximum path sum. For this problem, a path is defined as any sequence of nodes from some starting node to any node in th
阅读全文
posted @ 2016-08-28 00:12 你好呵呵
阅读(315)
评论(0)
推荐(0)
2016年8月22日
外部排序---置换选择+败者树
摘要: 当需要对一个大文件进行排序时,计算机内存可能不够一次性装入所有数据,解决办法是归并。归并的大概做法是将大文件分为若干段,依次读入内存进行排序,排序后再重新写入硬盘。这些排好序的片段成为顺串。然后对这些顺串进行逐躺归并,使归并段逐渐由小变大,最终使整个文件有序。要使用归并就得考虑两个问题,一个是如何生
阅读全文
posted @ 2016-08-22 21:03 你好呵呵
阅读(3963)
评论(1)
推荐(0)
2016年7月14日
内存一致性模型
摘要: Cache coherence 本文主要讨论的是内存一致性问题(memory consistency),和缓存一致性(cache coherence)是不同的。在《计算机体系结构:量化方法研究》第五章中,memory consistency是由cache coherence引出的,所以我们就先来说说
阅读全文
posted @ 2016-07-14 17:07 你好呵呵
阅读(4284)
评论(0)
推荐(0)
2016年5月1日
malloc的实现
摘要: 在做csapp的malloc实验,一开始是按照书上的隐式链表法,发现得分很低。这种方法确实很挫,需要遍历一遍以找到合适的空闲块。于是我想到《STL源码剖析》中stl的内存池,感觉应该可以用类似的方法做,因为malloc要做的事情实际就是为了防止内存碎片和减少系统调用,实际就是一个内存池。但是书上介绍
阅读全文
posted @ 2016-05-01 18:05 你好呵呵
阅读(735)
评论(0)
推荐(0)
2016年3月30日
fork和缓冲区
摘要: fork在面试中经常被问到,在这里复习一下。 frok创建子进程,父子进程共享.text段,子进程获得父进程数据段、堆和栈的副本,由于在fork之后经常跟随者exec,所以很多实现并不执行父进程数据段、堆和栈的完全复制,而是使用写时复制(Copy-On-Write,COW)技术。这些区域由父子进程共
阅读全文
posted @ 2016-03-30 20:13 你好呵呵
阅读(919)
评论(0)
推荐(0)
2016年3月21日
linux IPC总结——管道
摘要: 管道 管道是unix ipc的最古老形式,是一种在内存中的特殊文件,只能在具有公共祖先的进程之间使用(即父子进程,兄弟进程)。 管道由pipe函数创建 fd[1]写,fd[0]读。 单个进程的管道几乎没有任何用处,通常,调用pipe的进程接着调用fork,这样就创建了父子进程间的管道。 输出结果:
阅读全文
posted @ 2016-03-21 22:46 你好呵呵
阅读(1353)
评论(0)
推荐(0)
2016年3月20日
std::move()和std::forward()
摘要: std::move(t)负责将t的类型转换为右值引用,这种功能很有用,可以用在swap中,也可以用来解决完美转发。 std::move()的源码如下 先说一下实参为左值的情况。 按理来说左值是无法匹配右值形参的,但是c++为了move这个基础设施开了两个例外。 第一个例外是当形参为右值引用,实参为左
阅读全文
posted @ 2016-03-20 23:46 你好呵呵
阅读(3726)
评论(0)
推荐(0)
2016年3月18日
leetcode 232. Implement Queue using Stacks
摘要: 经典题目,用两个栈实现队列 两个栈s[0]和s[1],一个用来入列,一个用来出列。 当s[1]为空时,执行pop()时就将s[0]的值push进s[1],再将s[1]的栈顶pop()
阅读全文
posted @ 2016-03-18 20:15 你好呵呵
阅读(368)
评论(0)
推荐(0)
2016年3月9日
用递归下降分析求表达式的值
摘要: 《数据结构》中表达式求值的经典算法是用两个栈,一个存数字,一个存运算符。依次读入表达式中的每个字符,若是数字则进数字栈,若是运算符则和运算符栈的栈顶运算符比较优先权作相应操作,直至整个表达式求值完毕。运算符的优先级表如下 + - * / ( ) # + > > < < < > > - > > < <
阅读全文
posted @ 2016-03-09 21:45 你好呵呵
阅读(1367)
评论(0)
推荐(0)
1
2
3
下一页
公告