原文链接

Bloom Filter 概念和原理

焦萌 2007 年 1 月 27 日

Bloom Filter 是一种空间效率很高的随机数据结构,它利用位数组很 简洁地表示一个集合,并能判断一个元素是否属于这个集合。 Bloom Filter 的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。 因此,Bloom Filter 不适合那些 “零错误” 的应用场合。而在能容忍低错误率的应用场合下,Bloom Filter 通过极少的错误换取了存储空间的极大节省。

阅读全文 »

LDA数学八卦

Game 9 Unigram Model

  1. 上帝 只有一个骰子 ,这个骰子有V个面,每个面对应一个词、各个面的概率不一
  2. 每抛一次骰子,抛的面就对应一个词的产生;如果一篇文档有n个词,上帝就独立地抛n次骰子产生n个词
阅读全文 »

回归

研究生期间(研一+研二上)有所懈怠,新学期伊始,诸事烦扰(准备找实习,中期考核),遂重启记录学习与生活的点滴!

阅读全文 »

- [前言](#前言)
- [实操](#实操)
    - [编码环境](#编码环境)
    - [Paragram Params](#paragram-params)
    - [标准输入System.in](#标准输入systemin)
        - [System类回顾](#system类回顾)
    - [封装System.in](#封装systemin)
        - [Scanner简述](#scanner简述)
        - [Scanner类常用方法](#scanner类常用方法)

前言

最近突然收到好友提问如何在IDE里想Java程序传递参数,首先想到了Paragram Params,但是具体位置及基本配置竟一时无法想起。。。近一年来基本没有进行编码,悲哀。

实操

编码环境

IDE: IntelliJ IDEA

阅读全文 »

目录

New I/O

旧的 I/O 包已经使用 nio 重新实现过,以便充分利用这种速度提高

速度的提高来自于所使用的数据集结构更接近于操作系统执行的 I/O 方式:通道缓冲器,唯一直接与通道交互的缓冲器ByteBuffer。旧的 I/O 库中的FileInputStream,FileOutputStream,RandomAccessFile可以用来生成FileChannel;ReaderWriter不能用于产生通道,但是在java.nio.channels.Channels类中提供了在通道中产生ReaderWriter的方法。

阅读全文 »

双网卡配置

环境:win10 要求:两张网卡,一张用于内网网络;另一张用于连接外网

网络环境

1
2
3
4
5
6
7
8
9
10
11
12
13
# 外网网卡
wlan0{
address 192.168.0.111
netmask 255.255.255.0
gateway 192.168.0.1
}

# 内网网卡
wlan1{
address 192.168.11.123
netmask 255.255.255.0
gateway 192.168.11.1
}

操作

修改路由表项

1
2
3
4
5
6
7
8
9
10
$route print
IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.114 40
0.0.0.0 0.0.0.0 192.168.11.1 192.168.11.100 306
$route delete 0.0.0.0 //删除所有0.0.0.0相关的ip路由项
$route -p add 192.168.11.0 mask 255.255.255.0 192.168.11.1 //内网路由转发
$route -p add 0.0.0.0 mask 0.0.0.0 192.168.0.1 //外网路由转发

数据结构

数据结构:线性表,栈,队列
操作:排序,查找

数据结构对应分析 desp
逻辑结构 线性结构、树、图、集合
存储结构 顺序存储、链式存储、索引存储、哈希存储(直接存储)

评判标准

  • 内存存储空间的利用率
  • 访问数据的便捷性(随机访问,顺序访问)

线性表

唯一前驱,唯一后继

链式存储

基本分类

  • 单链表
  • 双链表
  • 循环单链表(带尾指针)
  • 循环双链表

操作

  • 头插法,尾插法
  • 双指针操作

单链表环路

快(两步走)慢(一步走)两指针,当存在环路时,必存在两指针相遇情况

变量 简要说明
a 链表起点至环路起点的距离
x 环路位置至相遇点位置的距离
r 环路长度
l 慢指针移动步数
g 相遇点至环路起点位置
1
2
3
4
5
2*L - L = n*r  (n为任意常数)
L= n*r
L= a+x

a+x=n*r ==> a=n*r - x = (n-1)r + g

由于a = (n-1)r + g故可知: 从相遇点与起点同时相同速度出发的指针会相遇于环路起点

0%