自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

转载 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离

最大子序列最大子序列是要找出由数组成的一维数组中和最大的连续子序列。比如{5,-3,4,2}的最大子序列就是 {5,-3,4,2},它的和是8,达到最大;而 {5,-6,4,2}的最大子序列是{4,2},它的和是6。你已经看出来了,找最大子序列的方法很简单,只要前i项的和还没有小于0那么子序列就一直向后扩展,否则丢弃之前的子序列开始新的子序列,同时我们要记下各个子序列的和,最后找到和最大的子序

2014-08-30 09:50:33 657

原创 《TCP-IP详解卷1:协议》读书笔记四 ARP地址解析协议

2014-08-26 14:10:46 826

转载 浅析linux内核中的idr机制

idr在linux内核中指的就是整数ID管理机制,从本质上来说,这就是一种将整数ID号和特定指针关联在一起的机制。这个机制最早是在2003年2月加入内核的,当时是作为POSIX定时器的一个补丁。现在,在内核的很多地方都可以找到idr的身影。       idr机制适用在那些需要把某个整数和特定指针关联在一起的地方。举个例子,在I2C总线中,每个设备都有自己的地址,要想在总线上找到特定的设备,就

2014-08-25 16:05:59 1635

转载 linux常用命令:netstat、ping、ifconfig

名称:netstat功能说明:显示网络状态。语  法:netstat [-acCeFghilMnNoprstuvVwx][-A][--ip]补充说明:利用netstat指令可让你得知整个Linux系统的网络情况。参  数:  -a或--all   显示所有连线中的Socket。  -A或--   列出该网络类型连线中的相关地址。  -c或--continuous  

2014-08-25 13:56:56 1049

原创 《TCP-IP详解卷1:协议》读书笔记三 IP网际协议

2014-08-25 13:39:27 760

原创 《TCP-IP详解卷1:协议》读书笔记二 链路层

2014-08-25 10:36:10 839

原创 TCP/IP各层协议、工作设备、网络地址划分总结 《TCP-IP详解卷1:协议》读书笔记一 概述(内附思维导图)

私有IP地址的范围: 10.0.0.0—10.255.255.255 172.16.0.0-172.31.255.255 192.168.0.0-192.168.255.255

2014-08-24 19:05:05 3433

转载 CFS中的虚拟运行时间vruntime

一直对CFS(Completely Fair Scheduling,完全公平调度)中的虚拟运行时间(vruntime)不太理解,最近在看cgroup中的cpu子系统算是搞清楚了它是怎么回事。先简单说一下CFS调度算法的思想:理想状态下每个进程都能获得相同的时间片,并且同时运行在CPU上,但实际上一个CPU同一时刻运行的进程只能有一个。也就是说,当一个进程占用CPU时,其他进程就必须等待。CFS

2014-08-24 15:12:02 5342

原创 Linux内核设计与实现读书笔记三——进程管理(内附思维导图)

2014-08-23 19:09:36 1100

原创 Linux内核设计与实现读书笔记一——Linux内核简介(附思维导图)

读书笔记

2014-08-23 11:10:00 1838

转载 docker科普

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。[1]1起源编辑Dock

2014-08-19 10:00:01 1270

转载 面试题:赛马问题

据说,这是Google的面试题。面试题目如下:一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问,最少得比多少场才能知道跑得最快的5匹马?(不能使用撞大运的算法)很明显这是一个算法题,网上有很多贴子在讨论这个问题,不过都没有给出一个明确的答案。我想了想,想到下面的一个算法:1)分成5组A

2014-08-16 11:06:40 1083

转载 hash_set哈希集合容器

一、原理使用哈希表数据结构的关联容器。作为集合容器,它的元素不论几个分量,都视作一个单一数据类型,并不区分键值和映照数据,不允许插入重复数据。哈希函数是一个多对一的函数。http://blog.163.com/zhoumhan_0351/blog/static/39954227200910710324846SGI C++ STL哈希表采用链式结构,由表头和一系列单链组成;表头是

2014-08-11 13:29:36 1132

转载 list和vector有什么区别?

vector和数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随机存取(即使用[]操作符访问其中的元素),但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝(复杂度是O(n)),另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。list是由数据结构中的双向链表实现的,因此它的内存空间

2014-08-07 15:00:24 883

转载 判断单链表是否存在环及求环入口结点等问题

题目要求Linked List CycleGiven a linked list, determine if it has a cycle in it.Follow up: Can you solve it without using extra space?如何判断一个单链表中有环?Linked List Cycle IIGiven a linked list, retu

2014-08-07 14:27:09 769

转载 链表就地逆置

就地逆置,就是在不借助任何中间变量的情况下,逆置一单链表。算法思路:      逆置后的点链表初始为空,表中的节点不是新生成的,而是从原链表当中一次“删除”,再逐个头插到逆置表中。设逆置链表的初始态为空表,“删除”已知链表中 的第一个节点,然后将它“插入”到逆置链表的“表头”,即使得他成为逆置链表中“新”的第一个节点,如此循环,直至原链表为空。 假设有如下数据结构:#def

2014-08-07 13:26:59 1208

转载 经典面试题:设计包含min函数的栈,O(1)空间实现方法

题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。注:这是06年一道Google的面试题. 先来说个常规解和他的一个优化,常规解的时间复杂度符合要求,但需要线性的额外空间.常规解(参考 http://zhedahht.blog.163.com/blog/static/254111742007128952

2014-08-07 10:27:47 854

转载 设计模式总结

从七月份开始一直到九月底才看完设计模式,在这个过程中我不敢说我已经掌握了那本书里面的内容,或者说1/5,没能力说也没有资格说。但是结果不重要,重要的是这个过程我的收获!主要包括如下几个方面:      1、认识了这么多设计模式。刚刚接触java没多久就在学长那里听过设计模式的大名,但是由于能力有限,一直不敢触碰。而今有幸将其都认识了。      2、开始有设计的理论了。在接触设计模式之前没

2014-08-05 16:18:03 940 1

转载 从数据流中随机取m个数

Q:有一个很大很大的输入流,大到没有存储器可以将其存储下来,而且只输入一次,如何从这个输入流中等概率随机取得m个记录。 A:开辟一块容纳m个记录的内存区域,对于数据流的第n个记录,以m/n的概率将其留下(前m个先存入内存中,从第m+1个开始),随机替换m个已存在的记录中的一个,这样可以保证每个记录的最终被选取的概率都是相等的。 面试官视角: 这个题目除了需要给出正确解答以外

2014-08-05 14:58:06 2828

转载 网络传输中,数据经历了哪些过程和转变

你需要了解TCP/IP協議協議族還有OSI七層模型。雖然OSI七層模型包括物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,划分标准很细,从你本地应用到物理传输都有相关的协议;本应是个超级不错的模型,但是因为TCP/IP模型是先发展的,过度到OSI模型又要做各种各样的工作,所以OSI模型是参考模型,与现实使用有点出入。现在几乎全部都是TCP/IP协议族是被使用的标准,但跟OS

2014-08-05 14:19:03 1539

转载 1-N的自然数中,少了一个,找出这个数

问题1:1-N的自然数中,少了一个,找出这个数(1)求和-容易溢出Sum=1+2+...+N=(N+1)N/2,然后遍历数列每次从S1中减去当前的数字,最后剩下的数字就是所求。为了防止溢出我们可以每次在S1大于一定的数字后,就去减,然后继续求和,再大于就继续减,以此类推。[java] view plaincopyprint?public int find_M

2014-08-05 14:03:20 8208

转载 确定一个数转化成二进制后是1的位的个数

写个小程序确定一个数转化成二进制后是1的位的个数很久以前就开始流传的一道微软面试题。[cpp] view plaincopyint func(x)     {         int countx = 0;          while(x)          {                countx ++;                x = x&(x-1

2014-08-05 13:22:04 789

转载 Mysql各种存储引擎的特性以及如何选择存储引擎

几个常用存储引擎的特点下面我们重点介绍几种常用的存储引擎并对比各个存储引擎之间的区别和推荐使用方式。特点MyisamBDBMemoryInnoDBArchive存储限制没有没有有64TB没有事务安全 支持 支持 锁机制表锁页锁表锁行锁行锁B树索引支

2014-08-05 12:02:30 717

转载 文件描述符

概要文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于UNIX、Linux这样的操作系统。优点文件描述符的优点主要有两个:基于文件描述符的I/O操作

2014-08-05 11:47:54 692

转载 static的含义以及其在C/C++中的区别

static关键字是C, C++中都存在的关键字. 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同,本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种 auto,

2014-08-03 17:10:43 965

转载 C和C++的区别

C和C++的区别:C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说

2014-08-03 16:02:48 751

转载 设计一个Cache系统 【双向链表+哈希表】

今天去面试,面试官让我设计一个cache系统,要求保证最近使用的数据不能被移除出cache,也就是每次添加一个cache项的时候,把最旧的cache项移除出去。    我只记得操作系统里貌似有个差不多的cache算法,记不起名字来,更别提数据结构了。一开始我执着于用一种数据结构来实现,可是每说出一种,都被面试官指出这种方式的不足。最后终于开窍了,想出了 哈希表+双向链表 的方法。当时也不知道到

2014-08-02 21:11:43 2544

转载 教你透彻了解红黑树

作者:July、saturnman   2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。推荐阅读:Left-Leaning Red-Black Trees,Dagstuhl Workshop on Data Structures, Wadern, Germany, February, 2008,直接下载:http://www.cs

2014-08-02 20:49:31 861

转载 程序员如何快速准备面试中的算法

前言    我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。尽管在微博上简单梳理过,如下图所示:       但因字数限制,许多问题无法一次性说清楚,故特撰此文着重阐述下:程序员如何快速准备面试中的算法,继而推荐一些相关的书籍或资料。顺便也供节后跳槽、3月春季招聘小高潮、及6月毕业找工作的朋友参考。备战面试中算法的五个步骤

2014-08-02 20:45:16 1023 1

转载 找工作笔试面试那些事儿(9)---数据库知识总结(1)

数据库也是计算机类笔试面试中不可避免会遇到的考点,尤其是银行和部分传统软件类公司。这里根据整理的资料,对数据库的相关知识也做个总结吧。希望学过数据库但长时间不用的同学根据这些知识能够回忆和重拾,没学过的同学能掌握一些数据库的基础知识。第一节      一、相关概念       1. Data:数据,是数据库中存储的基本对象,是描述事物的符号记录。       2. Database

2014-08-02 16:27:18 4631

转载 分布式文件系统概述

分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。例如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就像使用本地驱动

2014-08-02 07:43:24 1844

转载 linux awk命令详解

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho

2014-08-01 16:22:51 539

空空如也

空空如也

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

TA关注的人

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