自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 快速排序的优化

参考:http://blog.taoaili999.cn/2017/06/29/QuickSort-Optimization/ 快速排序的思想是分治法,当每次划分时,算法若都能分成两个等长的子序列时,那么分治算法效率会达到最大。所以基准枢纽元的选择是很重要,选择基准的方式决定了分割后两个子序列的长度,进而对整个算法的效率产生决定性影响。  通常实现的快速排序没有经过充分考虑的选择那个枢纽元,...

2018-08-24 11:02:58 321

转载 智能指针

为什么要使用智能指针:我们知道c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即把delete语句直接也写了,但是我们不能避免程序还未执行到delete时就跳转了或者在函数中没有执行到最后的delete语句就返回了,如果我们不在每一个可能跳转或者返回的语句前释放资源,就会造成内存泄露。使用智能指针可以很大程度上的避免这个问题,因为智能指针就是一个类,当超出了类的作用域是,...

2018-08-22 21:23:58 181

转载 大量数据处理方案

 1、海量日志数据,提取出某日访问百度次数最多的那个IP。    首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最...

2018-08-18 21:58:51 597

转载 二叉树面试题汇总

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基...

2018-08-18 20:10:48 208

转载 进程间通信之:socket详解

进程间通信之:socket置顶2016年12月14日 15:25:27阅读数:3112  最近初步学习了本地进程间通信的方式(PIPE、FIFO、message queue、semaphore、shared memary),计划按照“unix 环境高级编程”来学习socket,但是书本上来就讲socket的一些api,感觉一直没搞懂,通过今天的网络搜索,终于发现几篇不错的文章,再次整理...

2018-08-18 16:07:01 15151

转载 Linux进程间通信方式

原文地址::https://www.cnblogs.com/skyofbitbit/p/3651750.html 相关文章1、Linux下进程通信的八种方法----https://www.cnblogs.com/sooner/archive/2013/05/16/3082758.html2、Linux进程间通信——使用信号----http://blog.csdn.net/ljian...

2018-08-18 15:41:44 166

转载 volatile 是干什么用的?使用实例有哪些?

1. 为什么用volatile?    C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明:A volatile specifier is a hint to a compiler that an...

2018-08-18 15:19:25 1308

原创 CVTE二面问题汇总

1.TCP的黏包问题如何处理?1 什么是粘包现象  TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。2 为什么出现粘包现象  (1)发送方原因  我们知道,TCP默认会使用Nagle算法。而Nagle算法主要做两件事:1)只有上一个分组得到确认,才会发送下一个分组;2)收集多个小分组,在一个确认到来时一起发送。...

2018-08-17 21:13:55 1871

原创 TCP协议

TCP的报头Source Port,Dest Port:源端口和目的端口,和IP层的源IP和目的IP来唯一确定一个socket。 Sequence Number:包的序列号,主要用来解决乱序的问题。 Acknowledgement Numbe:就是ACK——用于确认收到,用来解决不丢包的问题,也会用来进行窗口更新。 Window:滑动窗口,通过接受方来控制发送方,达到流量控制的目的。...

2018-08-15 23:16:31 214

原创 C++内存管理

栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存储区,就是那些由malloc等分配...

2018-08-11 23:18:42 181

原创 不带输入背包数目的0-1 背包问题

#include <iostream>#include <math.h>#include <vector>#include <sstream>#include <stdio.h>using namespace std;vector<int> splitStr(string s){ int j=0; ...

2018-08-08 22:54:11 175

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除