自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 二叉树排序

二叉树排序时间复杂度为o(nlogn),空间复杂度为o(n)其思想就是构建一棵二叉排序树,然后我们中序输出就行了。

2013-04-26 16:25:36 612

转载 BAIDU--suggestion function

今年的百度实习生笔试题中有个题是:相信大家都使用过百度搜索框的suggestion功能,百度搜索框中的suggestion提示功能如何实现?请给出实现思路和主要的数据结构、算法。有什么优化思路可以使得时间和空间效率最高?   这个题的基础实现方法是使用Trie树, 原理部分摘用别的.      (代码部分我增加了findTips功能, 这里采用方法1,空间要求最大 26^n,,若是汉字

2013-04-26 14:24:31 735

原创 火车座位分布图

每逢放假,总是要忙着订票。干脆就把相关座位图保存下来。  一般来说硬座车厢座位号尾数为0,4,5,9的座位是靠车窗的,座位号尾数为2,3,7,8的座位是靠过道的。       032号和033号座位是挨着的,但是之间有过道隔开。附图如下:

2013-04-25 14:44:45 10350

转载 随即概率发生器

题目:已知一随机发生器,产生0的概率是p,产生1的概率是1-p,现在要你构造一个发生器,使得它构造0和1的概率均为1/2解决方案:这是随机概率发生器的典型题目。由于需要产生1/2,而用1位0,或1位1无法产生等概率,因此,考虑将随机数扩展成2位:00   p*p01  p*(1-p)10  (1-p)*p11 (1-p)*(1-p)有上述分析知道,01和10

2013-04-25 14:42:26 777

转载 shell脚本方法总结

bash shell脚本执行方法总结bash shell 脚本的方法有多种,现在作个小结。假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:cd /data/shell  ./hello.sh./的意思是说在当前的工作目录下执行hello

2013-04-23 10:53:11 629

转载 在内核中分配连续的物理内存

kernel version 2.6.29 内核函数常常需要临时分配一块任意大小的物理地址连续的内存空间. 所以先介绍内核中两个分配物理地址连续的内存空间的API.kmalloc由于采用了SLUB作为默认内存分配器, 所以 kmalloc 工作于 SLUB 分配器之上。内核初始化时,创建一组共 13 个通用对象的缓冲区。kmalloc_caches 数组存放了这些缓冲区的 kmem_c

2013-04-22 14:34:47 1352

转载 Tcp 连接,中断详细解说

今天又温顾了下TCP的三次握手,四次解手。咱废话也不多说了 ,直接上图详细解说。 1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数

2013-04-21 14:57:25 1073

原创 xx公司的笔试有感

今天大老远的跑去复旦笔试,淋了一身湿,素不知我们祖国的四川又发生地震了。祈福。好久没投简历,找是实习单位了,做了试卷,感觉都是特别基础的。回来后觉得有必要总结下,应对第一轮面试。1,关于a=-1;a--;按照c上面操作符的优先级的,-,--是属于同一个优先级层次,并且按照从右往左的顺序执行。这里a--,执行完,a的数值还是不变的,执行完之后,a的数值才会发生变化,区别--a其他跟-

2013-04-20 22:10:46 636

原创 linux c-setjmp,longjmp

在中,定义了setjmp(jmp_buf envbuf),longjmp(jmp_buf envbuf,int val) 在第一次调用setjmp()的时候其返回值是0;longjmp函数中的参数envbuf是由setjmp函数所保存的堆栈环境,参数val设置setjmp函数的返回值。longjmp函数本身是没有返回值的,它执行后跳转到保存envbuf参数的setjmp函数调用,并由s

2013-04-19 13:37:42 731

转载 linux time()

#include   time_t   time(time_t   *calptr) 这是time函数基本框架   指针指向的一串数字达不到毫秒极的信息。 然后使用以下两个函数将其进行标准时间转换 #include   struct   tm   *gmtime(const   time_t   *calptr)           /*将其转换为国际标准时间*/ st

2013-04-16 15:16:43 504

转载 解析/proc/cpuinfo

processor 条目包括这一逻辑处理器的唯一标识符。 physical id 条目包括每个物理封装的唯一标识符。 core id 条目保存每个内核的唯一标识符。 siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。 cpu cores 条目包含位于相同物理封装中的内核数量。 如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel

2013-04-16 10:06:14 698

原创 shell一些常用命令的随笔

grep : 对于grep 命令,我们如果涉及到+,?,|,(),x{m},我们需要利用其扩展部分,后跟参数-E其中|,我这里特别强调下,就是提取多个关键字特别好用,|前后的关键不要有空格。awk:其中BEGIN,END也是我需要强调的。BEGIN表示扫面之前就开始执行,END则是扫面完成后我们再执行比如file1 2 3 43 4 5 6我现在需要将第二行的$1,

2013-04-14 18:20:39 489

转载 linux 进程,作业控制,控制终端,会话期

最近看书的时候,发觉看的比较糊涂了,这些概念被抹的特别乱。先整理下,希望对我们以后的理解有所帮助。进程:是一个程序在其自身的虚拟地址空间的一次执行活动。程序只是静态的数据和指令的集合,进程是一个程序的动态执行过程,具有生命周期,是动态产生和消亡的。------------------系统启动后的第一个进程是init,pid是1,是内核唯一直接运行的进程,系统启动后,init进程

2013-04-12 15:17:19 1826 2

原创 linux 中的sysconf(),times()

#include clock_t times(struct tms *buf)结构体tms的每个成员变量的类型也是clock_t  (滴答数)此函数返回的是墙上时钟时间(时钟时间:程序执行的实际时间)单位是滴答sysconf(int name)返回当前变量的数值sysconf(_SC_CLK_TCK)返回的是每秒的滴答数

2013-04-12 09:45:43 686

转载 linux 中的execl的一些简单的理解

extern int execl(_const char *_path,const char *_argv[],...,NULL)简单解释:函数execl()返回值定义为整形,如果执行成功将不返回!执行失败返回-1。                  参数列表中char *_path为所要执行的文件的绝对路径,从第二个参数argv开始为执行新的文件所需的参数,最后一个参数必须是控指针(我为

2013-04-11 22:57:38 838

原创 关于linux中的实际用户,有效用户,设置-用户-ID位

不知道有没比较留心的同学会发现这三个概念,有点混淆。我们举个例子就知道了例如kevin用户的uid和gid分别为204和202,foo用户的uid和gid为 200,201,myfile是属于foo用户的如果一个程序(就是某个文件)设置了SUID,则euid(effective user id)和egid变成被运行的程序的所有者的uid和gid,例如kevin用户运

2013-04-11 01:19:58 538

转载 linux 安装应用软件的常用办法

LINUX 下安装软件方法命令方法怎么安装应用软件?    我的软件安装在什么地方?    如何删除不要的应用软件?    ……    下面,我们就一起来认识一下这些方面的问题。    一、 解析Linux应用软件安装包:    通常Linux应用软件的安装包有三种:    1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的

2013-04-08 16:52:11 556

转载 利用ubench测试cpu,内存性能

我们可以在网上下载http://www.phystech.com/?/download/,因为我运行的环境redhat,./config &&make&&make install的过程,会出现编译错误,比如CLK_TCK这些宏不认识。所以我推荐大家去下载一个包括相关头文件的,这里我不知道怎么上传文件,需要的可以留邮箱这个时候我们进行编译就会成功啦。 freebench: 在

2013-04-08 16:11:04 4244 2

转载 python 中lambda

lambda读音跟我们读初中还是高中学的那个兰不打 希腊字符lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:def f(x):return x**2print f(4)Python中使用lambda的话,写成这样g = lambda x : x**2print g(4) lambda表达式在很多编程语言都有对应

2013-04-02 15:50:26 558

转载 关于linux 文件系统中的目录,目录项,硬链接,符号链接

最近因为这个目录中的目录项搞的很晕乎了,一直不清楚什么事目录项,而且符号链接也有点含糊,这里转载了一篇文章感觉写的比较好。我们先来说说目录,目录项的问题:在Linux操作系统中,目录就是目录文件。一个目录文件包含了一组目录项,目录项是放在data block中的。一个目录项主要包括了文件名和索引节点号,索引节点号是指向索引节点表( system inode table )中

2013-03-29 00:29:34 3121 1

原创 关于shell 多行注释

今天看了一个帖子,发现这个办法特别好用。if false; then..fi

2013-03-28 13:32:33 572

转载 关于python strip

strip是trim掉字符串两边的空格。lstrip, trim掉左边的空格rstrip, trim掉右边的空格 theString = 'saaaay yes no yaaaass' print theString.strip('say') theString依次被去除首尾在['s','a','y']数组内的字符,直到字符在不数组内。所以,输出的结果为: yes no

2013-03-27 18:28:56 549

转载 关于bc,expr在shell里面的运用

http://blog.csdn.net/linco_gp/article/details/4517945关于bc不得不说两句,我们可以发现利用参数scale=2,虽然可以保留小数点后面的两位,但是如果前面的整数位是0,则没有显示出来,只是.XX这里我们有个方法可以让其显示出0SYS=`expr "scale=2;a=1/2;if(length(a)==scale(a)) print

2013-03-26 13:19:06 770

原创 作图工具

1matlab gnu octave scilab

2013-03-20 10:02:52 452

转载 关于Msys

今天因为画图的原因,学习了下MsysWinows的CMD命令行功能有限,在《设置CMD命令提示符更方便使用的几个技巧》一文中介绍了将CMD进行改造使其更加方便的方法。如果你习惯了Linux下面命令行的方便,或者想在Winows中体验一下Linux命令行,怎么办呢。可以使用Cygwin,这是多种Linux命令及应用到Windows的移植系统,包括一些图形界面工具。但是,功能体积都太庞大了

2013-03-15 16:37:41 882

原创 crontab用法

今天要dump一些数据,所以就看下crontab。写一下简单的感想 在linux中,crontab这个命令是进行编辑,修改,删除相应的操作,实际施行的(deamon)crond来读取执行。而这个服务属于系统级别的,所以一般默认开启的。当然我们可以/etc/init.d/crond restart 或者start来开启。 在etc/cron.deny文件,其目的就是将不可使用cr

2013-03-15 10:32:48 612

转载 今天看到了一个关于学习英语的帖子,学习下

本文作者三年间从四级勉强及格到高级口译笔试210,口试232。找工作面试时给其口试的老外考官听了一分钟就说你的英语不用考了。虽不敢说方法一定是最好的,但从现在开始随便谁不要再去找学习资料,每天花两个钟头照说的做,坚持三个月的提高会超过你过去三年。听:网上比较有代表性的论坛是普特www.putclub.com上面的听力资源很丰富,沪江www.hjenglish.com和旺旺www.wwengli

2013-03-12 14:04:46 1220 1

原创 shell here 文档 || #!

1我们在写sh脚本的时候,会需要将多行的文本传递给某一命令,这是here 文档的作用就出来了read KEY VALUE                                $(echo $DATA | awk 'BEGIN {FS='#'}{print $1,$2}'')HERE其中here文档中间的数据分很多行,需要我们读取到KEY VALUE 2关于shel

2013-03-08 14:26:30 545

原创 vbox--共享window里面的文件

我的环境: win7+ubuntu问题:./sbin/mount.vboxsf:mounting failed with the error:No such device这个问题出现,按照网上有的说法运行了下增强功能VboxL......run这个脚本。得到改善。但是出现了另外一个问题,mount:unknown filesystem type 'vboxsf'也是在网上找了很多了

2013-03-03 21:08:51 3782 1

转载 oprofile 消除invalid arguments LLC_REFS or LLC_MISSES

opcontrol -l 该指令列出所有能够监控的事件[root@asus asus]# opcontrol --no-vmlinux[root@asus asus]# opcontrol --setup --event=LLC_REFS:6000[root@asus asus]# opcontrol --start完成之前的程序的初始化如果出现timer mode 说明出现冲

2013-02-22 16:47:34 1207

转载 linux输入输出重定向

Linux环境中支持输入输出重定向,用符号来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>lee.dat 表示将错误信息输出到文件lee.dat中。同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现。Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所

2013-02-15 20:24:28 416

转载 安装oprofile

折腾一下午,起初是系统版本低,安装更新了一下午,然后换了一个software 源,选择的是server china ,进行sudo apt-get install oprofile,才安装成功,起初一直用的网易的源。  可以打入“whereis php”命令来显示程序的位置。或者打入“locate php”命令来显示包含php的文件名或目录名及路径。   1.

2013-02-15 18:59:44 2425

转载 c++中new一个二维数组

比如int a[rows][cols]int **a =new  int*[rows];for(int i=0;i           a[i]=new int[cols];           for(int j=0;j                      a[i][j]=i;           }}for(int i=0;i     delete[]

2012-12-03 21:47:10 674

原创 关于腾讯面试的一道题目

1.在Excel2003中,用A表示第1列,B表示第2列。。。Z表示第26列,AA表示第27列,AB表示第28列。。。以此类推。请写出一个函数,输入用字母表示的列号编码,输出它是第几列。这个题目的思路就是进制的转化,实现26->10的实现。

2012-11-20 18:26:36 478

转载 find与exec ,xargs的组合操作

#find ./ -type f -name "*.swp"|xargs rm -rf #find . -name "*.cpp" -exec grep "SoapEvMessage" \; -print #find ... -exec rm {} \;  #find ... | xargs rm -rf 两者都可以把find命令查找到的结果删除,其区别简单的说是前者是

2012-10-12 14:02:11 495

转载 css选择器

写的很不错,算是一篇扫盲篇。支持下; CSS是一种用于屏幕上渲染html,xml等一种语言,CSS主要是在相应的元素中应用样式,来渲染相对应用的元素,那么这样我们选择相应的元素就很重要了,如何选择对应的元素,此时就需要我们所说的选择器。选择器主要是用来确定html的树形结构中的DOM元素节点。我把CSS选择器分开成三部分,第一部分是我们常用的部分,我把他叫做基本选择器;第二部分我把他称作是

2012-10-09 14:45:35 417

转载 二级指针与二维数组

二级指针和二维数组(转)一个函数形如:void f(float **p){/* 想要在函数体中按二维数组的方式访问*/    p[1][1] = 0;//c++用vc编译ok,运行出错(非法访问)}float **p; //其实这里的p并不是一个二位数组的指针,只不过是一个指向指针的指针像你这样访问肯定是会出问题的。例如:float a[2][2]={0,1,2

2012-09-25 10:00:24 1028

原创 找出 k个最小的数据

1,从海量数据中找出k个最小的数据,前提是硬盘能够装下这些海量数据,k个最小的数据能够同时装入内存。这里我们采用的策略是建立大顶堆。

2012-09-22 14:20:52 1087

原创 找出第k大的数字

1,假设我们所要找的数据集合是有限的集合,并且可以同时放入内存中,后续的海量数据我们再讨论。题设条件,根据算法导论,利用顺序统计法,左边的数据会大于特定的数字,右边会小于特定数字,然后我们对比数字对应的下标跟K,在选择递归

2012-09-21 19:59:56 1158

转载 bit-map

1,所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。【适用范围】可进行数据的快速查找,判重,删除,一般来说数据范围是int的10倍以下【基本原理及要点】使用bit数组来表示某些元素是否存在,比如8位电话号码【扩展】Bloom filter可以看做是对bit-map

2012-09-20 13:23:11 539

空空如也

空空如也

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

TA关注的人

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