Database Conflict Serializability [数据库冲突可串行化]
数据库并发控制的一个重要概念就是Serializability[可串行化],先上两个教科书的解释
数据库并发控制的一个重要概念就是Serializability[可串行化],先上两个教科书的解释
硬盘数据库就是数据库主体构建在硬盘上,相对的内存数据库是指数据库主体构建在内存中,两者各有优势。这里说的内存管理是指硬盘数据库的内存管理,因为内存数据库整个都在内存中其管理方式必然有着不同的设计。
Huffman code是由David Albert Huffman在MIT与其同学发明的一种用语数据压缩的编码方式。
除了最短路径[shortest path]问题,图的另一个经典问题是最小生成树。给定一个图[一般是无向图],有n个点及一些连接的边每个边上都有对应的权重[权重可以用来描述任何可以量化的因素],现在我们想要寻找一个子图能够将所有的点都链接起来[也就是说在这个子图内,任何两个节点可以直接或者间接连通],并且要求子图的权重最小。这个子图就是所谓的最小生成树,或者更准确的说最小权重生成数[最小生成树不是惟一的,一个图可能有多个不同的最小生成树,比如两条边的权重一样,选择任何一条都可以形成最小生成树]。
Terms [专有名词]
前文介绍的Floyd-Warshell算法是解决多源最短路径问题[mutiple-source shortest-paths problem],即多个起始点的最短路径,而Dijkstra最短路径算法则是解决单源最短路径问题[single-source shortest-paths problem],也即是给定一个点,只需计算出该点到达另一点的最短路径即可。Dijkstra算法是贪心算法思想的成功应用,其核心思想是每次找到离源点最近的一个顶点,然后以该顶点为中心进行扩展,最终得到源点到其余所有点的最短路径。
最短路径问题是图论,乃至整个计算机算法领域的一个重要问题,寻找最短路径的方法根据情况不同也会有不同的变化,Floyd算法算是其中比较简单易用的一个。
发表在著名hack杂志Phrack上的文章 Smashing The Stack For Fun And Profit 第一次具体详细描述了如何实施buffer overflow[缓存溢出]攻击[其作者就是著名的Elias Levy]。