会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Sawyer Ford
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
5
6
···
22
下一页
2017年11月11日
和为定值的多个数
摘要: 给定N个数,从中找出若干个数,使得这些数的和等于sum。 TwoSum MultiSum 0-1背包问题。 参考资料: 寻找和为定值的多个数 k Sum
阅读全文
posted @ 2017-11-11 22:13 Sawyer Ford
阅读(660)
评论(0)
推荐(0)
编辑
快速排序
摘要: 直接上代码: pivot元素的选择,值得研究。
阅读全文
posted @ 2017-11-11 17:09 Sawyer Ford
阅读(135)
评论(0)
推荐(0)
编辑
2017年11月9日
归并排序
摘要: 先上代码: 这个算法中基本的操作是合并两个已排序的表。 基本的合并算法是: 取两个输入数组A和B,一个输出数组C,以及三个计数器Aptr、Bptr、Cptr,它们初始置于对应数组的开始端。A[Aptr]和B[Bptr]中的较小者被拷贝到C中的下一个位置,相关的计数器向前推进一步。当两个输入表有一个用
阅读全文
posted @ 2017-11-09 09:59 Sawyer Ford
阅读(180)
评论(0)
推荐(0)
编辑
2017年11月8日
前端教程
摘要: HTML 教程 CSS 教程
阅读全文
posted @ 2017-11-08 14:14 Sawyer Ford
阅读(95)
评论(0)
推荐(0)
编辑
2017年11月7日
堆排序
摘要: 在堆排序算法中,我们使用的是最大堆。
阅读全文
posted @ 2017-11-07 15:08 Sawyer Ford
阅读(151)
评论(0)
推荐(0)
编辑
2017年11月6日
B树
摘要: 介绍B树之前,先介绍树的几个概念。 Degree The number of subtrees of a node. Height of node The height of a node is the number of edges on the longest path between that
阅读全文
posted @ 2017-11-06 10:18 Sawyer Ford
阅读(174)
评论(0)
推荐(0)
编辑
2017年11月2日
位操作符
摘要: 了解位操作符之前,先看下ASCII码表。 参考资料 感受异或的神奇
阅读全文
posted @ 2017-11-02 21:01 Sawyer Ford
阅读(141)
评论(0)
推荐(0)
编辑
2017年10月23日
libevent(八)激活事件
摘要: 激活事件添加流程 事件发生后,需要把对应的event加入到激活事件队列中。 整个流程如下: 对于定时器事件,在timeout_process过程中,会将事件从最小堆中删除。 激活事件处理流程 在even_base_loop中,底层dispatch返回后的核心问题就是处理激活事件。 简单分析下even
阅读全文
posted @ 2017-10-23 10:10 Sawyer Ford
阅读(699)
评论(0)
推荐(0)
编辑
2017年10月20日
libevent(七)信号事件监听
摘要: libevent通过socketpair实现对信号事件的监听。 还记得event_base吗? evsig_info结构如下: evsig_init 在event_base初始化阶段会完成socketpair的创建。 可以看到,sig.ev_signal关联了sig.ev_signal_pair[1
阅读全文
posted @ 2017-10-20 11:36 Sawyer Ford
阅读(1955)
评论(0)
推荐(0)
编辑
libevent(六)事件监听
摘要: libevent是如何实现事件监听的呢? 在Linux,libevent的底层实现是epoll,因此实现事件监听的方式就是,把需要监听的fd加入epoll中。 I/O事件 定时器事件 定时器事件没有fd,那么如何监听呢? 这里先看下epoll_wait这个函数 libevent采用的方法是:每次运行
阅读全文
posted @ 2017-10-20 09:19 Sawyer Ford
阅读(496)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
···
22
下一页
公告