摘要: 为什么需要“三次握手” 在谢希仁著《计算机网络》第四版中讲“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。在另一部经典的《计算机网络》一书中讲“三次握手”的目的是为了解决“网络中存在延迟的重复分组”的问题。这两种不用的表述其实阐明的是同一个问题。 谢希仁版《... 阅读全文
posted @ 2015-10-07 16:43 扛着菜刀去搬砖 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 本项目使用OpenGL作为基本的图形库,考虑到OpenGL有着诸多优点,虽然呈现细节仍嫌不足,但是能进行稍低精度的正常计算和完美的结果输出。下面是软件实现的任务框架:根据需求得出的上述框架,可扩展性好,可以在其上加载各种地理模型和计算模型。只要针对相应的文件格式和显示模式加载自开发的组件即可。(1)... 阅读全文
posted @ 2015-09-09 17:42 扛着菜刀去搬砖 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (largest-in,first-out)的行为特征。STL中使用heap实现优先队列,底层容器使用的是vector。这里我... 阅读全文
posted @ 2015-09-09 10:02 扛着菜刀去搬砖 阅读(2013) 评论(0) 推荐(0) 编辑
摘要: TIME_WAIT状态TCP要保证在所有可能的情况下使得所有的数据都能够正确被投递。当关闭一个 socket 连接时,主动关闭一端的 socket 将进入TIME_WAIT状态,而被动关闭一方则转入CLOSED状态。当一个socket关闭的时候,是通过两端互发信息的四次握手过程完成的,当一端调用cl... 阅读全文
posted @ 2015-09-09 09:29 扛着菜刀去搬砖 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 【编者按】NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面。今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于NoSQL方面的经验和体会。非常荣幸能受邀在InfoQ开辟这样一个关于NoSQL的专栏,In... 阅读全文
posted @ 2015-09-07 09:18 扛着菜刀去搬砖 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 为了演示,首先建两个包含不良索引的表,并弄点数据。mysql> show create table test1/G*************************** 1. row *************************** Table: test1Create Table... 阅读全文
posted @ 2015-08-24 00:32 扛着菜刀去搬砖 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 线段树(interval tree),也叫区间树。也是一种二叉搜索树,同一般的BST不同之处在于:线段树的每一个结点包含的是一个区间而不是一个数。具体的描述如下:从图上可以看出,线段树的每一个结点都是一个线段(区间),子节点是对父结点的进一步分划,每个子节点的长度都是父节点的二分,每个叶子结点就... 阅读全文
posted @ 2015-08-21 13:40 扛着菜刀去搬砖 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 有时,我们会碰到对字符串的排序,若采用一些经典的排序算法,则时间复杂度一般为O(n*lgn),但若采用Trie树,则时间复杂度仅为O(n)。Trie树又名字典树,从字面意思即可理解,这种树的结构像英文字典一样,相邻的单词一般前缀相同,之所以时间复杂度低,是因为其采用了以空间换取时间的策略。下图为一个... 阅读全文
posted @ 2015-08-21 10:42 扛着菜刀去搬砖 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 在重写hashtable的时候,hashtable的容量最好是一个质数,因为一般都是%(mod)操作,取质数可以有效分化冲突。忽然想到之前看到的这篇文,转一下。★引子 前天,俺在《俺的招聘经验[4]:通过笔试答题能看出啥?》一文,以"求质数"作为例子,介绍了一些考察应聘者的经验。由于本文没有政... 阅读全文
posted @ 2015-08-20 18:28 扛着菜刀去搬砖 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 说明:下文中的所谓的优缺点只不过算作一个分隔符,其实只有使用场景的不同,没有孰优孰劣。vector: 【实现】vector的底层就是一个数组,所以其才能有O(1)的查找效率。只不过它是变长的,容量到达end_of_storage时便另寻空间自动扩容一倍,并将原来的数据都拷贝到新空间,之后将原来空... 阅读全文
posted @ 2015-08-20 11:04 扛着菜刀去搬砖 阅读(729) 评论(0) 推荐(0) 编辑