- 博客(5)
- 收藏
- 关注
原创 tcp连接的建立与终止
tcp协议,全称传输控制协议,位于tcp/ip协议族中的运输层,是一种面向连接的,可靠的协议,主要用于在两个不同进程间传输数据(一般这两个进程的主机也不相同)。要使用tcp传输数据首先得建立连接。tcp连接的建立主要包括两种: 1.正常的建立(三路握手),主要体现在c/s模型中,其建立过程如图: 2.同时打开建立连接: 注:同时打开需要每一方使用一个对方熟知的端口作为本地端
2017-07-24 12:17:17 594
原创 二叉树的三种非递归遍历
二叉树有三种遍历方法,分别是前序遍历,中序遍历和后序遍历,下面分享下前两种方法的非递归形式。 由于二叉树的这三种遍历过程非常适合堆栈的结构特点,即"先进后出",所以采用堆栈的结构。在沿左子树深入时,进入一个结点就将其压入堆栈。若是先序遍历,则在入栈之前访问之;当沿左分支深入不下去时,则返回,即从堆栈里弹出前面压入的结点;若为中序遍历,则此时访问该结点,然后从该结点的右子树继续深入;
2016-08-09 11:12:11 468
原创 线性时间内求最大子数组和
给定KK个整数组成的序列{ N_1N1, N_2N2, ..., N_KNK },“连续子列”被定义为{ N_iNi, N_{i+1}Ni+1, ..., N_jNj },其中 1 \le i \le j \le K1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -
2016-05-08 19:24:52 1082 1
原创 归并排序
归并排序是一种效率很高的排序算法,其时间复杂度为θ(nlgn),下面是我学习这一算法的理解。 归并排序运用了分治策略,即把原问题分解成若干类似原问题的子问题,然后对这些子问题进行再分解,直到子问题容易求得解为止,最后将所有子问题的解合并起来构成原问题的解。 对于归并排序来说就是将原来要排序的序列A[n](假设该序列用含有n个元素的数组表示)分解成两个子数组,然后对这两个子数组递归求解,最后
2016-05-01 12:08:31 388
原创 插入排序的递归算法(升序)
近来看算法导论有一习题是关于插入排序的,要求用递归实现。正好理解一下递归,在此分享下我的理解,如有纰漏,请多多指教。 已知一无序数组A[1......N],利用插入排序的方法可以将这个数组分为两部分,已排好序的A'[1.....N-1],再把剩下的第N个数插入到A'中去即可。最开始A'为空数组,现在对其递归排序。在此之前我们要先写个子函数,目的是把剩下的第N个元素插入到A'中去。
2016-04-14 18:24:22 1855
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人