图算法(一)

摘要: 图G=(V, E)是由若干给定的顶点V及连接两顶点的边E所构成的图形,图论起源于柯尼斯堡七桥问题。1、图的表示邻接矩阵:表示简单,但是对于稀疏矩阵,浪费空间严重。邻居表:相对于邻接矩阵,存储复制,稀疏矩阵情况下空间利用率高。以下用邻接表来存储图结构: 1 struct graph 2 { 3 ... 阅读全文
posted @ 2015-04-09 21:45 ym65536 阅读(154) 评论(0) 推荐(0) 编辑

跳跃表skiplist

摘要: 1、简介跳跃列表(也称跳表)是一种随机化数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间)。基本上,跳跃列表是对有序的链表增加上附加的前进链接,增加是以随机化的方式进行的,所以在列表中的查找可以快速的跳过部分列表,因此得名。所有操作都以对数随机化的时间进... 阅读全文
posted @ 2015-03-29 14:41 ym65536 阅读(304) 评论(0) 推荐(0) 编辑

Linux 性能相关命令

摘要: 1、top命令top -u usrname 显示内容 1 top - 07:29:19 up 12 min, 2 users, load average: 0.30, 0.39, 0.26 2 Tasks: 142 total, 1 running, 141 sleeping, 0 st... 阅读全文
posted @ 2015-03-27 16:08 ym65536 阅读(296) 评论(0) 推荐(0) 编辑

【转载】百度最新面试题集锦

摘要: 转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/73489681、实现一个函数,对一个正整数n,算得到1需要的最少操作次数。操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。例子:func(7... 阅读全文
posted @ 2015-03-25 22:21 ym65536 阅读(205) 评论(0) 推荐(0) 编辑

[tips]Ubuntu 12.04安装和设置Samba

摘要: 在Ubuntu 12.04安装和设置Samba实现网上邻居共享原文地址:http://www.startos.com/ubuntu/tips/2012031333097.html Samba 是一款功能强大的共享工具,可以实现与windows的共享,就是我们经常在windows计算机之间使用的网上... 阅读全文
posted @ 2015-03-22 11:31 ym65536 阅读(219) 评论(0) 推荐(0) 编辑

[tips]ubuntu 12.04系统黑屏

摘要: 原文链接:http://www.2cto.com/os/201305/213737.htmlubuntu 12.04系统黑屏,登录界面黑屏 1.硬件环境 Intel® Core™ i5-2400 CPU @ 3.10GHz × 4 2.显卡 Intel 集成显卡 3.系统版本 ubuntu12.... 阅读全文
posted @ 2015-03-22 10:53 ym65536 阅读(194) 评论(0) 推荐(0) 编辑

操作系统概念整理

摘要: 1、进程和线程区别进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,它是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位。a) 进程在执行过程中拥有独立的地址空间,而多个线程共享同一进程的地址空间,从而极大地提高了程序的运行效率。b) 进程和线程占... 阅读全文
posted @ 2015-03-18 22:31 ym65536 阅读(340) 评论(0) 推荐(0) 编辑

TCP协议分析(二)

摘要: 1、TCP滑动窗口 TCP的滑动窗口主要有两个作用,一是提供TCP的可靠性,二是提供TCP的流控特性。同时滑动窗口机制还体现了TCP面向字节流的设计思路。TCP 段中窗口的相关字段:TCP的Window是一个16bit位字段,它代表的是窗口的字节容量,也就是TCP的标准窗口最大为2^16-1=... 阅读全文
posted @ 2015-03-04 08:23 ym65536 阅读(504) 评论(0) 推荐(0) 编辑

常用linux shell 命令

摘要: 1、内部参数 上述过程中的$0是一个内部变量,它是必须的,代表程序本身,而$1则可有可无。和$0一样的内部变量还有以下几个。 2、引号 3、df/du命令 df: disk free. 查询系统磁盘占用/剩余多少空间。 du: disk usage. 统计目录下各个文件大小。 4、date命令 阅读全文
posted @ 2015-03-03 21:19 ym65536 阅读(235) 评论(0) 推荐(0) 编辑

TCP协议分析(一)

摘要: 传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。1、OSI七层模型简介 TCP协议和UDP协议共同工作在OSI七层模型中的第四层-传输层,OSI七层模型如下:OSI 模型数据... 阅读全文
posted @ 2015-03-03 13:25 ym65536 阅读(380) 评论(0) 推荐(0) 编辑

线性排序算法

摘要: 1. 计数排序已知输入数组input[0...n-1], 任意 x IN input[], 如果已知有C[x]个数 = 0; j--)16 { 17 output[C[key(input[j])] - 1] = input[j];18 C[key(inpu... 阅读全文
posted @ 2015-02-26 10:15 ym65536 阅读(198) 评论(0) 推荐(0) 编辑

Linux awk 命令

摘要: awk是Unix系统中文本处理工具,叫AWK是因为其取了三位创始人Alfred Aho,Peter Weinberger, 和Brian Kernighan的Family Name的首字符。使用awk的方式有:1.命令行方式awk [-F field-separator] 'command... 阅读全文
posted @ 2015-02-24 15:28 ym65536 阅读(371) 评论(0) 推荐(0) 编辑

Linux grep 命令

摘要: grep命令是类Unix系统中一种强大的文本搜索工具,全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。命令格式为:grep [option] pattern file常用option有:-i --ignore-case ... 阅读全文
posted @ 2015-02-23 09:29 ym65536 阅读(264) 评论(0) 推荐(0) 编辑

MIT OS lab1

摘要: Lab 1: Booting a PC1、IntroductionSoftware setupGet jos code:athena% mkdir ~/6.828athena% cd ~/6.828athena% add gitathena% git clone http://pdos.csail.... 阅读全文
posted @ 2015-02-21 16:37 ym65536 阅读(3321) 评论(1) 推荐(1) 编辑

x86架构调用栈分析

摘要: 以一个简单求阶乘的代码为例: 1 #include 2 3 unsigned int fact(unsigned int n) 4 { 5 if (n == 0) 6 return 1; 7 return n * fact(n - 1); 8 } 9 10 in... 阅读全文
posted @ 2015-02-17 21:23 ym65536 阅读(545) 评论(0) 推荐(0) 编辑

gdb调试tips

摘要: small tips:set print element 0 # 打印所有字符串,默认长度2001、内存查看命令x.x/x 以十六进制输出x/d 以十进制输出x/c 以单字符输出x/i 反汇编 – 通常,我们会使用x/10i $ip-20 来查看当前的汇编($ip是指令寄存器)x/s 以字符串输出(... 阅读全文
posted @ 2015-02-16 14:41 ym65536 阅读(307) 评论(0) 推荐(0) 编辑

选择中位数(第k大的数)

摘要: 在查找中位数时,我们可以先排序,再找中间位置的数值即可,这样时间复杂度是O(nlbn). 参考快速排序的分割算法,我们可以得到O(n)复杂度的算法。 首先,把问题推广到查找第k小的数,每次分割之后,我们只需要在pivot的一侧查找即可。 时间复杂度: T(n) = T(n/2) / 2 + n == 阅读全文
posted @ 2015-02-01 15:47 ym65536 阅读(337) 评论(0) 推荐(0) 编辑

MIT OS lab Makefile 分析

摘要: lab1 中的Makefile主要是根目录下的GNUMakefile, kern/Makefrag, boot/Makefrag,后两者通过include直接包含到GNUMakefile中。 1 # 2 # This makefile system follows the structuring... 阅读全文
posted @ 2015-01-27 22:33 ym65536 阅读(3052) 评论(2) 推荐(0) 编辑

堆排序

摘要: 堆是一种完全二叉树,因此可以用数组来表示。给定节点下标i,1 #define PARENT(i) ((i) >> 1)2 3 #define LEFT(i) ((i) = A[i]堆排序的原理为:1、首先构建一棵大顶堆2、交换根节点和堆的最后一个节点,堆大小减一3、重复2,直达堆大小为1voi... 阅读全文
posted @ 2015-01-08 22:41 ym65536 阅读(146) 评论(0) 推荐(0) 编辑

二分查找

摘要: 二分查找算法,又称折半查找,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,1)如果中间元素正好是要查找的元素,则搜素过程结束;2)如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找;3)数组为空,退出代码如下: 1 int binary... 阅读全文
posted @ 2014-12-07 11:28 ym65536 阅读(186) 评论(0) 推荐(0) 编辑

散列表

摘要: 散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。也就是说,把键值通过一个函数的计算,映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。类似于数学中的映射关系。 现假设关键字的全域... 阅读全文
posted @ 2014-11-30 11:57 ym65536 阅读(156) 评论(0) 推荐(0) 编辑

二叉树

摘要: 一、二叉树简介 二叉树节点定义为:1 struct TreeNode 2 {3 int val;4 TreeNode *left;5 TreeNode *right;6 TreeNode(int x) : val(x), left(NULL), right(NULL... 阅读全文
posted @ 2014-11-26 22:26 ym65536 阅读(215) 评论(0) 推荐(0) 编辑

异或运算

摘要: 异或运算是位运算,不产生进位,也不会对其他bit产生影响。一般用XOR表示,在C语言中,异或用'^'表示。异或运算法则与无进位的二进制加法一致:0^0=0,1^0=1,0^1=1,1^1=0(同为0,异为1), 其逻辑表达式为A XOR B=A'B + AB'对任意元素a, 令其二进制位第k位为... 阅读全文
posted @ 2014-11-17 17:58 ym65536 阅读(817) 评论(0) 推荐(0) 编辑

GitHub使用简介

摘要: 1、创建新项目 登陆到GitHub(https://github.com/)并注册后,选中New repository, 填写相关信息并点击Create repository即可。 2、版本管理 a) git clone https://github.com/$(USERNAME)/$(REPO). 阅读全文
posted @ 2014-11-10 17:47 ym65536 阅读(278) 评论(0) 推荐(0) 编辑

归并排序

摘要: 归并排序重点在治,即合并两个有序数组: 1 void merge(int A[], int p, int q, int r) 2 { 3 int i = 0, j = 0, k = p; 4 int m = q - p + 1; 5 int n = r - q; 6 ... 阅读全文
posted @ 2014-11-06 17:55 ym65536 阅读(151) 评论(0) 推荐(0) 编辑

快速排序

摘要: 快速排序和归并排序都是分治法的典型应用,主要区别在于,快速排序重在分,而归并排序重在治。 快速排序基于以下假设:已知x,序列中一半的数据大于x,另一半小于等于x,且小于等于x的数据在数组前一半,大于x的在后一半。这种分割不需要额外的存储空间,对两侧数据分别递归进行,最终数组排序即可完成。 实... 阅读全文
posted @ 2014-11-06 10:43 ym65536 阅读(281) 评论(0) 推荐(0) 编辑

字符串匹配

摘要: 字符串匹配是经常遇到的问题,比如信息检索、拼写检查,甚至是生物信息学中DNA相关的问题。1、比较简单的匹配算法是直接暴力匹配,算法原理:1)取指针i,j分别指向字符串S和目标串P,如果S[i] == P[j],i和j分别自增。2)如果不相等,i回溯到初始位置的下一个位置,即i = i - j + 1... 阅读全文
posted @ 2014-10-07 20:42 ym65536 阅读(221) 评论(0) 推荐(0) 编辑