关闭

Binary Tree Zigzag Level Order Traversal

Binary Tree Zigzag Level Order Traversal Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 return its zigzag level order traversal as: [ [3], ...
阅读(43) 评论(0)

构造函数析构函数是否为虚函数

1 构造函数不能为虚函数,原因主要如下 虚函数的调用需要虚函数表指针,而该指针存放在对象的内容空间中。内存空间需要构造函数完成初始化;若构造函数声明为虚函数,那么由于对象还未创建,还没有内存空间,更没有虚函数表地址用来调用虚函数——构造函数了。 2 析构函数可以为虚函数 首先析构函数可以为虚函数,而且当要使用基类指针或引用调用子类时,最好将基类的析构函数声明为虚函数,否则可以存在内存...
阅读(81) 评论(0)

hadoop之MapReduce

MapReduce1.0 MapReduce是Hadoop的一大核心,它是是一种编程模型,针对TB级别的海量数据并行完成数据的数据提取、分析和优化,它具有以下特征: 1 本身是一种编程模型框架,思想是分而治之 2 处理的对象是海量数据 3 在大规模集群,HDFS存储 4 并行计算 工作实体主要有4个 客户端:提交MapReduce作业 JobTracker:协调作业运行 Ta...
阅读(76) 评论(0)

单链表有环问题

面试中单链表有环问题及其变形单链表是否相交是比较常见的问题,这里总结如下 1判断是否有环,引入slow==slow->next慢指针和fast=fast->next->next,这两个指针如果有环则迟早相遇 //是否有环 struct node{int val;node* next;}; bool ishoop(node *h){ node *slow=h; node *fast=h; whi...
阅读(83) 评论(0)

MVC的转载

一、什么是MVC     1、概念         MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理...
阅读(96) 评论(0)

自定义memcpy和strcpy

memcpy memcpy是C语言中的内存复制函数,它的函数原型: void *memcpy(void *dest,const void *src,int size)它的目的是将SRC指向地址为起始地址的连续size 个字节的数据复制到dest指向的地址为起始地址的空间内,注意这两块内存区域不能重叠,同时与strcpy相比,没有遇到'\0'截止一说而是一定赋值size个字节,而且可以用来复制任...
阅读(148) 评论(0)

已知randx构造randx+n

例如如何根据随机函数rand7()来构造rand10()函数。已知rand7()函数返回1-7的随机数,那么rand7()-1将得到一个离散整数集合{0,1,2,3,4,5,6},该集合中每个整数的出现概率1/7,那么(rand7()-1)*7将得到另一个离散整数集合A={0,7,14,21,28,35,42},其中每一个概率也是1/7。而rand7()得到的集合B={1,2,3,4,5,6,7}...
阅读(103) 评论(0)

设计模式初见

常见分类 1 创建型 创建对象时,不再由我们直接实例化对象;而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能、更好的架构优势。创建型模式主要有简单工厂模式(并不是23种设计模式之一)、工厂方法、抽象工厂模式、单例模式、生成器模式和原型模式。 2 结构性 用于帮助将多个对象组织成更大的结构。结构型模式主要有适配器模式adapter、桥接模式bridge、组合器模式compon...
阅读(75) 评论(0)

C++ boost

Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。 Boost中比较有名气的有这么几个库: Regex:正则表达式库; Spirit LL parser f...
阅读(149) 评论(0)

数据库索引

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。 为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为...
阅读(116) 评论(0)

Linux 下几款程序内存泄漏检查工具

1.内存管理是否正确(因为这个程序本身开辟很多内存空间进行缓存管理,同时这个程序程序本身就是基于C/C++开发的,内存管理机制一直是程序员头痛的东西)2.程序的健硕性如何(服务器任何程序的基本要求就是要满足高并发的要求,也就是说,如果达不到这个基本要求,程序并并不能成为服务器) 针对第一点,以下将介绍几款内存泄漏检查工具 工具 描述 valgri...
阅读(110) 评论(0)

libevent的了解

概念 libevent是一个轻量级的开源的高性能的事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。 它被众多的开源项目使用,例如大名鼎鼎的memcached等。 特点: 事件驱动,高性能; 轻量级,专注于网络(相对于ACE); 开放源码,代码相当精炼、易读; 跨平台,支持Windows、Lin...
阅读(181) 评论(0)

MemCache的了解

MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。 MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。MemCache设计理念...
阅读(111) 评论(0)

面试算法之范围搜索问题

例1:平面上百万个点,设计数据结构求每个点最近的k个点 例2:游戏中打怪时已经各个小怪的坐标,你放一个技能是圆形范围,快速求能打到的小怪 KD树:http://www.cnblogs.com/v-July-v/archive/2012/11/20/3125419.html 最近邻搜索: k近邻搜索: 参考: http://blog.csdn.net/da...
阅读(179) 评论(0)

mmap

概念 mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进...
阅读(99) 评论(0)
278条 共19页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:143842次
    • 积分:3895
    • 等级:
    • 排名:第8984名
    • 原创:243篇
    • 转载:35篇
    • 译文:0篇
    • 评论:20条
    最新评论