摘要:
作者:阮一峰日期:2012年5月31日我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理。下面就是我的学习笔记。因为这些协议实在太复杂、太庞大,我想整理一个简洁的框架,帮助自己从总体上把握它们。为了保证简单易懂,我做了大量的简化,有些地方并 阅读全文
摘要:
A:题意: 给出n个数,只能交换相邻两个数,问经过若干次交换后是否存在一个状态这个状态满足相邻两个数不同。思路:只要判断存在一个数出现的次数小于等于(n +1)/2就满足条件B:题意:给出两个长度为n的字符串,定义两个字符串不可比较:只要存在(1 ≤ i, j ≤ n),si > wiandsj < wj我们就说s,w是不可比较的。字符串中可能会出现‘?'表示可取0-9的任意数,问存在多少种可能使得两个串不可比较。思路:我觉得属于黑书里面分决策动机的DP,我再考虑的时候,想到面对当前i子符,状态什么? 就是比较到了第i个字符,是否出现了si >wi sj < w 阅读全文
摘要:
这里我一直好奇的是这三个漂亮的循环是怎么完成最终正确的结果的,如何证明它们是正确的。直到看了这里的解析,才算弄懂了。floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径。从动态规划的角度看问题,我们需要为这个目标重新做一个诠释(这个诠释正是动态规划最富创造力的精华所在),floyd算法加入了这个概念Ak(i,j):表示从i到j中途不经过索引比k大的点的最短路径。这个限制的重要之处在于,它将最短路径的概念做了限制,使得该限制有机会满足迭代关系,这个迭代关系就在于研究:假设Ak(i,j)已知,是否可以借此推导出Ak-1(i,j)。假设我现在要得 阅读全文
摘要:
在内核中tcp协议栈有6种类型的定时器:1 重传定时器。2 delayed ack定时器3 零窗口探测定时器上面三种定时器都是作为tcp状态机的一部分来实现的。4 keep-alive 定时器主要是管理established状态的连接。5 time_wait定时器 阅读全文