
算法
文章平均质量分 69
1加一
这个作者很懒,什么都没留下…
展开
-
图解并查集
前言并查集是一种非常有用且高效的数据结构,千万不要被这个极具专业性的名字吓到了,它的算法思想和代码实现都非常简单,不需要花太大力气就可以轻松掌握。下面就通过画图等方式为大家介绍一下这种神奇的数据结构。一、 图解并查集并查集有两个英文名:1、Disjoint Set,2、Union Find。它的作用就是把一个数据集分成若干个子集,每个子集内部数据可以互联互通,而子集之间则不具有连通性。并查集的底层结构类似于堆(不熟悉堆的同学赶紧去复习一下堆排序,面试频率很高哦),也是用数组描述一种树结构,但不同的是,原创 2021-01-13 23:54:49 · 762 阅读 · 0 评论 -
证明辗转相除法(欧几里德算法)
定理:两个整数的最大公约数等于其中较小的那个数和两数的相除余数的最大公约数。最大公约数(greatest common divisor)缩写为gcd。证明:gcd(a,b) = gcd(b,a mod b) (不妨设a>b 且r=a mod b ,r不为0) a可以表示成a = kb + r(a,b,k,r皆为正整数),则r = a mod b12,18的公因数有:1,2,3,6。由算法gcd(a,b)=gcd(b,a%b)有gcd(12,18)=gcd(18,12%18)=gcd(18,1原创 2021-01-08 21:49:19 · 761 阅读 · 0 评论 -
除余定理
模的四则运算:(a + b) % p = (a % p + b % p) % p(a - b) % p = (a % p - b % p ) % p(a * b) % p = (a % p * b % p) % pa ^ b % p = ((a % p)^b) % p结合律:((a+b) % p + c) % p = (a + (b+c) % p) % p((ab) % p * c)% p = (a * (bc) % p) % p交换律:(a + b) % p = (b+a) % p(.原创 2020-12-24 17:24:57 · 1211 阅读 · 1 评论 -
卡特兰数
一、关于卡特兰数卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452, …转载 2020-12-19 23:08:44 · 786 阅读 · 1 评论 -
算法:1. 两数之和
给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法一:暴力枚举 思路及算法最容易想到的方法是枚举数组中的每一个数x,寻找数组中是否存在target - x。c...原创 2020-10-23 21:28:23 · 288 阅读 · 0 评论