数据结构与算法顾名思义包含数据的基本结构和算法分析。开始学习数据结构与算法,但是高等数学已经忘得差不多了。在这里,先把需要复习的高等数学公式在这里记录下。
指数
指数:是幂运算aⁿ(a≠0)中的一个参数,a为底数,n为指数,指数位于底数的右上角。当n=0时,。
指数的常用公式:
对数
对数是指以幂为自变量,指数为因变量,底数为常量的函数。例:如果ax=N(a>0,且a≠1),那么数x叫做以a为底N的对数,记做x=logaN。
基本公式:;;*=1;
常用公式:
级数
级数是指将数列的项依次依次用加号连接起来的函数。典型的级数有正项级数、交错级数、幂级数等。级数是指将数列un的项u1,u2,u3.........依次用加号连接起来的函数,是数项级数的简称,简写为。un记为级数的通项,记称之为级数的部分和。
常用公式:
模运算
模运算:模是“Mod”的音译。模运算多运用于程序编写中。Mod的含义为求余。如果N整除A-B,那么就说A与B模N同余,这意味着无论是A还是B被N去除,所得的余数都是相同的。a≡b (% p)。例如 11 ≡ 4 (% 7), 18 ≡ 4(% 7)。
常用定理:
(a + c) ≡ (b + c) (%p)
(a * c) ≡ (b * c) (%p)
证明的方法
证明的方法包括:归纳法证明、反证法证明。
归纳法证明:归纳法证明有两个标准的部分。第一步证明基准情形,接着进行归纳假设。
反证法证明:反证法证明是通过假设定理不成立,然后证明该假设导致某个已知的性质不成立。
递归
递归:程序调用自身的编程技巧称为递归。
递归的基准法则:
- 基准情形。必须要有某些基准情形,不用递归就能求解;
- 不断推进。对于那些要递归求解的情形,递归调用必须总能朝着一个基准情形推进。
- 设计法则。假设所有的递归都能调用。
- 合成效益法则。在求解一个问题的同一实例时,切勿在不同的递归调用中做重复性工作。
java泛型程序小示例
public static <AnyType extends Comparable<? super AnyType>> AnyType findMax(AnyType[] arr){ int maxIndex = 0; for( int i=1;i<arr.length;i++){ if(arr[i].compareTo(arr[maxIndex])>0){ maxIndex = i; } } return arr[maxIndex]; }