摘要: http://blog.csdn.net/linygood/article/details/8898844原问题描述 战报交流:战场上不同的位置有N个战士(N>4),每个战士知道当前的一些战况,现在需要这N个战士通过通话交流,互相传达自己知道的战况信息,每次通话,可以让通话的双方知道对方的所有情报,设计算法,使用最少的通话次数,是的战场上的n个士兵知道所有的战况信息,不需要写程序代码,得出最少的通话次数。解答: 笔试时候想到的是: N-1个人围成一个环,将知道的消息告诉都第N个人,需要N-1次,同时第N-1个人与第N个人交流时,两人互相交流消息,这样子第N-1与第N个人都知道了所有人的信 阅读全文
posted @ 2013-09-14 16:28 chasu 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 某大公司有这么一个规定:只要有一个员工过生日,当天所有员工全部放假一天。但在其余时候,所有员工都没有假期,必须正常上班。这个公司需要雇用多少员工,才能让公司一年内所有员工的总工作时间期望值最大?假设一年有 365 天,每个员工的生日都概率均等地分布在这 365 天里。你的第一感觉或许是,公司应该雇用 100 多人,或者 200 多人吧。答案或许会让你大吃一惊:公司应该雇用 365 个人。注意,雇用 365 个人并不意味着全体员工全年的总工作时间为 0 ,因为 365 个人的生日都是随机的,恰好每天都有一个人过生日的概率极小极小。下面我们就来证明,这个问题的最优解就是 365 人。由于期望值满足 阅读全文
posted @ 2013-09-14 16:03 chasu 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 1 A: 独奏大哥我给你发苍井空经典合集都发完了(FIN)2 B: 恩..都收到了..(ACK)3 B: 那今天就到这喽,下次要有好的记得分享哦..(FIN)4 A: 恩.好的...(ACK)(摘自tcpip协议卷)这就是tcp四次握手断开的过程.那可能有人会有疑问.在tcp连接握手时为何 ACK是和SYN一起发送.这里ACK却没有何FIN一起发送呢.原因是因为tcp是全双工模式.接收到FIN时意味将没有数据再发来..但是还是可以继续发送数据..(摘自tcpip协议卷)下面我们来把这幅图几个状态说明下LISTEN : 监听状态.SYN_SENT : 已发送SYN同步会变为这个状态.等待服务端的 阅读全文
posted @ 2013-08-28 00:40 chasu 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 鱼还是熊掌:浅谈多进程多线程的选择yah99wolf于星期二, 20/07/2010 - 09:15提交关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好。根据实际情况来判断,哪个更加合适就是哪个好。我们按照多个不同的维度,来看看多线程和多进程的对比(注:因为是感性的比较,因此都是相对的,不是说 阅读全文
posted @ 2013-08-27 21:55 chasu 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 主动关闭的Socket端会进入TIME_WAIT状态,并且持续2MSL时间长度,MSL就是maximum segment lifetime(最大分节生命期),这是一个IP数据包能在互联网上生存的最长时间,超过这个时间将在网络中消失。MSL在RFC 1122上建议是2分钟,而源自berkeley的TCP实现传统上使用30秒,因而,TIME_WAIT状态一般维持在1-4分钟。 TIME_WAIT状态存在的理由:1)可靠地实现TCP全双工连接的终止 在进行关闭连接四路握手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN,因此客户端必须维护状态信息允许它.. 阅读全文
posted @ 2013-08-27 21:33 chasu 阅读(180) 评论(0) 推荐(0) 编辑
摘要: C程序一般分为1.程序段(text):程序段为程序代码在内存中的映射.一个程序可以在内存中多有个副本.2.文字常量区:常量字符串就是放在这里的。3.初始化过的数据(data):在程序运行之初已经对变量进行初始化的.全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。4.未初始化过的数据(bss):在程序运行初未对变量进行初始化的数据。6.堆栈(stack):存储局部,临时变量,在程序块开始时自动分配内存,结束时自动释放内存.存储函数的返回指针.当函数被调用时,它们被压入栈;当函数返回时,它们就要被弹出堆栈。7.堆 阅读全文
posted @ 2013-08-27 20:40 chasu 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 【转】http://blog.csdn.net/v_JULY_v/article/details/6279498海量数据处理:十道面试题与十个海量数据处理方法总结作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http://blog.csdn.net/v_JULY_v。第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^ 阅读全文
posted @ 2013-08-27 16:50 chasu 阅读(243) 评论(0) 推荐(0) 编辑
摘要: C++堆、栈、自由存储区、全局/静态存储区和常量存储区收藏(转)2013-05-21 20:45107人阅读评论(0)收藏举报一、一个由c/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放(malloc/free, new/delete),若程序员不释放,程序结束后可能由操作系统回收。注意它与数据结构中的堆石两回事,分配方式倒是类似与链表。其中有malloc/free分配释放的也可以叫自由存储区。 3、全局区(静态存储区)(stati 阅读全文
posted @ 2013-08-27 11:40 chasu 阅读(235) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include using namespace std;template class MinHeap{private: T *HeapArray; int current_size; int max_size;public: MinHeap(int n); ~MinHeap(); void InitHeap(); void SiftDown(int pos); void SiftUp(int pos); void BuildHeap(); bool Insert... 阅读全文
posted @ 2013-08-26 22:28 chasu 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 1、什么是互联网产品?有哪些分类?互联网产品的概念是从传统意义上的“产品”延伸而来的,是产品概念的子概念。简单说,它是能满足个人用户和商业用户需求的功能和服务的集合。互联网产品的分类可以有多个维度,1、按目标用户的不同可以划分为“用户产品”和“商业产品”2、按所在领域不同可以划分为“内容产品”“社区产品”“电子商务产品”“网络游戏产品”“搜索引擎产品”等等3、按照产品所占权重又可以划分为“战略产品”和“常规产品”4、按照用户量又可以划分为“大众产品”和“小众产品”5、按照产品的自身生命周期又可以划分为“初创期产品”“成长期产品”“成熟期产品”“衰退期产品”“死亡期产品”6、按照产品实现方式的不 阅读全文
posted @ 2013-08-25 13:09 chasu 阅读(409) 评论(0) 推荐(0) 编辑