2018年8月23日

栈的应用之迷宫

摘要: 一、普通迷宫 .h # pragma once# include"Stack.h"# include<stdio.h># include<stdlib.h># include<string.h> #define MAX_ROW 6#define MAX_COL 6 typedef struct Po 阅读全文

posted @ 2018-08-23 14:59 众里寻他2018 阅读(110) 评论(0) 推荐(0)

网络基础之传输层--TCP协议和UDP协议

摘要: 一、端口号 1、概念 端口号(Port)标识了一个主机上进行通信的不同的应⽤程序;程序的身份标识,不同的服务器有不同的端口号,传输层收到数据后根据端口号来确定需要把这个数据交给哪个端口号。不同的服务器要求的协议不同,应该按照正确的格式匹配。(HTTP的格式只能交给HTTP的服务器来处理。) 在TCP 阅读全文

posted @ 2018-08-23 14:58 众里寻他2018 阅读(389) 评论(0) 推荐(0)

哈希扩展---位图--海量数据面试题

摘要: 海量数据:数量非常大的数据1、哈希切割top k问题:给一个超过100G大小的log file,log中储存着ip地址,设计算法找到出现次数最多的ip地址?法一、取文件中的第一个ip地址,后遍历整个文件;然后统计下一个ip地址按找前面的方法继续执行,统计次数。如果第一个ip地址比第二个ip地址多,则 阅读全文

posted @ 2018-08-23 14:58 众里寻他2018 阅读(200) 评论(0) 推荐(0)

高级IO

摘要: 一、五种IO模型 1、阻塞式IO:(进程没有结束时,一直等待进程结束,不做其他的事情) 分为两个阶段:a、等待:等待数据,不知道数据何时发送过来,等待的时间比较长。 b、拷贝: 性能优化:a、优化程序,先进性测试,找到性能瓶颈,首先进行优化。b、对系统有一个充分的了解。CPU密集型:由CPU承担大部 阅读全文

posted @ 2018-08-23 14:57 众里寻他2018 阅读(98) 评论(0) 推荐(0)

数据链路层,以太网

摘要: 一、数据链路层 (1)数据链路层和网络层的不同:网络层侧重于整体一个点到另一个点之间的一条路径,数据是如何到达的。而数据链路层则侧重于其中的每一个小区间上的传递。用于两个设备(同一种数据链路节点)之间进行传递。 (2)“同一种数据链路”:手机通过路由器上外网,手机与路由器之间通过无线网WiFi的方式 阅读全文

posted @ 2018-08-23 14:57 众里寻他2018 阅读(405) 评论(0) 推荐(0)

IO多路转接二

摘要: 一、poll函数:IO多路复用的方式之一 1、接口: int poll(struct pollfd *fds, nfds_t nfds, int timeout); 第一个参数为一个结构体指针,也可以理解为一个结构体数组,fds表示结构体的起始位置;第二个参数为描述结构体的元素个数;第三个参数为一个 阅读全文

posted @ 2018-08-23 14:56 众里寻他2018 阅读(99) 评论(0) 推荐(0)

网络层--IP协议

摘要: 一、基于UDP实现可靠传输(本质上是设计一个TCP) 二、网络层: 主机: 配有IP地址, 但是不进行路由控制的设备; 路由器: 即配有IP地址, 又能进行路由控制; 节点: 主机和路由 器的统称 1、网络层包含了两个方面: 1)、地址管理 2)、路由选择 三、IP协议 1、协议头格式 ​ 4位版本 阅读全文

posted @ 2018-08-23 14:56 众里寻他2018 阅读(231) 评论(0) 推荐(0)

HTTP协议

摘要: 一、URL:平时我们俗称的 "网址" 其实就是说的 URL 1、 ​ 1',http:// 协议方案名(还可以是其他协议,改HTTP)2',user:pass 登录信息认证3',www.example.jp 服务器地址(域名,本质上是ip地址4',80 服务器端口号(如果没有说明端口号,默认是80) 阅读全文

posted @ 2018-08-23 14:52 众里寻他2018 阅读(133) 评论(0) 推荐(0)

栈和队列面试题

摘要: 栈和队列面试题1、实现一个栈,要求实现push(入栈),pop(出栈),Min(返回最小值)的时间复杂度为O(1)方式1:给定两个栈,一个栈保存数据,一个栈保存最小值。取一个数据,压入数据栈中,同时向最小值栈中存入一个数据。取下一个数据,若是下一个数据小于最小值栈中的栈顶数据,则将该数据插入数据栈同 阅读全文

posted @ 2018-08-23 14:52 众里寻他2018 阅读(86) 评论(0) 推荐(0)

基于python的网络爬虫

摘要: 一、从小说网站抓取一本小说 import urllib2:python库,提供一系列针对url的操作方法 import re:re正则表达式,提供了一系列针对正则表达式的方法 BeautifulSoup4库:from bs4 import BeautifulSoup BeautifulSoup4是一 阅读全文

posted @ 2018-08-23 14:51 众里寻他2018 阅读(630) 评论(0) 推荐(0)

搜索引擎

摘要: 一、该搜索引擎是对boost源码进行搜索,针对boost文档进行简单的搜索功能 写这个搜索引擎的原因:实现一个基于boost文档的搜索,数量太大时,可能不好实现,数量较小时,可以正常实现,并且boost库中没有一个合适的搜索功能。使用boost时,发现查一个东西不好查,所以想要自己实现一个服务器2、 阅读全文

posted @ 2018-08-23 14:50 众里寻他2018 阅读(263) 评论(0) 推荐(0)

文件压缩

摘要: 一、哈夫曼树:实现文件压缩 1、涉及的问题:在现实生活中大量的数据是需要存储的,压缩后可以节省空间、节省带宽(在网上发送的照片,发送的并不是原图,先把问件进行压缩,接收方收到之后才进行展开)(缩略图就是压缩的结果)。 2、压缩: (1)分类: a、无损压缩:压缩后的文件,恢复后和原来一模一样。【对于 阅读全文

posted @ 2018-08-23 14:49 众里寻他2018 阅读(247) 评论(0) 推荐(0)

智能指针

摘要: 一、资源分配即初始化:定义一个类来进行资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放(构造函数负责把资源分配给你,析构函数负责释放资源) 建议:在任何时候都不要使用AutoPtr,除非不用调用拷贝构造、赋值运算符的重载 template< 阅读全文

posted @ 2018-08-23 14:48 众里寻他2018 阅读(67) 评论(0) 推荐(0)

多态二:带有虚函数的虚拟继承

摘要: 1、普通函数的继承 class Base { public: virtual void Test1() { cout << "B::Test1()" << endl; } virtual void Test2() { cout << "B::Test2()" << endl; } int _b; } 阅读全文

posted @ 2018-08-23 14:48 众里寻他2018 阅读(107) 评论(0) 推荐(0)

输入一个链表,按链表值从尾到头的顺序返回一个ArrayList

摘要: 一、输入一个链表,按链表值从尾到头的顺序返回一个ArrayList 用C语言实现: void PrintListFromTail2Head(PNode pHead) { if (pHead) { PrintListFromTail2Head(pHead->_pNext); printf("%d", 阅读全文

posted @ 2018-08-23 14:47 众里寻他2018 阅读(1622) 评论(0) 推荐(1)

面试题

摘要: 一、在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 1、用C++实现:; class Solution { public: bool Find(int t 阅读全文

posted @ 2018-08-23 14:46 众里寻他2018 阅读(91) 评论(0) 推荐(0)

空间配置器

摘要: 剖析源码的项目:空间配置器:因为存在内存碎片的问题和效率的问题,所以引入了空间配置器 一、空间配置器:本身是一个内存池 容器是需要大量空间的 池化技术:a、内存池(用于频繁申请不大的内存);b、线程池(并发时经常要创建时);c、连接池(通常用于数据库的连接,每次创建和销毁sockets都是有时间消耗 阅读全文

posted @ 2018-08-23 14:45 众里寻他2018 阅读(90) 评论(0) 推荐(0)

STL

摘要: STL:C++标准模板库 A、HP版本 SGI(所有的SGI版本都是继承自HP版本 1、常用的数据结构的封装 2、通用的算法:模板(让处理的数据与类型无关)+仿函数(函数指针) B、六大组件: 容器: a、线性结构(序列式容器) string:管理字符串(字符串类型的动态顺序表) array:静态顺 阅读全文

posted @ 2018-08-23 14:44 众里寻他2018 阅读(80) 评论(0) 推荐(0)

摘要: 一、堆的实现,简单的功能: #pragma once # include<stdio.h> # include<stdlib.h> # include<assert.h> # include<malloc.h> typedef int DataType; typedef struct Heap { 阅读全文

posted @ 2018-08-23 14:43 众里寻他2018 阅读(88) 评论(0) 推荐(0)

二叉搜索树

摘要: 一、二叉搜索树的查找和插入: #pragma once # include<stdio.h> # include<stdlib.h> # include<assert.h> # include<malloc.h> typedef int DataType; typedef struct BSTree 阅读全文

posted @ 2018-08-23 14:42 众里寻他2018 阅读(85) 评论(0) 推荐(0)

二叉树的应用

摘要: 一、层序遍历的应用: 镜像:还需要引入队列,同上一篇博客。 .h # pragma once # include<assert.h> # include<malloc.h> # include<stdio.h> # include<stdlib.h> # include<string.h> # in 阅读全文

posted @ 2018-08-23 14:40 众里寻他2018 阅读(108) 评论(0) 推荐(0)

导航