xqn2017

导航

2017年12月12日 #

什么是socket?

摘要: 1、七层协议简化为四层:应用层、传输层、网络层、链路层;2、套接字是应用层和TCP/IP协议族通信间的软件抽象层,将TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用实现进程在网络中的通信;本地进程通信中,进程PID是唯一标识,而网络通信中,PID不唯一容易冲突,而IP地址标示唯一主机,TCP 阅读全文

posted @ 2017-12-12 19:48 xqn2017 阅读(309) 评论(0) 推荐(0)

网络编程基础知识

摘要: 1、TCP建立的三次握手,为什么不是两次或者四次?握手过程:C向S发送一个Seq=X序列将SYN置为1,S收到后返回一个ACK=X+1,Seq=Y,将SYN置为1,C收到后返回ACK=Y+1,Seq =Z这样就建立了连接如果两次:已经失效的连接请求报文段,C发出的第一个连接请求在连接释放后才到达,此 阅读全文

posted @ 2017-12-12 19:47 xqn2017 阅读(147) 评论(0) 推荐(0)

2017年12月11日 #

python实现排序算法一:快速排序

摘要: ##快速排序算法##基本思想:分治法,将数组分为大于和小于该值的两部分数据,然后在两部分数据中进行递归排序,直到只有一个数据结束## step1: 取数组第一个元素为key值,设置两个变量,i = 0, j = len(a) - 1## step2: j从后面开始遍历,遇到小于key的值,则a[i] 阅读全文

posted @ 2017-12-11 18:28 xqn2017 阅读(254) 评论(0) 推荐(0)

python实现查找算法:二分查找法

摘要: 二分查找算法也称折半查找,基本思想就是折半,和平时猜数字游戏一样,比如猜的数字时67,猜测范围是0-100,则会先猜测中间值50,结果小了,所以就会从50-100猜测,中间值为75,结果大了,又从50-75猜测中间值,一直到猜中为止。因此,二分查找有一个限制就是原先数组需要是一个有序数组。代码如下: 阅读全文

posted @ 2017-12-11 18:27 xqn2017 阅读(4924) 评论(0) 推荐(0)

python实现排序算法二:归并排序

摘要: ##归并排序 ##基本思想:对于两个排好序的数组A和B,逐一比较A和B的元素,将较小值放入数组C中,当A或者B数组元素查询完后,将A或者B剩余的元素直接添加到C数组中,此时C数组即为有序数组,这就是归并排序原理 ##step1:对于一个无序数组A,可以取A元素中间索引,将A数组分为两个部分A1,A2 阅读全文

posted @ 2017-12-11 18:27 xqn2017 阅读(315) 评论(0) 推荐(0)

python小实例一:简单爬虫

摘要: 本文所谓的爬虫就是通过本地远程访问url,然后将url的读成源代码形式,然后对源代码进行解析,获取自己需要的数据,相当于简单数据挖掘。本文实现的是将一个网页的图片爬出保存到本地的过程,例子很简单,用的是python 3.5.2版本,以前的版本可能导入的包的名字不一样,调用的库函数方式有些差别。代码如 阅读全文

posted @ 2017-12-11 18:26 xqn2017 阅读(3710) 评论(0) 推荐(0)

python实现排序算法三:插入排序

摘要: 插入排序基本思想:假设一个无序数组A,则对于只有一个元素A[0]的子数组C来讲,其是有序的,然后将A[1]插入到C中,则就是将A[1]与A[0]进行比较,如果A[1]比A[0]小,则交换两者的顺序,这里假设是升序排序。此时的C有两个元素A[0]和A[1],且已经排好序,然后再将A[2]插入到C中,如 阅读全文

posted @ 2017-12-11 18:26 xqn2017 阅读(179) 评论(0) 推荐(0)

python实现排序算法四:BFPTR算法

摘要: 所谓的BFPTR算法就是从n个数中寻找最小的K个数,主要思想可以参考注释,写得不是很好,特别是寻找中位数的中位数的时候,欢迎指正: 采用任意排序算法,将分组后的数据进行排序: 阅读全文

posted @ 2017-12-11 18:25 xqn2017 阅读(678) 评论(0) 推荐(0)

C++随记

摘要: 1、const限定符 const限定变量的值不可变,并且const对象必须要初始化 const int buf = 512; //正确,表明buf的值为512 buf = 400; //错误,buf的值不可变 const int temp; //错误,必须要初始化 2、引用 引用必须要初始化,且初始 阅读全文

posted @ 2017-12-11 18:24 xqn2017 阅读(134) 评论(0) 推荐(0)

C++实现二分查找

摘要: #include #include #include #include using namespace std; int main() { vector v1; vector::iterator start; vector::iterator end; vector::iterator mid; int loop = 0; int key = 11; for (loop ... 阅读全文

posted @ 2017-12-11 18:23 xqn2017 阅读(1038) 评论(0) 推荐(0)

优酷土豆2012.9.12校园招聘会笔试题

摘要: 给你一个由n-1个整数组成的未排序的序列,其元素都是1到n中的不同的整数。请写出一个寻找序列中缺失整数的线性时间算法。 分析:只要通过异或算法就可实现,由于1^1=0,2^2=0,0^n = 0;因此,数组中的所有数据与1-n一起做异或,缺失的数据就会显现出来, 代码如下所示: 阅读全文

posted @ 2017-12-11 18:23 xqn2017 阅读(104) 评论(0) 推荐(0)

Google 2013笔试题一

摘要: 2.1 给定三个整数a,b,c,实现 int median(int a, int b, int c),返回三个数的中位数,不可使用sort,要求整数操作(比较,位运算,加减乘除等)次数尽量少,并分析说明程序最坏和平均情况下使用的操作次数。 分析:中位数的意思是一个有序列中间的一个(奇数个数情况)或者 阅读全文

posted @ 2017-12-11 18:22 xqn2017 阅读(134) 评论(0) 推荐(0)

【剑指offer】单链表尾部插入一个节点

摘要: #include using namespace std; //链表结构体 struct ListNode { int m_Value; ListNode *next; }; //创建一个单链表 ListNode *CreateList(int *a,int n) { ListNode *pHead = NULL; ListNode *pTemp = NULL; int i = ... 阅读全文

posted @ 2017-12-11 18:21 xqn2017 阅读(1607) 评论(0) 推荐(0)

查找某个目录下包含有某个关键字的所有文件夹以及子文件夹里的文件名

摘要: 本文中的循环可以省略,只用一条语句实现,为了理解简单,扩展开写的,如下 阅读全文

posted @ 2017-12-11 18:20 xqn2017 阅读(551) 评论(0) 推荐(0)

【剑指offer】将字符串中的空格替换成"%20"

摘要: #include #include using namespace std; char *ReplaceSpace(char *str,int MaxLen) { int SpaceNum = 0; int srcIdx = 0; int srcLen = 0; int dstIdx = 0; int dstLen = 0; char *strTmp = str; if(NU... 阅读全文

posted @ 2017-12-11 18:20 xqn2017 阅读(160) 评论(0) 推荐(0)