- 博客(21)
- 资源 (8)
- 收藏
- 关注
原创 随机数问题
一、用随机函数构造另一个随机函数比如,有这样一个需求,现在有一个rand5()函数,这个函数可以生成1-5的随机数,让你通过这个函数生成1-7范围的随机数。怎么做了? 一般思路是这样的:用两次rang5函数,通过这两次rand5结果,构造出一个随机数范围包括0-7,但比0-7大的范围就好了。比如(rand5 -1)*5 +rand5,它的范围为1-25(包括0-7),因为rand5产生每个数随机概
2017-02-28 12:55:00 1114
转载 Linux命令-sed
原文地址:linux sed命令详解一、简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作
2017-02-23 14:20:56 674
原创 操作系统-内存管理笔记
内存管理最基本的操作就是由处理器把程序装入内存中运行。技术有固定分区、动态分区、简单分页、简单分段、虚拟内存分页、虚拟内存分段等。在现代操作系统中基本都有虚拟内存技术。下面了解下各个方法的思想。1、固定分区管理用户内存空间的最简单的方法是就是把它分成许多固定边界的区域。对于分区大小,我们可以采用大小相等分区,或者大小不相等分区。1)大小相等的分区。 在这种情况下,小于或者等于分区大小的任何进程都可
2017-02-23 13:58:27 1036
原创 Effective STL-尽量使用区间操作代替单元素操作
一、原因:1、代码更少,更简洁; 2、 对序列容器,还可以避免单个单个申请造成多次分配内存(拷贝开销大)二、区间操作:1)区间构造:container::container(InputIterator begin,InputIterator end);2)区间插入:对于序列容器:void Container::insert(Iterator positon,//插入位置
2017-02-23 10:37:02 828
原创 Effective STL-各种容器正确删除元素方法
一、去除一个容器中有特定值得所有对象1、如果容器是vector、string或deque,使用erase-remove惯用法c.erase(remove(c.begin,c.end(),value),c.end());//c为容器,value为待删值2、对于listc.remove(value);3、对于关联容器 关联容器无remove成员函数,它是调用erase函数。c.erase(value)
2017-02-23 10:27:41 808
转载 使用 C++11 智能指针时要避开的 10 大错误
我很喜欢新的C++11的智能指针。在很多时候,对很多讨厌自己管理内存的人来说是天赐的礼物。在我看来,C++11的智能指针能使得C++新手教学更简单。其实,我已经使用C++11两年多了,我无意中发现多种错误使用C++11智能指针的案例,这些错误会使程序效率很低或者直接崩溃。为了方便查找,我把它们按照下文进行了归类。在开始之前,我们用一个简单的Aircraft类来展示一下这些错误。cl
2017-02-22 23:27:27 1991
原创 shell-特殊符号
在Shell中,有几个符号有着特别的含义,分别是#符号、分号、引号、斜线与反斜线、反引号、冒号、问号、美元符号,下面详细看看这几个特殊字符的作用。
2017-02-21 22:00:10 5667
原创 常用算法-回朔法
1、概念回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用
2017-02-18 23:46:23 3223
原创 UDP套接字编程
UDP简介UDP—用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快.
2017-02-17 12:41:52 584
转载 linux编程常用头文件
转自:socket网络编程中的头文件Socket编程中需要用到的头文件stdlib.h : //某些结构体定义和宏定义,如EXIT_FAILURE、EXIT_SUCCESS等sys/types.h:包含很多类型重定义,如pid_t、int8_t等sys/socket.h:与套接字相关的函数声明和结构体定义,如socket()、bind()、connect()及struct sockaddr的定义
2017-02-17 12:20:25 1117
原创 python itchat实现微信自动回复
今天在实验楼发现一个特别好玩的,python 微信库itchat,可以实现自动回复等多种功能,好玩到根本停不下来啊,尤其是调戏调戏不懂计算机的,特别有成就感,哈哈!!
2017-02-16 22:00:32 18079 11
原创 位运算技巧与应用
位运算是把数字用二进制表示之后,对每一位上的0或者1的运算。运算包括与、或、异或,非。熟练掌握位运算技巧,能给我们解决问题提供一些巧妙的方法。
2017-02-16 17:47:28 3761
原创 二分查找实现及其应用
二分查找,应用广泛,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如果x<a[n/2],则我们只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果x>a[n/2],则我们只要在数组a的右半部继续搜索x。
2017-02-16 15:16:40 3080
原创 二叉树-遍历终极版
对于二叉树的遍历,最熟悉的就是递归遍历了,对二叉树的非递归遍历大致知道一些,但是不太熟悉,尤其是后续非递归遍历的实现,一直比较懵逼,于是上网查询了一下,果然大神无处不在,那个后序遍历的双栈法,简直让人拍案叫绝,下面总结下。
2017-02-16 00:25:13 2718
原创 二叉树-创建、重建、转化
对于二叉树的创建女,一般我们只熟悉最简单的二叉树创建方式,即逐个输入节点,然后按照先序遍历或者中序、后序遍历方式来递归建立二叉树。但是,光掌握这个是不够的,我们还得掌握二叉树的重建(先序中序重建二叉树,后序中序重建二叉树),数组转换为二叉树,链表转换为二叉树等等。1、最简单的创建方式我们可以根据先序遍历递归创建二叉树,当然也可以中序或者后序遍历方式创建二叉树。//创建二叉树BTress Creat
2017-02-15 23:25:13 2944
原创 TCP套接字编程(二)
前面通过多进程,多线程,支持处理多个客户端通信,本篇将讲述用select这个IO复用来实现。IO模型首先连接一下IO模型,unix下有5种可用IO模型,分别是:阻塞式IO、非阻塞式IO、IO复用、信号驱动式IO。 5种IO模型比较 1、阻塞式IO阻塞式IO是最常用的IO模式,它就是没有数据就阻塞,一直等到有数据位置,期间啥也不干,就一门心思等数据。2、非阻塞式IO非阻塞式IO,就是不断轮询,
2017-02-15 13:22:58 568
原创 特征工程概述
有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。
2017-02-15 00:15:36 598
原创 TCP套接字编程(一)
篇一:LInux socket编程(一) 篇二:LInux socket编程(二)一、Tcp 客户端服务器通信模型首先要清楚socket通信整个过程是怎样的,首先肯定都要创建一个socket, 然后服务器收拾收拾,准备接客(listen,bind accept).诶,有客户端来大保健了(accept)。来吧,谈谈价钱啥的(三次握手),好了,达成一致,开始工作。 下面首先总结一下几个重
2017-02-14 17:43:44 894
RGB数据生成BMP图片
2015-07-03
即时抓图Filter
2015-07-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人