代码改变世界

随笔分类 -  算法---随机算法

mysql碎片

2021-07-03 00:10 by youxin, 307 阅读, 收藏, 编辑
摘要: 背景信息 本文描述的表空间碎片,指的是MySQL InnoDB引擎的表空间碎片; 产生原因 表空间碎片产生的常见原因: (1)记录被Delete,且原空间无法复用; (2)记录被Update(通常出现在变长字段中),原空间无法复用; (3)记录插入导致页分裂,页的填充率降低; 影响 如果表空间碎片较 阅读全文

洗牌算法汇总

2013-10-01 17:01 by youxin, 1253 阅读, 收藏, 编辑
摘要: 编程珠玑提到将一个数组随机重新洗牌,目的即打乱原有的排列。洗牌算法有以下几种.Fisher and Yates' original method该算法最初是1938年由Ronald A. Fisher和Frank Yates在《Statistical tables for biological, a... 阅读全文

水塘抽样问题

2013-10-01 04:18 by youxin, 6018 阅读, 收藏, 编辑
摘要: google曾经有一道面试题,十分有趣:I have a linked list of numbers of length N. N is very large and I don’t know in advance the exact value of N.How can I most effic... 阅读全文

蒙特卡罗算法 求数组主元素

2012-06-01 13:17 by youxin, 1227 阅读, 收藏, 编辑
摘要: 与拉斯维加斯算法不同,蒙特卡罗算法可能会偶然地产生不正确的答案。假定解某个问题的蒙特卡罗算法,对该问题的任何实例得到正确解的概率为p,并且有1/2<p<1,则称该蒙特卡罗算法是p正确的,该算法的优势为p-1/2;如果对同一个实例,该蒙特卡罗算法不会给出两个不同的正确答案,就称该算法是一致的,第一个一致的p正确的蒙特卡罗算法,如果重复第运行,每一次运行都独立地进行随机的选择,就可以使产生不正确答案的概率变得任意小。 用蒙特卡罗算法求数组主元素,随机地选择一个元素进行测试,如果它是主元素,就返回true,否则返回false,然后再对这个算法进行进一步的处理。#include<io 阅读全文