离散数学中的数据结构与算法
杨柳_
Java服务端研发,喜欢底层原理与基础算法设计
展开
-
【离散数学中的数据结构与算法】一 最大公约数与最小公倍数之间的关系
文章目录1 算数基本定理2 最大公约数3 最小公倍数4 性质5 推论1 算数基本定理设正整数 n>1, 则 n 可唯一地表示为:其中 p1<p2<,…, <ps 是 s 个相异的素数, 指数ki都是正整数。 此定理又称作唯一析因定理(unique factorization theorem) 。 该表达式称作整数 n 的素因子分解。例如:2 最大公约数...原创 2019-03-10 23:44:08 · 5208 阅读 · 0 评论 -
【离散数学中的数据结构与算法】十 汉诺塔
汉诺塔也是经典的算法问题文章目录1 汉诺塔问题1 汉诺塔问题法国数学家卢卡斯(Edouard Lucas)在1883年提出了一个数学游戏:传说在世界中心贝拿勒斯(印度北部)的圣庙里,一块黄铜板上有三根宝石柱。印度教的主神大梵天在创造世界的时候,在其中一根柱上从下到上地穿好了由大到小的64片金盘。大梵天命令僧侣们将圆盘从下面开始按大小顺序重新摆放在另一根柱子上,并且规定, 在小圆盘上不...原创 2019-03-22 22:46:12 · 1675 阅读 · 0 评论 -
【离散数学中的数据结构与算法】九 鸽巢原理
鸽巢原理是非常著名的原理,生活正用的也很多。文章目录1 简单鸽巢原理的应用2 定理(一般性鸽巢原理)2.1 应用3 总结1 简单鸽巢原理的应用定理(鸽巢原理)若有 n 个鸽巢, n+1 个鸽子,则至少有一个巢内有至少两个鸽子。例1假设在一个盒子里面有10双黑色袜子、 12双蓝色袜子和8双红色袜子。那么拿出4只袜子一定可以保证有同色的两只。每种颜色作为抽屉拿出的袜子数目作...原创 2019-03-22 22:10:38 · 1976 阅读 · 0 评论 -
【离散数学中的数据结构与算法】八 排列与组合四
上一篇文章学习了组合(不可重复选取的)。今天来将可重复选取的组合学习一下。文章目录1 可重复选取的组合-可重组合2 总结1 可重复选取的组合-可重组合现在有4种口味的棒棒糖,你要从中选3个(允许你选同种口味)总共有多少种不同的选法?定理:n取k的可重组合:假设从 n 个相异对象中选取 k 个对象,且允许重复选取,则不同的选取方法数目为 C(n+k-1, k) 。所以上述问题...原创 2019-03-18 00:26:29 · 893 阅读 · 0 评论 -
【离散数学中的数据结构与算法】七 排列与组合三
前两篇文章学习了不可重复选取的排列与可重复选取的可重排列。本篇文章开始学习组合的相关定理。文章目录1 组合1.1 组合的计算公式2 总结1 组合跟排列一样。组合也分为不重复选取的组合,与可重复选取的可重组合。本节内容主要学习不可重复选取的组合从 n 个不同元素中取 r 个不重复的元素组成一个子集, 而不考虑其元素的顺 序 , 称 为 n 取 r 的 组 合 ( r -combi...原创 2019-03-17 22:54:41 · 1135 阅读 · 0 评论 -
【离散数学中的数据结构与算法】六 排列与组合二
接着上一篇学习:【离散数学中的数据结构与算法】五 排列与组合一上一篇文章主要学习了可重复选取的可重排列和不可重复选取的排列。他们都是在n个不同的对象中选取。今天我们俩学习的是,当这个n个对象中有相同的元素的时候,排列的相关定理。文章目录1 问题的引入1.1 定理1 问题的引入由a, b, b, e, e, h, i, s, s, t, t, t可以组成多少个长度为12的字符串?...原创 2019-03-17 16:36:24 · 747 阅读 · 0 评论 -
【离散数学中的数据结构与算法】五 排列与组合一
在leetcode刷题过程中,遇到过很多关于排列组合的问题。弄清楚排列组合的相关原理,是非常有用处的。文章目录1 问题2 排列-有序选取2.1 重复选取-可重排列2.2 不重复选取-排列2.21 全排列3 例题4 总结1 问题设集合S包含n个元素,从S中选取r个元素有多少种选取方法?根据取出的元素是否允许重复,以及取出元素的过程是否有序,可以将上述问题分为下面的四个子类型:排列...原创 2019-03-17 15:57:51 · 1727 阅读 · 0 评论 -
【离散数学中的数据结构与算法】四 加法法则与乘法法则
文章目录1 加法法则2 乘法法则3 例子3.1 例一3.2 例二3.3 例三4 总结1 加法法则加法法则:设事件 A 有 m 种产生方式, 事件 B 有n 种产生方式,则当 A 与 B 产生的方式不重叠时,“事件 A 或 B 之一” 有m+n 种产生方式。加法法则又称作加法原理(addition principle)。适用于分类选取问题。加法法则的推广:事件 A1有 p...原创 2019-03-17 01:43:49 · 3606 阅读 · 0 评论 -
【离散数学中的数据结构与算法】三 同余定理
原创 2019-03-11 23:27:30 · 1167 阅读 · 0 评论 -
【离散数学中的数据结构与算法】二 欧几里得算法与裴蜀等式
欧几里得算法是计算两个数最大公因子算法。又称辗转相除法。本文将学习为什么辗转相除法可以求得两个数的最大公因子。同时也可以根据最大公因子计算两个数的最小公倍数。文章目录1 欧几里得算法的理论基础1.1 欧几里得算法(辗转相除法)2 裴蜀等式(贝祖等式)1 欧几里得算法的理论基础设 a=qb+r, 其中 a, b, q, r 都是整数, 则GCD(a, b) = GCD(b, r)...原创 2019-03-11 23:27:09 · 1132 阅读 · 0 评论 -
【离散数学中的数据结构与算法】十一 错排问题
错排问题比较难,但是也是经典算法问题文章目录1 错排问题2 总结1 错排问题家中阳台有10盆不同的花,为保持新鲜感,希望每天重新摆放,使得每盆花都不在第一天放的位置。那么最多可以保持多少天每天摆法都不同?这是一个典型的错排问题。错排的定义:若一个 n 元素的全排列中所有的元素都不在本来的位置上,那么称这个全排列就为原排列的一个错排(derangement) 。也称作“伯努利-欧拉错...原创 2019-03-22 23:20:58 · 1887 阅读 · 0 评论