自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

willinux的专栏

因为我能看得见,始终能看得见,始终能看得见自己。

  • 博客(36)
  • 资源 (3)
  • 收藏
  • 关注

原创 C/C++ 常见面试题目 (一)

C/C++ 常见面试题目常见的题目,不一定用过,但一定要知道。1. C语言中C程序运行时的内存分配机制C程序使用的是用户的内存空间,区别于内核的内存空间,再细就到内核态和用户态了。用户的内存空间可以分为三个部分: (1)程序区: (2)静态存储区: (3)动态存储区: 程序区用来存放C程序运行代码;静态存储区用来存放静态变量,如全局变量存放在静态存储区,在程序开始执行时给全局变量分配存储区,

2015-07-30 22:39:43 1875

原创 KMP算法应用

KMP算法应用题目描述: 给定一个字符串,求其中出现重复的任意一个字符?再求其中最长的重复子串?题目分析: 如果明白KMP原理,明白next数组next[j]=k的具体含义,这样的题目可以用next数组来求解。next[j]=k,表示在模式串p中第j个字符前有长度为k的相同前缀和后缀。相同的前缀和后缀就是重复子串。1. 求其中出现重复的任意一个字符思路1: 先求next数组,next[j]=k

2015-07-29 20:38:14 1840

原创 KMP算法原理

KMPKMP,是字符串的模式匹配算法,利用已经得到的信息,不需要回溯,所以比暴力解法效率高。关键是求next数组,也有称为前缀数组,那next数组是什么含义。 不需要回溯指的是:主串s的指针i不需要回溯。1. next数组next数组含义如:next[j] = k 当模式串p的第j个字符与主串s中第i个字符不匹配时,主串s的指针i不变,模式串p中的指针j退到next[j]指向的位置k,重新进行比

2015-07-28 22:21:18 555

原创 Rotate List

题目61:Rotate List题目描述: Given a list, rotate the list to the right by k places, where k is non-negative.For example: Given 1->2->3->4->5->NULL and k = 2, return 4->5->1->2->3->NULL. 题目分析: 看了别人的做法,挺好

2015-07-26 21:54:23 318

原创 Partition List

题目86:Partition List题目描述: Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.You should preserve the original relative order of

2015-07-26 21:33:05 403

原创 Sort List

题目148:Sort List题目描述: Sort a linked list in O(n log n) time using constant space complexity. 题目分析: 对链表进行排序,时间复杂度要求O(logN),排序算法中时间复杂度是O(logN)的排序算法有快速排序、归并排序。 此处省略很多字。。。。。 我是用归并排序实现的,归并排序和快速排序都是分治思想的

2015-07-26 17:49:34 476

原创 Palindrome Linked List

题目234:Palindrome Linked List题目描述: Given a singly linked list, determine if it is a palindrome. Could you do it in O(n) time and O(1) space? 题目分析: 给一个链表判断是否是回文,时间复杂度O(n) ,空间复杂度O(1)指的是额外空间相对于输入数据量来说是

2015-07-24 18:05:57 538

原创 2007 word打开无响应

2007 word打开无响应word2007打开无响应,其他的excel等都没问题只有word。 解决方法1: word选项–高级–显示–禁用硬件图形加速,把这个选中试试。还有下面的“使用子像素定位平滑屏幕上的字体”,把这个勾去掉。 方法1不行,采用方法2. 解决方法2: 选项-加载项-转到-取消不需要的加载项 options-add ins-go-cancel needlessness

2015-07-23 11:39:45 16492

原创 快速排序 归并排序

快速排序 归并排序1. 归并排序许多算法在结构上是递归的,为了解决一个给定的问题,算法一次或多次递归地调用其自身以解决紧密相关的若干子问题,这些算法典型地遵循分治法的思想。 分治模式在每层递归时都有3个步骤: 分解原问题为若干子问题,这些子问题是原问题的规模较小的实例。 解决解决这些子问题,递归地求解各个子问题。2. 快速排序

2015-07-22 21:58:30 671

原创 文件的写与读

文件的写与读《linux内核源代码情景分析》P579,之前看过一次,当时不是很清楚讲,现在回头看了下,有些明白,于是想记录一下心得,甚是开心。 本篇主要叙述页缓存,为什么缓存在页层,如何做页缓存。 有没有想过进程是如何读写文件的呢? 读写文件的进程,目标文件由一个“打开文件号”代表。 为了效率,一些操作系统对文件的读写都是带缓冲的,linux操作系统也不例外。linux文件系统的特色机制:V

2015-07-21 19:53:54 539

原创 进程创建

进程创建 fork() copy-on-write

2015-07-20 22:38:42 601

原创 从layout到extent的演变史(三)

从layout到extent的演变史(三)养成记录的习惯,发现记录的好处是思路在连续走,不会断开,不会走神,不会想其他的事情。专注。 好奇,server在收到client发送的layoutget请求,是如何处理的呢? OK,下文介绍一下过程。1. layout在server的保存方式MDS中有两个数据结构跟layout相关,分别是struct nfs4_layout_state和struct n

2015-07-20 19:55:18 645

原创 计算机网络

计算机网络发现面试时问的网络相关的问题挺多的,所以在此总结一下。还有的话,接着补充。1. 网络中的OSI参考模型的七层OSI:open system interconnet 开放系统互连参考模型 从低到高依次是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 物理层:物理层并不是物理媒体本身,它只是开放系统中利用物理媒体实现物理连接的功能描述和执行连接的规程; (百度百科)2.

2015-07-20 11:58:10 462

转载 虚拟内存 物理内存

虚拟内存 物理内存虚拟内存,自然是针对物理内存而言的,理解一个问题时可以从这个问题的对立面去理解。参考[1]参考[1]:虚拟内存使用磁盘作为RAM的扩展,从而有效的增加内存的使用率。内核会把当前未使用的内存块内容写到硬盘中去,让内存可以有其他用户。当原来的内容需要的时候,再重新读回内存。这个对用户来说是完全透明的;Linux下运行的程序只看到大量可用的内存而不会注意到其中有一些内存是暂存在磁盘中。当

2015-07-18 22:15:29 642

原创 搬砖记

搬砖记给搬砖记做个结尾,纪念以前那些搬砖的岁月,虽然以后还是在搬砖,重要的心态发生了变化,人都是慢慢变成熟的,只是在变成熟的过程中是那么的不堪。 以后这个目录不会再写博客了,再见。 感谢此书《扛得住,世界就是你的》,是本鸡汤,但是在我最需要鸡汤的时候,来了的鸡汤就是好鸡汤。 没有好与最好,只有最合适。 20150718晚记。

2015-07-18 21:07:09 555

原创 自旋锁 互斥锁

自旋锁 互斥锁本文从以下3个方面来介绍。 1. 为什么会有自旋锁、互斥锁? 2. 什么是自旋锁、互斥锁? 3. 分别有什么作用?1. 为什么会有自旋锁、互斥锁?讲这些锁之前,先谈以下并发、临界区、同步的概念。1.1 并发 临界区 同步临界区:是操作系统的概念,每个进程中访问共享资源的代码段称为临界区; 并发:分为单处理器和多处理器上的并发。 如果在单处理器主机上发生并发,在这种主机中

2015-07-18 20:53:16 576

原创 mac brew gdb

mac brew gdbmac上安装gdb,搜了一下发现brew这个工具貌似很好用,所以先下载安装brew。安装brew安装命令: curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local –strip 1 这个是安装在/usr/local/bin/目录下的,brew安装成功。可通过

2015-07-18 17:29:10 1345

原创 236. Lowest Common Ancestor of a Binary Tree

题目236:Lowest Common Ancestor of a Binary Tree题目描述: 一个普通二叉树的两个结点n1和n2的最低公共祖先。 思路: 接上题,区别在上题是二叉搜索树,这题是普通二叉树,所以不能用上题的BST的特点来求解。参考[1]思路。/** * Definition for a binary tree node. * struct TreeNode { *

2015-07-18 00:18:23 398

转载 Lowest Common Ancestor of a Binary Search Tree

题目235:Lowest Common Ancestor of a Binary Search Tree题目描述: 求二叉搜索树的最低公共祖先。1.递归解法思路1: 参考[1]: 二叉搜索树,左子树的关键字都小于父结点,右子树的关键字都大于父结点。 所以如果是两个结点n1、n2的公共祖先,则公共祖先的关键字的值一定是n1 < n < n2(n1和n2也可能等于其中任意一个),所以只要从根开始

2015-07-17 23:44:18 419

转载 Unique Binary Search Trees

Unique Binary Search Trees题目描述: Given n, how many structurally unique BST’s (binary search trees) that store values 1…n? For example, Given n = 3, there are a total of 5 unique BST’s.1. 递归解法思路1: 首先

2015-07-16 23:38:02 358

原创 Binary Tree Traversal (二)

Binary Tree Traversal接上一篇,补充写二叉树的深度优先遍历和广度优先遍历。1. 深度优先遍历思路: 二叉树的深度优先遍历,和先序遍历的结果相同,用辅助栈实现,按出栈顺序访问,要先访问左子树,则入栈顺序是右子树、左子树,这样才能出栈时先访问左子树。 代码和上一篇相同。/** * Definition for a binary tree node. * struct Tree

2015-07-16 21:45:06 454

转载 101. Symmetric Tree

Symmetric Tree题目描述: 对称树 思路: 递归和非递归两种方法实现,递归要有出口,非递归采用depth-first-search遍历。1. 递归解法此解法参考他人。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; *

2015-07-16 20:58:14 412

原创 Longest Palindromic Substring

Longest Palindromic Substring题目描述: Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic s

2015-07-16 18:59:09 313

原创 Binary Tree Traversal (一)

Binary Tree TraversalBinary Tree Traversal leetcode上有对应的题目 题目描述: 二叉树的遍历,先序、中序、后序的递归和非递归实现。 二叉树的深度优先遍历、广度优先遍历。二叉树的递归实现二叉树的递归实现:以先序遍历为例说明,后两种相同。/** * Definition for a binary tree node. * st

2015-07-15 23:46:44 607

原创 从layout到extent的演变史(二)

从layout到extent的演变史(二)  交流了一下,发现了理解这个过程的好流程。pnfs中读写操作的流程是,client先发送open的RPC,server返回open的结果(应该和fh相关),client再发送getlayout的RPC,client拿到layout后,直接从磁盘上读文件内容。我们做的优化是在发送open RPC时同时将layout也获取过来,这样可以节省一次getlayou

2015-07-15 19:06:34 590

原创 String to Integer (atoi)

题目8:String to Integer (atoi)题目描述: Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself

2015-07-14 23:20:32 486

转载 mac cscope的安装

mac cscope的安装ctags安装好后,安装cscope。下载cscope最新版本http://cscope.sourceforge.net/#downloads解压缩tar jxvf cscope-15.7a.tar.bz2安装./configure && make all && sudo make install make时报错:./global.h:395:5: error: conf

2015-07-14 20:39:50 4658

原创 从layout到extent的演变史(一)

从layout到extent的演变史client端在读/写文件时,先从server端申请layout,才能向磁盘读/写文件,写文件时又有extent,这又是如何一个演变过程,余决心把这个过程搞得清清楚楚,不知不止。 Clients和Storage Devices传输数据时需要使用专门的存储协议,因为client直接从storage device读取数据。目前RFC定义了三种存储协议:file la

2015-07-14 17:19:39 777

原创 RPC状态机执行过程

RPC状态机执行过程可能了解这个状态过程对以后工作没用,但还是想了解一下具体执行过程,也算是对自己以前一个工作的交代。 我们用的是SUNRPC,在内核中实现的RPC,代码在net/sunrpc/。同步RPC和异步RPCRPC调用有同步和异步两种。/** * rpc_call_sync - Perform a synchronous RPC call * @clnt: pointer to RP

2015-07-13 16:28:50 3035

转载 mac ctags安装

mac ctags安装虽然说mac自带ctags,但执行ctags -R *时不行。 安装过程如下:下载Ctags的最新版本源代码 http://ctags.sourceforge.net/解压下载的好的文件 tar zxvf ctags-5.8.tar.gz安装ctags sudo ./configure && make all && sudo make install修改PATH vim

2015-07-12 15:49:45 621

原创 实例说明RPC的使用

实例说明RPC的使用上一篇介绍了一下RPC的原理,这篇通过实例来说明RPC的使用。以pnfs中client端往磁盘上写文件后,向server端提交layout过程为例。(client端写文件前,需要先向server端获取到layout,才能写文件)layout和extent的概念一直没有把我们的layout和extent弄清楚,所以决心弄清楚他们。 client端向server端申请layout,

2015-07-12 15:37:12 1391

转载 RPC原理

RPC原理RPC原理,之前花了那么多时间只是画了一个rpc状态图,现在回想花了时间,却做了一件没有什么用的事情。好多时候,都是花了功夫,却没什么用,不过也只有做了才知道有没有用。RPC概念RPC 的全称是 Remote Procedure Call, 是一种进程间通信方式。 常见的进程间通信方式有信号、管道、套接口。RPC允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不

2015-07-10 20:15:38 642

转载 MAC OS X使用记录 - 命令别名

MAC OS X使用记录 - 命令别名本来想总结一下rpc相关的内容,又这么过了一个晚上效率太低。 mac下没有ll等命令,好不习惯。编辑文件 vi ~/.bash_profile 添加如下内容(根据自己习惯修改)alias dir=’ls -l’ alias ll=’ls -l’ alias tailf=’tail -f’ alias ..=’cd ..’保存后执行 source

2015-07-09 22:00:07 1092

转载 进程上下文 中断上下文

进程上下文 中断上下文  原本是想明白进程上下文和中断上下文的含义,总结了一部分内容,发现一篇总结的很好,http://www.cnblogs.com/Anker/p/3269106.html。   涉及的内容有:   - 用户空间和内核空间的区别   - 内核态和用户态   - 进程上下文和中断上下文   - 一些有意思的事情1. 用户空间和内核空间我们知道现在操作系统都是采用虚拟存储器

2015-07-08 20:52:47 705

原创 TCP/IP的三次握手和四次挥手

TCP/IP的三次握手和四次挥手server端和client端资源状态一致性时,在思考是否可以采用类似于三次握手的情况来做,可能代价会高,但可以捎带确认。前言TCP报文格式图: 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,

2015-07-05 21:26:53 668

原创 pread pwrite

pread pwrite read write

2015-07-03 22:18:12 2401

AWK程序设计语言翻译

师弟翻译的: 《AWK程序设计语言》 -Alfred V.Aho Brian W.Kernighan Peter J.Weinberger github地址:https://github.com/wuzhouhui/awk 仅供学习,欢迎交流。

2015-12-21

数字图像处理标准测试图

以前下载了一些,又找了一些,要删除了,所有传了,希望能有点用处

2013-06-20

opencv1.0安装程序

第一个opencv1.0版本,有问题请安装第二个。这个是所有版本下载网址http://www.opencv.org.cn/index.php/Download#Version_1.0_rc1_.280.9.9.29

2013-06-10

空空如也

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

TA关注的人

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