SGI STL sort()源码分析

首先将stl sort完整源码列如下所示: template inline void sort(_RandomAccessIter __first, _RandomAccessIter __last) { __STL_REQUIRES(_RandomAccessIter, _Mutable...

2017-07-09 22:45:27

阅读数 350

评论数 0

Elo评分算法原理与实现

《社交网络》里的Mark Zackburg被女朋友甩后,在舍友的启发下,充分发挥了技术宅男自娱自乐的恶搞天分,做出了Facemash网站,对学校女生的相貌进行排名打分,结果网站访问流量过大,直接把学校网络搞瘫痪了。Facemask大受欢迎的关键就在于Zackburg基友Eduardo写在窗户上的排...

2017-04-19 15:38:55

阅读数 9010

评论数 2

使用KNN算法识别数字

KNN算法作为一种重要的分类算法,这里一步步地构造使用k近邻分类器的手写识别系统。为了简单起见,这里构造的系统只能识别数字0到9,参见下图。需要识别的数字已经使用图形处理软件,处理成具有相同的色彩和大小 :宽高是32像素x32像素的黑白图像。尽管采用文本格式存储图像不能有效地利用内存空间,但是为了...

2017-04-18 22:42:57

阅读数 544

评论数 0

Javascript闭包——懂不懂由你,反正我是懂了

摘要:“如果你不能向一个六岁的孩子解释清楚,那么其实你自己根本就没弄懂。”好吧,我试着向一个27岁的朋友就是JS闭包(JavaScript closure)却彻底失败了。   越来越觉得国内没有教书育人的氛围,为了弄懂JS的闭包,我使出了我英语四级吃奶的劲去google上搜寻着有...

2017-01-04 22:15:47

阅读数 395

评论数 0

Ruby on Rails安装

环境:ubuntu首先安装rubysudo apt install ruby查看ruby版本ruby -v安装rails配置gem源由于默认的gem源使用的是国外的源,在国内速度慢而且时常无法访问,所以先配置gem源,之前淘宝负责的源已经有ruby中国负责gem sources #显示现在的ge...

2016-12-29 14:43:29

阅读数 1494

评论数 1

使用automake工具自动构建工程

需要使用到的命令 autoscan命令 aclocal命令 autoconf命令 automake -a命令 安装autoconf、automake使用yum安装 安装成功之后进入工程目录,执行autoscan,出现两个文件autoscan.log和configure.scan 手动修...

2016-12-06 10:54:43

阅读数 409

评论数 0

搜索引擎核心技术笔记

搜索引擎发展史 1 分类目录:hao123 人工整理 2 文本检索:使用布尔模型、向量空间模型或者概率模型计算查询词和网页文本内容的相关程度 未考虑网页之间的链接关系 3 链接分析:google pagerank技术 未考虑用户的个性化需求 4 用户中心的一代:利用用户查询的时间、地点,...

2016-11-02 22:20:08

阅读数 1974

评论数 0

今天是最幸福的一天

同时受到百度和腾讯的offer,开心 只要努力就会有收获,加油

2016-09-27 22:35:19

阅读数 412

评论数 0

map中的元素按照key,value值排序

C++ STL中Map的按Key排序 其实,为了实现快速查找,map内部本身就是按序存储的(比如红黑树)。在我们插入键值对时,就会按照key的大小顺序进行存储。这也是作为key的类型必须能够进行 #include #include #include using namespace s...

2016-09-17 17:10:47

阅读数 459

评论数 0

分布式系统基本概念(一致性、数据分布、复制策略、分布式协议)

分布式系统基本概念 异常类型 1 服务器down机(随时发生、内存数据丢失(因此需要考虑数据持久化)、down机重启之后要恢复内存信息) 2 网络异常(消息丢失、消息乱序(UDP)或者网络包数据错误、区域内可通信区域间不可通信) 3 磁盘故障(磁盘损坏(备份)、磁盘数据错误(校验和解决))...

2016-09-03 22:00:25

阅读数 4657

评论数 0

Linux 互斥锁、原子操作实现原理

在Linux下,信号量和线程互斥锁的实现都是通过futex系统调用。 futex(快速用户区互斥的简称)是一个在Linux上实现锁定和构建高级抽象锁如信号量和POSIX互斥的基本工具。它们第一次出现在内核开发的2.5.7版;其语义在2.5.40固定下来,然后在2.6.x系列稳定版内核中出现。...

2016-08-24 22:13:37

阅读数 5096

评论数 0

fork与vfork的区别

1.fork函数介绍 #include sys/types.h> #include unistd.h> pid_t fork (void ); 正确返回:父进程中返回子进程的进程号;子进程中返回0;(单调用双返回函数) 错误返回:-1; 子进程是父进程的一个拷贝。具体说,子...

2016-08-24 21:37:32

阅读数 348

评论数 0

TIME_WAIT状态与解决方法

执行主动关闭的那端经历了这个状态,并停留MSL(最长分节生命期)的2倍,即2MSL。 TIME_WAIT存在的两个理由: 1 可靠的实现TCP全双工连接的终止 2 允许老的重复的分节在网络上的消逝 第一个:如果客户端不维持TIME_WAIT状态,那么将响应给服务端一个RST,该分节被服务器...

2016-08-21 16:24:25

阅读数 8098

评论数 0

C/C++语言字符串操作总结大全(超详细)

字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符...

2016-08-13 11:32:24

阅读数 444

评论数 0

vector<bool>效率问题的原因和替代方法

今天在刷一道题目的时候遇到这样一个效率问题,c数组效率 > vector效率 > vector效率,查找资料发现: vector不是容器,至少,不是标准意义上的容器。 vector的名称有点让人误解,因为其内部元素实际上并不是标准的bool值,标准的bool值至少与char拥有...

2016-08-10 15:52:45

阅读数 687

评论数 0

MPI非阻塞通信使用、性能分析与实现原理

非阻塞通信: 异步通信通常是使MPI应用程序实现高性能计算的关键,使用异步通信具有如下优势: 1)函数是非阻塞的,这使得进程在与另一个进程通信的同时继续参与计算; 2)如果应用适当,可以绕过MPI的内部buffers,极大地提高程序的通信带宽; 最常见的基本的非阻塞调用就是MPI_Isend和MP...

2016-08-03 16:40:16

阅读数 3930

评论数 0

mmap与直接IO(read、write)的效率比较

不能简单的说哪个效率高,要看具体实现与具体应用。 无论是通过mmap方式或read/write方式访问文件在内核中都必须经过两个缓存:一个是用address_space来组织的以页为基础的缓存;一个是以buffer来组织的缓存,但实际上这两个缓存只是同一个缓冲池里内容的不同组织方式。当需要从文件读...

2016-08-03 16:03:51

阅读数 3882

评论数 0

vim命令大全

进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与patt...

2016-08-01 14:52:53

阅读数 237

评论数 0

linux brk、sbrk、mmap和munmap系统调用

sbrk/brk重新指定数据段的结束位置。sbrk(增量),增量可正可负,也可以是0,,都返回原来的数据段结束地址,失败返回-1,。brk(地址),返回0或者-1。头文件。sbrk(0)可以取得当前结束地址。没有使用的虚拟内存地址,操作系统就没有映射到物理内存,如果试图访问会差生段错误。指定新的结...

2016-08-01 10:46:52

阅读数 1551

评论数 0

linux系统端口占用和close-on-exec机制

一直以来,在处理linux服务器的过程中,经常会遇到一个问题,有时候kill掉进程之后,端口被占用,新的进程一直起不来,等待很久也不能启动新进程,总是提示端口被占用,只有重启机器才能恢复正常,这个简直是个灾难, 查了一些资料,了解了如何查看端口占用情况和处理方法。 1、使用netsta...

2016-07-30 12:00:04

阅读数 854

评论数 0

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