自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

今晚打老虎

所有博文纯为个人学习笔记

  • 博客(28)
  • 收藏
  • 关注

转载 Linux每天一点Linux文件存储结构

本文转载http://c.biancheng.net/cpp/html/2733.html C语言中文网,仅方便学习大部分的Linux文件系统(如ext2、ext3)规定,一个文件由目录项、inode和数据块组成:目录项:包括文件名和inode节点号。Inode:又称文件索引节点,包含文件的基础信息以及数据块的指针。数据块:包含文件的具体内容。先说inode理解inode,

2016-09-30 23:23:09 357

转载 Linux每天一点进程管理

本文转载http://c.biancheng.net/cpp/html/2733.html C语言中文网当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰。这个特殊的环境就称为进程。每个 Linux 命令都与系统中的程序对应,输入命令,Linux 就会创建一个新的进程。例如使用 ls 命令遍历目录

2016-09-30 21:17:53 321

转载 经典算法面试题及答案

经典算法面试题及答案 1. 时针分针重合几次表面上有60个小格,每小格代表一分钟,时针每分钟走1/12小格,分针每分钟走1小格,从第一次重合到第二次重合分针比时针多走一圈即60小格,所以60/(1-1/12)=720/11每隔720/11分才重合一次(而并不是每小时重合一次)1440里有22个720/11,如果说算上0点和24点,那也

2016-09-25 02:26:47 2057

转载 C++的Json解析库:jsoncpp和boost

JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式,了解json请参考其官网http://json.org,本文不再对json做介绍,将重点介绍c++的json解析库的使用方法。json官网上列出了各种语言对应的json解析库,作者仅介绍自己使用过的两种C++的json解析库:jsoncpp(v0.5.0)和Boost(v1.34.0)。 一.

2016-09-25 02:00:59 607

转载 如何处理海量数据(转)

在实际的工作环境下,许多人会遇到海量数据这个复杂而艰巨的问题,它的主要难点有以下几个方面:一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至 过亿,那不是手工能解决的了,必须通过工具或者程序进行处理,尤其海量的数据中,什么情况都可能存在,例如,数据中某处格式出了问题,尤其在程序处

2016-09-24 23:34:31 409

原创 进程、线程

1)进程:计算机中已运行程序的实体2)程序是指令的集合,进程才是程序的真正运行,同一程序可产生多个进程(一对多的关系),以允许同时多位用户运行同一程序,却不会产生冲突3)进程需要一些资源才能完成工作,如CPU时间,存储器,文件以及IO设备,且依序逐一进行,即任何时间内仅能运行一项进程。3种基本状态运行状态:单处理器每时刻最多只一个进程处于运行就绪状态:进程已处于准备

2016-09-22 22:12:11 366

转载 深度优先搜索与广度优先搜索

转载http://blog.csdn.net/andyelvis/article/details/1728378有两种常用的方法可用来搜索图:即深度优先搜索和广度优先搜索。它们最终都会到达所有连通的顶点。深度优先搜索通过栈来实现,而广度优先搜索通过队列来实现。  深度优先搜索:下面图中的数字显示了深度优先搜索顶点被访问的顺序。为了实现深度优先搜索,首先选择一个起始顶点并需要

2016-09-21 16:59:30 358

原创 sizeof(程序员求职宝典)

单目运算符,不是函数,以字节形式给出了其操作数的存储大小,计算发生在编译时刻,所以它可当做常量表达式使用,且会忽略其括号内的各种运算,如"sizeof(a++);"中的++不执行sizeof的使用方法1)用于变量sizeof(var_name)或sizeof var_name 可以不用括号,但是用更常见2)用于数据类型sizeof(type) 必须使用括号sizeof(

2016-09-17 23:05:21 479

转载 给定N张扑克牌和一个随机函数,设计一个洗牌算法

假定N=54,首先,我们有一个随机函数发生器,能够产生1-54之间的随机数,如何保证抽第一张牌是54中可能,抽第二张牌是53中可能,……可以这样做,假设扑克牌是一个54维的数组card, 我们要做的就是从这个数组中随机取一个元素,然后在剩下的元素里再随机取一个元素… 这里涉及到一个问题,就是每次取完元素后,我们就不会让这个元素参与下一次的选取。int index=i+rand(

2016-09-14 17:02:42 1194

原创 面试14:调整数组顺序使奇数位于偶数前面

1)从头扫描数组,碰到偶数拿出,后面数字前挪,这个偶数放在最后每碰到偶数移动O(n),时间复杂度为O(n^2)2)两个指针,第一个指向数组的第一个数字,向后移动,第二个指针指向数组的最后一个数字,它指向数组最后的数字,相遇前,如果第一个指针指向的数字是偶数,第二个指针指向数字是奇数,交换这两个数字void ReorderOddEven(int *pData,unsigned

2016-09-13 23:08:53 256

转载 Linux每天一点ifconfig

http://www.cnblogs.com/peida/archive/2013/02/27/2934525.html来自竹子的博客许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器

2016-09-11 16:35:56 226

转载 Linux/Window下socket

在Linux中,一切都是文件,除了文本文件、源文件、二进制文件等,一个硬件设备也可以被映射为一个虚拟的文件,称为设备文件。例如,stdin 称为标准输入文件,它对应的硬件设备一般是键盘,stdout 称为标准输出文件,它对应的硬件设备一般是显示器。对于所有的文件,都可以使用 read() 函数读取数据,使用 write() 函数写入数据。“一切都是文件”的思想极大地简化了程序员的理解和

2016-09-11 11:55:10 1610 1

原创 面试11:数值的整数次方

1)残缺解法:double Power(double base,int exponent){ double result=1.0; for(int i=0;i<=exponent;++i) result*=base; return reslut;}没有考虑输入指数小于1(0或负数)2)底数是零且指数是负数的时候,会对0求倒数导致程序出错   0的0次方是没有意义的

2016-09-11 00:31:52 241

原创 Linux每天一点管道命令与选取命令

管道命令简单管道命令:ls -al /etc | lessls /etc 查阅/etc下的有多少文件,但有可能塞满屏幕,可利用less命令翻动其用途:“|”仅能处理经由前面一个命令传来的正确信息,standard output的信息。对于standard error没有直接处理能力处理示意图:注意:每个管道后面接的第一个数据必定是“命令”,且这命令必须能够接

2016-09-09 18:06:36 464

原创 Linux每天一点变量

变量显示:echo $variableecho $PATH或echo ${PATH} 加了边界设置修改myname=wmjecho $myname在bash中,当一个变量名称未被设置时,默认内容为“空”变量的设置规则1)“=”连接,其两边不能直接接空格符2)变量名称只能为英文与数字,数字不能开头3)变量内容有空格符可使用“”或‘’,“”里面特殊字符保持特性,

2016-09-09 15:47:19 362

原创 面试12:打印1到最大的n位数

1)陷进解法:void Print1ToMaxOfNDigits_1(int n){ int number=1; int i=0; while(i++<n) number*=10; for(i=1;i<number;++i) printf("%d\t",i);}没有规定n的范围,可能溢出,需考虑大数问题2)字符串上模拟加法运算数字最大n位,需要长度为n+

2016-09-09 00:32:10 315

原创 C++get函数

ifstream的get()用法  get()函数比较灵活,有3种常用的重载形式,实际有6种重载:  int get();  istream& get ( char& c );  istream& get ( char* s, streamsize n );  istream& get ( char* s, streamsize n, char delim );  istr

2016-09-07 20:47:05 24263

原创 面试30:最小的K个数(top K问题)

解法一:O(n),缺点修改了输入数组void GetLeastNumbers(int* input ,int n,int *output,int k){ if(input==NULL||output==NULL||k>n||n<=0||k<=0) return; int start=0; int end=n-1; int index=Partition(input,n,start

2016-09-07 15:29:16 369

原创 计算机网络之超文本传送协议 HTTP

HTTP 是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。 HTTP 的主要特点HTTP 是面向事务的客户服务器协议。HTTP 1.0 协议是无状态的(stateless)。HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。万维网浏览器就是一个

2016-09-06 15:32:24 802

原创 面试题37:两个链表的第一个公共结点

题目:输入两个链表,找出它们的第一个公共结点1)蛮力法O(mn)2)利用栈,空间O(m+n)换时间O(m+n),链表入栈,比较栈顶,找最后一个相同的3)求出两个链表的长度,较长的先走两链表差值步,然后同时遍历,找到第一个相同的结点O(m+n)ListNode* FindFirstCommonNode(ListNode* pHead1,ListNode *pHead2){

2016-09-06 15:08:00 254

原创 基于顺序搜索的动态分区分配算法

有以下四种算法:最佳适应法最坏适应法首次适应法下次适应法(循环首次适应法)1)首次适应算法(First Fit):从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法目的在于减少查找时间。为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高地址空间保留大

2016-09-05 21:20:10 7651

转载 进程同步的基本概念:临界资源、同步和互斥

在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,引入了进程同步的概念。临界资源虽然多个进程可以共享系统中的各种资源,但其中许多资源一次只能为一个进程所使用,我们把一次仅允许一个进程使用的资源称为临界资源。许多物理设备都属于临界资源,如打印机等。此外,还有许多变量、数据等都可以被若干进程共享,也属于临界资源。对临界资源的访

2016-09-05 13:33:14 5840

原创 面试15:链表中倒数第K个结点

思路:两个指针一前一后,相差k-1,当后指针到达最后一个结点时,前一指针正好指向是所求结点ListNode *FindKthToTail(ListNode* pListHead,unsigned int k){ if(pListHead==NULL||k==0) return NULL; ListNode *pAhead=pListHead; ListNode *pBehi

2016-09-04 22:58:27 238

原创 平衡二叉树

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。bool IsBalanced(TreeNode *root, int & dep){ if(root == NULL){ return true; } int left = 0; int right = 0; if(IsBa

2016-09-04 22:19:25 189

原创 面试24:二叉搜索树的后序遍历序列

思路:找根结点,其左子树应小于它的值,右结点大于它的值,然后递归bool VertifySquenceOfBST(int sequence[],int length){ if(sequence==NULL||length<=0) return false; int root=sequence[length-1]; //左子树结点小于根结点 int i=0; for(;i<len

2016-09-04 22:03:57 194

转载 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]

二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]http://www.blogjava.net/fancydeepin/archive/2013/02/03/CPP_BinaryTreeSearch.html  深度优先搜索算法(Depth First Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过

2016-09-04 13:33:20 458

原创 运算符重载

本博文简记运算符重载的一些要点C++对运算符重载做了诸多的限制。1) 首先,并不是所有的运算符都可以重载。能够重载的运算符包括:+  -  *  /  %  ^  &  |  ~  !  =    +=  -=  *=  /=  %=  ^=  &=  |=>  >=  ==  !=  =  &&  ||  ++  --  ,  ->*  ->  ()  []new  new[

2016-09-02 00:38:51 313

原创 哈夫曼编码

编码:文本中的字符赋予一串比特位定长编码变长编码:较短的比特串给常用字符                   较长比特串给不常用字符前缀码:所有的比特串都不是另一个字符比特串的前缀考虑将字符和二叉树的叶子联系起来形成前缀码哈夫曼编码是广泛地用于数据文件压缩的十分有效的编码方法。其压缩率通常在20%~90%之间哈夫曼编码算法用字符在文件中出现的频率表来建立一个用0,1

2016-09-01 12:20:53 681

空空如也

空空如也

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

TA关注的人

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