数学中的算法----数,数列

数列问题真的很头疼,需要不少数学基础和概念,有些复杂不好记的早丢了,只能总结些定义一看即懂的数列了

常见概念:

质数/素数
合数
约数
质因数

阶乘
排列公式
组合公式
二分求幂

卡特兰数

唯一因式分解定理

约数个数定理

中国余数定理(不太明白)

斐波那契数列

费马小定理

哥德巴赫猜想

等差数列

等比数列



常见:

swap

奇偶判断(与2的关系或用位与1的关系)

公约数,公倍数

最大公约数(欧几里德算法)

不要被阶乘吓倒(.求N!末尾有多少个0;求N!二进制最低位1的位置)

数组中出现次数超过一半的数字

1-n整数中1出现的次数(对n上每一位进行判断,分别是高位,该位,低位三种情况累加)

寻找最大的K个数

精确表达浮点数

编程之美2.8

寻找数组中的最大值和最小值

寻找数组中的次大值的最优算法(n+lgn,利用败者树减少比较次数)

快速寻找满足条件的两个数

子数组的最大乘积

连续子数组的最大和

数组的循环移位

一个数组分割为两个和最接近的

数值的整数次方(二分求幂加速)

Fibonacci斐波那契数列(用矩阵乘法+二分求幂加速)

打印1到最大的n位数(全排列)

各种大数加减乘除,阶乘,模

求第K个丑数

n个骰子的点数(点数之和S所有可能值的概率,递归会有重复计算,用递推循环自底向上)

扑克牌的顺子

约瑟夫环问题(链表模拟可以解决但性能不好,用递推公式循环,自底向上)

不用加减乘除做加法


中国剩余定理


中位数或第k大的数的select算法(基于partition)


100盏灯问题:参考:http://gzcsl.blog.163.com/blog/static/4103020088244441761/


二分法解方程

你可能感兴趣的:(算法)