摘要:
以太网中存在一个对于帧的有效数据大小的限制,即 MTU,以太网的 MTU 为 1500 字节。一、断包就是说发送端一次发送的消息长度过大,如果超过了 MTU,那么 ip 会对其进行分片。在网络编程中,要避免出现 IP 分片。因为是 IP 层是没有超时重传机制的,如果 IP 层对一个数据包进行了分片,只要有一个分片丢失了,只能依赖于传输层进行重传,结果是所有的分片都要重传一遍,这个代价有点大。由此可... 阅读全文
posted @ 2020-03-15 16:14
和风细羽
阅读(1342)
评论(0)
推荐(0)
摘要:
一、 计算机网络体系结构分层不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。二、 TCP/IP 基础2.1 TCP/IP 的具体含义从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只... 阅读全文
posted @ 2020-03-15 16:13
和风细羽
阅读(478)
评论(0)
推荐(0)
摘要:
一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么?相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢?一个 TCP 连接可以发多个 HTTP 请求?要搞懂这个问题,需要先解决下面五个问题:现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP ... 阅读全文
posted @ 2020-03-15 16:12
和风细羽
阅读(4349)
评论(0)
推荐(1)
摘要:
阅读全文
posted @ 2020-03-15 16:11
和风细羽
阅读(668)
评论(0)
推荐(0)
摘要:
阅读全文
阅读全文
posted @ 2020-03-15 16:05
和风细羽
阅读(901)
评论(0)
推荐(0)
摘要:
阅读全文
阅读全文
posted @ 2020-03-15 15:50
和风细羽
阅读(187)
评论(0)
推荐(0)
摘要:
阅读全文
阅读全文
posted @ 2020-03-15 15:45
和风细羽
阅读(1213)
评论(0)
推荐(1)
摘要:
阅读全文
posted @ 2020-03-15 15:41
和风细羽
阅读(170)
评论(0)
推荐(0)
摘要:
一、SSHSSH 是一种协议标准,其目的是实现安全远程登录以及其它安全网络服务。传统的网络服务程序,如:ftp、pop 和 telnet 在本质上都是不安全的,因为它们在网络上用明文传送口令和数据。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。既能防止中间人攻击,也能够防止 DNS 欺骗和 IP 欺骗。使用 SSH... 阅读全文
posted @ 2020-03-15 15:40
和风细羽
阅读(732)
评论(0)
推荐(0)
摘要:
一、什么是架构?王概凯 - 架构漫谈(一):什么是架构?1.1 缘起一直以来,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。甚至于很多架构师一说架构,就开始谈论什么应用架构、硬件架构、数据架构等等。我曾经也到处寻找过架构的定义,请教过很多人,结果发现,没有大家都认可的定义。套用一句关于 big data 流行的笑话,放在架构上也适用:Architecture is like t... 阅读全文
posted @ 2020-03-15 15:38
和风细羽
阅读(780)
评论(0)
推荐(0)
摘要:
一、HTTPS 加密和哈希 数字签名和数字证书 HTTPS 的核心 SSL/TSL 协议 iOS中的实际运用 二、HTTPS 单向认证和双向认证 Https单向认证和双向认证 2.1 单向认证 Https 在建立 Socket 连接之前,需要进行握手,具体过程如下: 客户端向服务端发送 SSL 协议 阅读全文
posted @ 2020-03-15 14:44
和风细羽
阅读(973)
评论(0)
推荐(0)
摘要:
阅读全文
阅读全文
posted @ 2020-03-15 14:08
和风细羽
阅读(644)
评论(0)
推荐(0)
摘要:
阅读全文
阅读全文
posted @ 2020-03-15 14:06
和风细羽
阅读(338)
评论(0)
推荐(0)
摘要:
阅读全文
阅读全文
posted @ 2020-03-15 14:05
和风细羽
阅读(248)
评论(0)
推荐(0)
摘要:
阅读全文
阅读全文
posted @ 2020-03-15 14:04
和风细羽
阅读(644)
评论(0)
推荐(0)
摘要:
一、问题描述构造出0~n-1 的所有子集。二、算法分析一次选出一个元素放入集合。三、代码实现#define ARRAY_LENGTH 10{ int A[ARRAY_LENGTH]; print_subset(ARRAY_LENGTH, A, 0);}void print_subset(int n, int* A, int cur){ // cur:当前位置 prin... 阅读全文
posted @ 2020-03-15 14:01
和风细羽
阅读(164)
评论(0)
推荐(0)
摘要:
阅读全文
阅读全文
posted @ 2020-03-15 14:00
和风细羽
阅读(233)
评论(0)
推荐(0)
摘要:
1、交换 A 和 B// 1.中间变量void swap1(int a, int b) { int temp = a; a = b; b = temp;}// 2.加法void swap2(int a, int b) { a = a + b; b = a - b; a = a - b; }// 3.异或(相同为0,不同为1)void swap3(int a, int b)... 阅读全文
posted @ 2020-03-15 13:59
和风细羽
阅读(173)
评论(0)
推荐(0)
摘要:
一、问题描述有一座高度是10 级台阶的楼梯,从下往上走,每跨一步只能向上1 级或者2 级台阶。要求用程序来求出一共有多少种走法。二、算法分析从简单的分析,要到第 10 级台阶,有多少种方法?要么从 9 级跨 1 级,要么从 8 级跨 1 级。记 10 级台阶的状态为 f(10),9 级台阶的状态为 f(9),8 级台阶的状态为 f(8),那么 f(10) = f(9) + f(8)。f(9)... 阅读全文
posted @ 2020-03-15 13:58
和风细羽
阅读(305)
评论(0)
推荐(0)
摘要:
一、冒泡排序1.1 简介冒泡排序是蛮力法在排序问题上的一个典型的应用场景。对于一个给定长度为 n 的无序数组,由初始位置开始,比较数组相邻两个元素。如果是逆序排列的,就交换它们的位置,重复多次之后,最大数就“沉”到了数组最后的位置。第二次再从初始位置开始,将第二大的元素沉到倒数第二个位置。这样一直做 n-1 次,整个数组就是有序的了。对于一个长度为 n 的数组,整个算法消耗的时间为:(n-1) +... 阅读全文
posted @ 2020-03-15 13:57
和风细羽
阅读(342)
评论(0)
推荐(0)
摘要:
一、问题描述在一个 2k * 2k(k ≥ 0)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为特殊方格,显然,特殊方格在棋盘中出现的位置有 4k 种情形,因而有 4k 种不同的棋盘。二、算分分析用分治策略。当 k > 0 时,将 2k * 2k 棋盘分割成 4 个2k-1 * 2k-1子棋盘,特殊方格必定只位于某个子棋盘中。用一个 L 型骨牌覆盖 3 个无特殊方格子棋盘的结合处... 阅读全文
posted @ 2020-03-15 13:54
和风细羽
阅读(456)
评论(0)
推荐(0)
摘要:
#includeusing namespace std;void swap_t(int a[],int i,int j){ int t=a[i]; a[i]=a[j]; a[j]=t;}int par(int a[],int p,int q)//p是轴,轴前面是比a[p]小的,后面是比a[p]大的{ int i=p,x=a[p]; for(int j=p+1;j=x)... 阅读全文
posted @ 2020-03-15 13:52
和风细羽
阅读(128)
评论(0)
推荐(0)
摘要:
一、问题描述有 n 个数或字符,有多少种排列方法。二、算法分析采用分治法把大问题分解成很多的子问题。大问题是所有的排列方法,分解得到的小问题就是以 1 开头的排列,以 2 开头的排列,以 a 开头的排列,以 b 开头的排列...把这些问题继续分解,以 12 开头的排列,以 123 开头的排列...将余下的看成大问题,一直分解下去,直到分解成的子问题只有一个数字或字符的时候,不再分解。因为 1 个数... 阅读全文
posted @ 2020-03-15 13:51
和风细羽
阅读(199)
评论(0)
推荐(0)
摘要:
一、分治 1.1 基本思想 将一个难以直接解决的大问题,分割成 n 个规模较小的子问题,这些子问题相互独立,且与原问题相同,然后各个击破,分而治之。 能用分治法的基本特征: 问题缩小到一定规模容易解决 分解成的子问题是相同种类的子问题,即该问题具有最优子结构性质(递归思想) 分解而成的小问题在解决之 阅读全文
posted @ 2020-03-15 13:50
和风细羽
阅读(1057)
评论(0)
推荐(0)
摘要:
一、问题描述有 5 座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同。参与挖矿工人的总数是 10 人。每座金矿要么全挖,要么不挖,不能派出一半人挖取一半金矿。要求用程序求解出,要想得到尽可能多的黄金,应该选择挖取哪几座金矿?二、算法分析w 表示总共人数,n 表示金矿数,排列组合每一座金矿都有挖与不挖两种选择,排列组合起来就有 2n 种选择。对所有可能性做遍历,剔除那些使用工人数超过 10... 阅读全文
posted @ 2020-03-15 13:45
和风细羽
阅读(479)
评论(0)
推荐(0)
摘要:
一、问题描述一个袋子里有若干硬币,其中一枚是假币,并且和假币和真币一模一样,目前只知道假币比真币轻一点。请问如何找到这枚假币?二、算法分析根据分治的策略,将硬币平分为两份(奇数个硬币取出中间的硬币后再平分),比较两边的重量之和的大小。左侧重,则假币在右半段,反之,假币在左半段(或者中间的假币),然后继续在有假币的半区查找,直到剩余两个硬币,比较大小后,返回假币的位置。时间复杂度:O(logn)。三... 阅读全文
posted @ 2020-03-15 13:42
和风细羽
阅读(799)
评论(0)
推荐(0)
摘要:
一、问题描述 设有 n = 2k 个运动员要进行网球循环赛。现在要设计一个满足以下要求的比赛日程表 每个选手必须与其他 n 1 个选手各赛一场 每个选手一天只能比赛一场 循环赛一共进行 n 1 天 二、算法分析 按此要求可将比赛日程表设计成 n 行 n 1 列的表,在表中第 i 行和第 j 列处填入 阅读全文
posted @ 2020-03-15 13:40
和风细羽
阅读(3946)
评论(0)
推荐(1)
摘要:
1、问题描述假设有 1 元、3 元、5 元的硬币无限个,现在需要凑出 11 元,问如何组合才能使硬币的数量最少?2、算法分析有最小单位 1 的情况下,可以使用贪心算法:NSInteger count = m / 5;NSInteger mol = m % 5; if(mol/3 > 0) { count++; mol %= 3;} count += mol;但当硬币的种... 阅读全文
posted @ 2020-03-15 13:38
和风细羽
阅读(391)
评论(0)
推荐(0)
摘要:
1、问题描述将一个正整数 n 写成如下形式n = m1 + m2 + ... + mi; (其中 mi 为正整数,并且 1 1 f(n, m) = f(n, n-1) + 1 加上的 1 代表 n + 0 = n 这个划分方案③、n n的情况④、n > m f(n, m) = f(n, m-1) + f(n-m, m);f(n, m-1) 表示划分方案中没... 阅读全文
posted @ 2020-03-15 13:36
和风细羽
阅读(425)
评论(0)
推荐(0)
摘要:
1、问题描述给定一个字符串s,找到s中最长的回文子串。2、算法分析大多数问题都可以用暴力法解决。暴力法将选出所有子字符串可能的开始和结束位置,并检验它是不是回文。时间复杂度:O(n3),假设n是输入字符串的长度,则 (n *(n−1))/2为此类子字符串(不包括字符本身是回文的一般解法)的总数。因为验证每个子字符串需要O(n)的时间,所以运行时间复杂度是O(n3)。空间复杂度... 阅读全文
posted @ 2020-03-15 13:35
和风细羽
阅读(185)
评论(0)
推荐(0)
摘要:
1、问题描述给定一个无序的整数数组,找到其中最长上升子序列的长度。如:[5, 3, 4, 8, 6, 7] 返回 4。2、算法分析面对这个问题,首先要定义一个"状态"来代表它的子问题, 并且找到它的解。注意,大部分情况下,某个状态只与它前面出现的状态有关,而独立于后面的状态。假如考虑求 A[1], A[2], ..., A[i],i d[i]) d[i] = d[... 阅读全文
posted @ 2020-03-15 13:34
和风细羽
阅读(235)
评论(0)
推荐(0)
摘要:
1、问题描述计算 an2、算法分析先将 n 变一变,寻找新的计算路径。预处理就是变治法的根本。如果单纯循环执行 n 次相乘,那么时间复杂度为 O(n)。可以利用二进制幂大大改进效率。主要思路是:将十进制的 n 转换成二进制的数组序列 b[]。二进制幂求解有两种方法:从左至右二进制幂和从右至左二进制幂。从左至右二进制幂变换:an = a(b[n]2m + ... + b[0]20)先求 n 的二进制... 阅读全文
posted @ 2020-03-15 13:33
和风细羽
阅读(1381)
评论(0)
推荐(0)
摘要:
1、问题描述在一个有序(升序)数组查找一个数 x2、算法分析暴力的做法就是拿 x 跟数组里面每个数比较一下,然后返回找到的 x 的下标。这里明显可以使用分治的思想:可以把数组分成很多部分,在每个部分里面查找 x。如果所有部分都没有找到 x,那么把这些子问题合并起来后,表示整个数组里没有 x。这很好的反应了分治的思想,先分解成很多小问题,解决这些小问题,把解决的小问题合并起来,大问题就解决了。3、代... 阅读全文
posted @ 2020-03-15 13:30
和风细羽
阅读(175)
评论(0)
推荐(0)
摘要:
一、寻找两个有序数组的中位数1.1 问题描述给定两个大小为 m 和 n 的不同时为空的有序数组nums1和nums2。找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。1.2 算法分析题目要求的时间复杂度是 O(log(m + n)),要产生这样级别的时间复杂度只有采用二分查找法,用分治递归的思路来考虑这个问题。需要转换题目中求中位数的问题为求第 k 小数的... 阅读全文
posted @ 2020-03-15 13:29
和风细羽
阅读(484)
评论(0)
推荐(1)
摘要:
一、问题描述计算两个很大整数的结果,例如:27392361983108271361039746313* 37261038163103818366341087632113二、算法分析先用一个简单的例子,如 234 * 456 =???来考虑。在这里考虑将 456 拆分为 4、5、6,然后分别去乘以 234。 234... 阅读全文
posted @ 2020-03-15 13:27
和风细羽
阅读(269)
评论(0)
推荐(0)
摘要:
01 背包问题是用来介绍动态规划算法最经典的例子。一、解释 1①、状态方程f[i, j] = Max{ f[i-1, j-Wi] + Pi, f[i-1,j] }( j >= Wi )f[i,j] 表示在前 i 件物品中选择若干件放在承重为 j 的背包中,可以取得的最大价值。Pi 表示第 i 件物品的价值。决策:为了背包中物品总价值最大化,第 i 件物品应该放入背包中吗 ?②、实例假设山洞里共... 阅读全文
posted @ 2020-03-15 13:25
和风细羽
阅读(240)
评论(0)
推荐(0)
摘要:
一、Base64 编码由来为什么会有 Base64 编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像 ASCII 码的控制字符就不能通过邮件传送。这样用途就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。最好的方法就是在不改变传统协议的情况下,做一种扩展方案来支持二进制文件的传送。把不可打印的字符也能用可打印字符来表示,问题就... 阅读全文
posted @ 2020-03-15 13:19
和风细羽
阅读(495)
评论(0)
推荐(1)

浙公网安备 33010602011771号