ChaosNyaruko's Digital Space

Thinking will not overcome fear but action will.

KMP算法中DFA的构造

以下内容转载自https://stackoverflow.com/questions/30548170/dfa-construction-in-knuth-morris-pratt-algorithm,帮助理解KMP算法中根据模式串构造DFA,以及与LPS的关系 Question I am referring to the outline of the Knuth-Morris-Pr...

稳定婚姻问题及其在CDN调度分发中的应用

稳定婚姻问题 Stable Marriage Problem定义 两个集合men、women数量相等,每个人持有对异性的好感度顺序表。现在假定要对这n对进行匹配,如果某种匹配存在同时满足以下三个条件的m-w对(blocking-pair),则认为此匹配是不稳定的:1)m和w目前没有订婚(意味着它们的订婚对象是别人) 2) 在m的优先级列表中,w的级别比当前订婚对象高 3) 在w的优先级列...

The Slice Type

Concept A partial reference of a contiguous sequence of elements in a collection. contiguous a data type that does not have ownership Usage String Slices let s = String::from("hello world...

References

References Something like &String, the concept is similar to a Pointer in C/C++/Golang/… It will not take the ownership, thus we can drop some tuple code to make it simpler. Borrowing having ...

Rust中的核心概念之一-Ownership

什么是Ownership Ownership是Rust中的一个核心特点,可以理解成是Rust做到内存安全的重要手段。不同于带GC的语言或是C/C++这样显式管理内存的语言,ownership系统实现了在编译期管理内存(但又不需要程序员过分手动介入)从而避免了GC开销。 硬要说的话个人感觉像是C++中的RAII,但是由于带有编译器级别的检查,比C++更不容易出错。 Ownership的规则 ...

树堆

伪平衡二叉树的一种简单实现

树堆的基本概念 树堆(Treap)是二叉排序树(Binary Sort Tree)与堆(Heap)结合产生的一种拥有堆性质的二叉排序树。 但是这里要注意两点,第一点是Treap和二叉堆有一点不同,就是二叉堆必须是完全二叉树,而Treap并不一定是;第二点是Treap并不严格满足平衡二叉排序树(AVL树)的要求,即树堆中每个节点的左右子树高度之差的绝对值可能会超过1,只是近似满足平衡二叉排序...

Rust Common Programming Concepts

介绍一些Rust的基本语法概念,这些概念在很多别的语言中找到类似的表示,有相同也有区分。 Variable and Mutability Rust中的变量默认是不可变的(immutable), Rust的安全性和易写并发的推手(nudge)之一 不可变变量并不等于常量(constants) 始终不可变,并且总是需要[annotate] 可以在任何...

初识Rust

Rust简单介绍

Rust简要概括 Rust是一门编译型语言 rustup是Rust工具链管理工具 rustc是Rust的编译器 cargo是Rust的高级构建工具和包管理工具 rustc可用于简单文件编译,但更建议使用cargo来进行工程化的管理,可适用于更复杂的工程 带!的“函数”是Rust中的Macro,具体见官方教程19章 可使用cargo build –release构...

我的第一篇文章-测试

简易博客建立

一个简单学习markdown的参考:xianbai.me