自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 【分治法】最接近点对问题

问题场景:在应用中,常用诸如点、圆等简单的几何对象代表现实世界中的实体。在涉及这些几何对象的问题中,常需要了解其邻域中其他几何对象的信息。例如,在空中交通控制问题中,若将飞机作为空间中移动的一个点来看待,则具有最大碰撞危险的2架飞机,就是这个空间中最接近的一对点。这类问题是计算几何学中研究的基本问题之一。      问题描述:给定平面上n个点,找其中的一对点,使得在n个点的所有点对中,该点

2014-07-25 15:48:55 1915

转载 C++的函数重载

——每个现象后面都隐藏一个本质,关键在于我们是否去挖掘写在前面:函数重载的重要性不言而明,但是你知道C++中函数重载是如何实现的呢(虽然本文谈的是C++中函数重载的实现,但我想其它语言也是类似的)?这个可以分解为下面两个问题1、声明/定义重载函数时,是如何解决命名冲突的?(抛开函数重载不谈,using就是一种解决命名冲突的方法,解决命名冲突还有很多其它的方法,这里就不论述了)2、当

2014-07-18 09:48:23 412

转载 堆和栈的区别

堆和栈究竟有什么区别?    主要的区别由以下几点:    1、管理方式不同;    2、空间大小不同;    3、能否产生碎片不同;    4、生长方向不同;    5、分配方式不同;    6、分配效率不同;    管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。    空间大小:

2014-07-16 20:58:39 341

转载 C语言中volatile关键字的作用

一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的

2014-07-16 20:21:08 446

转载 C语言的编译链接过程详解

学过C语言的人都应该知道,我们所编辑的C语言程序是不能直接放到机器上运行的,它只不过是一个带".c"后缀的文件(也称为源代码)而已,需要经过一定的处理才能转换成机器上可运行的可执行文件。我们将对C语言的这种处理过程称为编译与链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织最终形成可执行代码的过程。编译

2014-04-27 16:38:09 1939

转载 C/C++程序内存布局

为什么需要知道C/C++的内存布局和在哪可以可以找到想要的数据?知道内存布局对调试程序非常有帮助,可以知道程序执行时,到底做了什么,有助于写出干净的代码。本文的主要内容如下:源文件转换为可执行文件可执行程序组成及内存布局数据存储类别一个实例总结源文件转换为可执行文件源文件经过以下几步生成可执行文件:1、预处理(preprocessor):对#include、#define、

2014-04-24 17:36:48 585

转载 Bloom Filter概念和原理

Bloom Filter概念和原理焦萌 2007年1月27日 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter

2014-04-11 10:59:51 362

转载 STL容器:set/map/multiset/multimap 与hash_set/hash_map/hash_multiset/hash_multimap

本文第一部分、从set/map谈到hashtable/hash_map/hash_set,简要介绍下set/map/multiset/multimap,及hash_set/hash_map/hash_multiset/hash_multimap之区别(万丈高楼平地起,基础最重要),第一部分、从set/map谈到hashtable/hash_map/hash_set    稍

2014-04-11 10:11:52 490

转载 堆排序及其分析

前言记得在学习数据结构的时候一味的想用代码实现算法,重视的是写出来的代码有一个正确的输入,然后有一个正确的输出,那么就很满足了。从网上看了许多的代码,看了之后貌似懂了,自己写完之后也正确了,但是不久之后就忘了,因为大脑在回忆的时候,只依稀记得代码中的部分,那么的模糊,根本不能再次写出正确的代码,也许在第一次写的时候是因为参考了别人的代码,看过之后大脑可以进行短暂的高清晰记忆,于是欺骗了我,以为

2014-03-28 14:36:44 420

转载 排序算法性能分析

一、基于比较的排序算法1.插入排序法直接插入排序,希尔排序,不常用的:Tree sort;Library sort:Patience sorting2.交换排序冒泡排序,快速排序,不常用的:鸡尾酒排序,奇偶排序3.选择排序直接选择排序,堆排序4.归并排序归并排序二、不基于比较的排序算法基数排序,桶排序三、空间,

2014-03-27 15:34:57 897

转载 网络爬虫基本原理(二)

四、更新策略    互联网是实时变化的,具有很强的动态性。网页更新策略主要是决定何时更新之前已经下载过的页面。常见的更新策略又以下三种:    1.历史参考策略    顾名思义,根据页面以往的历史更新数据,预测该页面未来何时会发生变化。一般来说,是通过泊松过程进行建模进行预测。    2.用户体验策略    尽管搜索引擎针对于某个查询条件能够返回数量巨大的结果,但是用户往往只关

2014-03-21 21:03:38 675

转载 网络爬虫基本原理(一)

网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。这篇博客主要对爬虫以及抓取系统进行一个简单的概述。一、网络爬虫的基本结构及工作流程    一个通用的网络爬虫的框架如图所示:    网络爬虫的基本工作流程如下:    1.首先选取一部分精心挑选的种子URL;    2.将这些URL放入待抓取URL队列;  

2014-03-21 21:02:45 781

转载 C语言中scanf/fscanf 的%[]和%n说明符的使用方法

#include "Stdio.h"#include "Conio.h"int main(void){char *str1;scanf("%[^\n]",str1);printf("%s",str1);  getch();  return 0;}该方法解决输入字符串时默认空格为结束字符的问题。“scanf("%[^\n]",str1);”表示

2014-03-17 21:19:02 778

原创 C语言通配符

%a,%A 读入一个浮点值(仅C99有效)    %c 读入一个字符    %d 读入十进制整数    %i 读入十进制,八进制,十六进制整数    %o 读入八进制整数    %x,%X 读入十六进制整数    %s 读入一个字符串,遇空格、制表符或换行符结束。    %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。    %p 读

2014-03-17 21:12:32 4165

转载 socket阻塞与非阻塞,同步与异步、I/O模型

1. 概念理解     在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->等待服务器处理->处理

2014-03-17 15:19:42 466

转载 细说Cookie

阅读目录开始Cookie 概述Cookie的写、读过程使用Cookie保存复杂对象Js中读写CookieCookie在Session中的应用Cookie在身份验证中的应用Cookie的安全状况如何在C#发请的请求中使用Cookie重构与使用总结补充Cookie虽然是个很简单的东西,但它又是WEB开发中一个很重要的客户端数据来源,而且它可以实现扩展性很好的会话状态, 所以我认

2014-03-14 21:45:15 449

转载 HTTP协议详解

当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HT

2014-03-14 19:53:44 356

转载 正则表达式30分钟入门教程

本文目标如何使用本教程正则表达式到底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负向零宽断言注释贪婪与懒惰处理选项平衡组/递归匹配还有些什么东西没提到联系作者网上的资源及本文参考文献更新纪录本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给

2014-03-14 16:07:51 436

转载 MFC中自定义消息

消息映射、循环机制是Windows程序运行的基本方式。VC++ MFC 中有许多现成的消息句柄,可当我们需要完成其它的任务,需要自定义消息,就遇到了一些困难。在MFC ClassWizard中不允许添加用户自定义消息,所以我们必须手动在程序中添加相应代码,以便可以象处理其它消息一样处理自定义消息。自定义消息的步骤如下:(1)建立Single Document的MFC Applica

2014-03-12 15:52:45 418

转载 Socket的阻塞模式和非阻塞模式

阻塞模式  Windows套接字在阻塞和非阻塞两种模式下执行I/O操作。在阻塞模式下,在I/O操作完成前,执行的操作函数一直等候而不会立即返回,该函数所在的线程会阻塞在这里。相反,在非阻塞模式下,套接字函数会立即返回,而不管I/O是否完成,该函数所在的线程会继续运行。在阻塞模式的套接字上,调用任何一个Windows Sockets API都会耗费不确定的等待时间。图所示,在调用re

2014-03-12 12:29:51 447

转载 搜索引擎技术之概要预览

前言    近些天在学校静心复习功课与梳理思路(找工作的事情暂缓),趁闲暇之际,常看有关搜索引擎相关技术类的文章,接触到不少此前未曾触碰到的诸多概念与技术,如爬虫,网页抓取,分词,索引,查询,排序等等,更惊叹于每一幅精彩的架构图,特此,便有记录下来的冲动,以作备忘。    本文从最基本的搜索引擎的概念谈起,到全文检索的概念,由网络蜘蛛,分词技术,系统架构,排序的讲解(结合googl

2014-03-10 13:31:43 1194

转载 linux僵尸进程产生的原因以及如何避免产生僵尸进程

给进程设置僵尸状态的目的是维护子进程的信息,以便父进程在以后某个时间获取。这些信息包括子进程的进程ID、终止状态以及资源利用信息(CPU时间,内存使用量等等)。如果一个进程终止,而该进程有子进程处于僵尸状态,那么它的所有僵尸子进程的父进程ID将被重置为1(init进程)。继承这些子进程的init进程将清理它们(init进程将wait它们,从而去除僵尸状态)。        但通常情况下,我

2014-03-09 18:47:41 565

原创 Python模块调用与执行

一、模块调用。复杂的程序都是多模块的,所谓的模块,在Python中就是一个py文件,不同的模块实现不同的功能。一个模块要调用其他模块里的东西,包括函数、变量等,需要“先导入模块”。这些模块都存放在同一目录下,才能在一个模块中导入并调用其他模块。导入方式有2种:1、 “import 模块(例如:import bo)”。使用方式是 bo.touch(),bo.xxx,…… 即引用的时候需要

2014-01-11 20:11:56 5732

转载 浅谈SIFT特征描述子

SIFT是我接触最早的图像局部特征描述子之一,其实最初,始终觉得局部特征描述子是些非常玄虚的东西。对于SIFT,这种感觉更是尤为强烈,“尺度空间”“拉普拉斯高斯算子(LoG)”“高斯差分金字塔”,一系列让人头痛的概念。不过,反反复复看了几次,渐渐也就有了感觉,在此总结一下。物体识别的核心问题是将同一目标在不同时间、不同分辨率、不同光照、不同位姿情况下所成的像相相匹配。而为了进行匹配

2014-01-06 12:36:55 854

转载 浅析人脸检测之Haar分类器方法

浅析人脸检测之Haar分类器方法由于工作需要,我开始研究人脸检测部分的算法,这期间断断续续地学习Haar分类器的训练以及检测过程,在这里根据各种论文、网络资源的查阅和对代码的理解做一个简单的总结。我试图概括性的给出算法的起源、全貌以及细节的来龙去脉,但是水平有限,只能解其大概,希望对初学者起到帮助,更主要的是对我个人学习的一次提炼。一、Haar分类器的前世今生人脸检测属于计

2014-01-02 19:24:18 710

转载 Deep Learning(深度学习)学习笔记整理

目录:一、概述二、背景三、人脑视觉机理四、关于特征4.1、特征表示的粒度4.2、初级(浅层)特征表示4.3、结构性特征表示4.4、需要有多少个特征?五、Deep Learning的基本思想六、浅层学习(Shallow Learning)和深度学习(Deep Learning)七、Deep learn

2013-12-31 19:31:59 2507

转载 中文计算机核心期刊排名及投稿信息

计算机核心期刊排名及投稿信息 文章分类:IT生活 1    计算机学报    北京    中国计算机学会等 2    软件学报    北京    中国科学院软件研究所 3    计算机研究与发展    北京    中国科学院计算技术研究所等 4    自动化学报    北京    中国科学院等 5    计算机科学    重庆    国家科技部西南信息中心 6   

2013-12-28 16:37:08 2649

转载 对主成分分析(PCA)算法的理解2

转载自http://www.cnblogs.com/liu-jun/archive/2013/03/20/2970132.html        以前对PCA算法有过一段时间的研究,但没整理成文章,最近项目又打算用到PCA算法,故趁热打铁整理下PCA算法的知识。本文观点旨在抛砖引玉,不是权威,更不能尽信,只是本人的一点体会。主成分分析(PCA)是多元统计分析中用来分

2013-12-25 19:58:11 1116

转载 如何学习机器学习的一点心得

以下内容转自:http://blog.csdn.net/lcjpure/article/details/8069704结合自己的学习经历,总结一下如何学习机器学习。我自己的学习过程其实是非常混乱和痛苦的,一个人瞎搞现在也不知道入没入门。希望能对其他想自学机器学习而找不到方向的人有一点点帮助。一、可以读读一些科普性的,综述性的东西。南京大学周志华教授写的科普文章《机器学习和数

2013-12-25 19:55:51 563

转载 再谈协方差矩阵之主成分分析

自从上次谈了协方差矩阵之后,感觉写这种科普性文章还不错,那我就再谈一把协方差矩阵吧。上次那篇文章在理论层次介绍了下协方差矩阵,没准很多人觉得这东西用处不大,其实协方差矩阵在好多学科里都有很重要的作用,比如多维的正态分布,再比如今天我们今天的主角——主成分分析(Principal Component Analysis,简称PCA)。结合PCA相信能对协方差矩阵有个更深入的认识~PCA的缘

2013-12-25 19:54:46 1002 2

转载 降维(一)----说说主成分分析(PCA)的源头

主成分分析(PCA) 在很多教程中做了介绍,但是为何通过协方差矩阵的特征值分解能够得到数据的主成分?协方差矩阵和特征值为何如此神奇,我却一直没弄清。今天终于把整个过程整理出来,方便自己学习,也和大家交流。提出背景       以二维特征为例,两个特征之间可能存在线性关系的(例如这两个特征分别是运动的时速和秒速度),这样就造成了第二维信息是冗余的。PCA的目标

2013-12-25 19:52:58 958

原创 K-L变换

假设有如下矩阵:其中,m和n分别为波段数(或称变量数)和每幅图像中的像元数;矩阵中每一行矢量表示一个波段的图像。    对于一般的线性变换Y=TX,如果变换矩阵T是正交矩阵,并且它是由原始图像数据矩阵X的协方差矩阵S的特征向量所组成,则此式的变换称为K-L变换。    K-L变换的具体过程如下:   第一步,根据原始图像数据矩阵X,求出它的协方差矩阵S。X的协方差矩阵为:

2013-12-25 19:50:39 4526

转载 C++常量折叠

转载自http://blog.csdn.net/yby4769250/article/details/7359278今天回顾了大学这几年学习C++的点点滴滴,在回顾了“常量折叠”这里时,突然困惑了,当时学习这点知识时的理解是:可折叠的常量像宏一样,在预编译阶段对常量的引用一律被替换为常量所对应的值,就和普通的宏替换没什么区别,并且,编译器不会为该常量分配空间。现在回顾起来,当时是多么的

2013-12-09 20:52:52 336

原创 C与C++类型强制转换总结

一、C 风格(C-style)类型强制转换    方法比较简单,如下所示:    TYPE1  A;    TYPE2  B;    A = (TYPE1)B; // 强制转换。    C++的四个类型强制转换符能做的,C风格的类型转换都能做。区别在于:C的强制类型转换,只是转换2个变量的类型,并不检测2个变量的之间的关系;C++的强制类型转换,会检测2个变量之间的关系,再转换

2013-12-09 19:07:47 4511

原创 多维数组详解

一、数组的逻辑结构    数组作为一种数据结构其特点是结构中的元素本身可以是具有某种结构的数据,但属于同一数据类型。  比如:一维数组可以看作一个线性表;                       二维数组可以看作“数据元素是一维数组”的一维数组;           等价于            三维数组可以看作“数据元素是二维数组”的一维数组;

2013-12-06 17:24:23 4350

原创 结构体拾遗补缺2:结构体的位域(位段)

一、位域的定义    有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同

2013-12-02 22:06:21 762

原创 结构体拾遗补缺1:内存对齐与sizeof

一、结构体字节对齐      为什么需要字节对齐?计算机组成原理教导我们这样有助于加快计算机的取数速度,否则就得多花指令周期了。为此,编译器默认会对结构体进行处理(实际上其它地方的数据变量也是如此),让宽度为2的基本数据类型(short等)都位于能被2整除的地址上,让宽度为4的基本数据类型(int等)都位于能被4整除的地址上,以此类推。这样,两个数中间就可能需要加入填充字节,所以整个结构体

2013-12-02 14:30:39 1091

转载 C++命名空间

一、 为什么需要命名空间(问题提出)    命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。    在C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。     1、全局变量的作用域是整个程序,在同一

2013-11-27 22:22:28 542

转载 海量数据处理2:秒杀99%的海量数据处理面试题

转载自http://blog.csdn.net/v_july_v/article/details/7382693前言   一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性

2013-11-27 17:02:24 765

转载 海量数据处理:十道面试题与十个海量数据处理方法总结

转载自http://blog.csdn.net/v_JULY_v/article/details/6279498    第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。      首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,

2013-11-27 16:54:19 420

空空如也

空空如也

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

TA关注的人

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