除留余数法是哈希表中常用的哈希函数,假设哈希表的大小为\(m\),则除留余数法的哈希函数的一般形式为:

\[ hash(key) = key \% p \]

其中\(p\)是不大于\(m\)且最接近\(m\)的素数。

参考文献:《数据结构——用面向对象方法与C++语言描述》第2版

现在问题来了:\(p\)的选取为什么非得是素数呢?

阅读全文 »

问题

当我们使用Markdown写文档需要输入数学公式的时候,通常使用Latex去书写数学公式,但Markdown的一些符号和Latex的一些符号是冲突的,例如下划线_在Latex中是下标的意思,在Markdown中是<em>标签的意思。

Hexo默认使用marked.js去解析我们写的markdown,碰到Latex公式中和Markdown冲突的符号的时候,比如下划线_,这个辣鸡marked.js就自动处理成<em>,于是Mathjax识别Latex公式的时候就会渲染成奇怪的东西。

数学公式渲染问题的解决方法已经在NexT官方文档里给出了详细的说明和建议

阅读全文 »

总结一下Hamming距离,奇偶校验码,Hamming码的知识

主要参考:《计算机网络》——Tanenbaum

阅读全文 »