自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

honeyJ

Talk is cheap,Show me the code.

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

原创 图及图的存储

一、图的有关概念1、什么是图图是由顶点集合及顶点间的关系组成的一种数据结构:G = (V, E)其中:顶点集合V = {x|x属于某个数据对象集}是有穷非空集合;          E = {(x,y)|x,y属于V}或者E = {<x, y>|x,y属于V && Path(x, y)}是顶点间关系的有穷集合,也叫做边的集合。(x, y)表示x到y的一条双向通路,即(x...

2018-04-26 22:44:12 321

原创 网络编程套接字一--UDP网络程序

一、IP地址和端口号1、IP地址IP协议有两个版本, IPv4和IPv6。IP地址是在IP协议中, 用来标识网络中不同主机的地址; 对于IPv4来说, IP地址是一个4字节, 32位的整数; 我们通常也使用 "点分十进制" 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255。在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址...

2018-04-26 21:19:00 216

原创 mysql对数据库与表的简单操作

一、mysql的基本使用1. 连接到mysql mysql [-h 主机] -u 用户 -p 举例(这里用的是操作系统的cmd):注: (1)如果没有写[-h主机]默认连接的是主机。(2)如果需要登录到另外一个mysql,则需要修改配置,一般情况下不允许远程登录。2. mysql关闭和启动关闭:service mysqld stop  启动:service mysqld start 二、库的操作打...

2018-04-25 17:39:56 425

原创 理解文件系统----inode与软硬链接

在之前一篇文章里,我们讲了文件的部分属性,现在我们来了解一下文件系统。点击打开链接一、inode1、什么是inode理解inode,要从文件存储说起。文件储存在硬盘上,硬盘的最小存储单位叫做“扇区“(Sector),每个扇区储存512字节,操作系统读取硬盘的时候,不是一个一个扇区读取的,而是一次性读取多个扇区,即一次性读取一个块(block)。这种由多个扇区组成的块,是文件存取的最小单位。而储存一...

2018-04-23 22:00:02 339

原创 与死锁的有关知识简述

我们先来举例认识一下死锁:例如,系统中只有一台扫描仪R1和一台刻录机R2。有两个进程P1和P2,他们都准备将扫描的文件刻录到CD光盘上,进程P1先请求扫描仪R1并获得成功,进程P2先请求刻录机也获得成功。后来P1又请求CD刻录机,因它已被分配给了P2而阻塞。P2又请求扫描仪,也因被分配给了P1而阻塞。此时两个进程都被阻塞,双方都希望对方能释放出自己所需要的资源,但它们都因不能获得自己所需要的资源去...

2018-04-21 21:59:51 522

原创 进程间关系和守护进程

我们已经了解了进程,再来了解一下进程间关系。我们先了解一下以下概念:一、进程组、作业和会话1、进程组每个进程除了有一个进程ID之外,还属于一个进程组。进程组是一个或多个进程的集合。通常,它们与同一作业相关联,可以接收来自同一终端的各种信号。每个进程组有一个唯一的进程组ID。每个进程组都可以有 一个组长进程。组长进程的标识是,其进程组ID等于其进程ID。 组长进程可以创建一个进程组,创建该组中的进程,

2018-04-20 22:39:15 200

原创 小米面试题-朋友圈问题(并查集)

问题: 假设已知有n个人和m对好友关系(存于数组r)。如果两个人是直接或间接的好友(好友的好友的好友…),则认为他们属于同一个朋友圈。 请写程序求出这n个人里一共有多少个朋友圈。假如:n = 5,m = 3,r = {{1 , 2} , {2 , 3} , {4 , 5}},表示有5个人,1和2是好友,2和3是好友,4和5是好友,则1、2、3属于一个朋友圈,4、5属于另一个朋友圈,结果为2个朋友

2018-04-18 21:51:54 1482

原创 读者写者模型

前面我们已经介绍过生产者消费者模型,那么,什么是读者写者模型,它和我们介绍的生产者消费者模型又有什么不同?一、读者写者模型1、模型简介在进程中,对某些资源的访问会存在两种可能的情况: 一种是写操作,它是可以独占资源的,即具有排他性。 另一种是读操作,可以有多个资源并发地去访问某种资源,它的访问方式是共享的。(一般由于写端操作次数少,读端操作次数多,因此写端的优先级较高)。这种模型是从对文件的读写

2018-04-14 18:08:29 487

原创 Linux调试器-gdb的使用

一、了解gdbGDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。一般来说,GDB主要完成下面四个方面的功能:    1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。    2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)    3、当程序被停住时,可以检查此时你的程序中所发生的事。    4、动态的改变你程序的执行环境。调试过程的常用命令:li...

2018-04-13 21:27:04 413

原创 生产者与消费者模型

一、模型简介如图:一共有三种关系:生产者与生产者的互斥关系,消费者与消费者的互斥关系,生产者与消费者的互斥且同步关系。两种角色:生产者(线程)与消费者(线程)一个交易场所:仓库(一段内存空间,且可存可取)二、基于单向链表的生产者消费者模型1、我们这里用一个单链表当做那段共享内存,简单实现生产者消费者模型。代码: 1 #include<stdio.h> 2 #include<s...

2018-04-12 12:49:37 7667 1

原创 布隆过滤器及优缺点

布隆过滤器: 如果想判断一个元素是不是在一个集合里,一般想到的是将集合中所有元素保存起来,然后通过比较确定。 但是随着集合中元素的增加,我们需要的存储空间会很大,检索的速度也越来越慢。 一、原理 Bloom Filter 是一种空间效率很高的随机数据结构,Bloom filter 可以看做是对 bit-map 的扩展。当一个元素被加入集合时,通过 K 个 Hash 函数将这个元素映射成一

2018-04-09 21:31:49 5435 1

原创 数据结构之位图

位图,就是Bit_map,是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。 由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 我们来看一个具体的例子: 设我们要对0-7内的5个元素(4,7,2,5,3)排序(假设这些元素没有重复),那么我们就可以采用Bit_map的方法来达到排序的目的。 要表示8个数,我们就只需要8个Bit(1Bytes) (1)

2018-04-08 22:25:37 435

原创 面试题---大数据处理

1、给一个超过100G大小的log file ,log中存着IP地址,设计算法找到出现次数最多的IP地址?我们先考虑一下,100G大小的文件,一般是无法存到普通的计算机中的,我们的硬盘根本没这么大;我们可以使用前面讲的位图,一个整形32位,最多可以存42亿多的数据,100G的大文件,最多需要3.2G就可以放进去,但是却难以统计最多的IP地址。为了解决上面的问题,我们可以把大文件放到小文件中,再来统...

2018-04-08 21:34:03 676

原创 Linux线程

一、线程的概念我们知道进程有自己独立的地址空间运行,在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列“,一切进程至少都有一个执行线程。进程是资源竞争的基本单位,线程是程序执行的最小单位。1、进程的多个线程共享:1)同一地址空间,因此Text Segment、Data Segment都是共享的,如果定义一个函数,在各线程中都可以调用,如果定义一个全...

2018-04-02 21:56:18 923 1

空空如也

空空如也

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

TA关注的人

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