zoukankan      html  css  js  c++  java
  • 数据结构与算法分析笔记-前置知识

    背景

    这部分内容是我学习 数据结构与算法分析 java语言描述的学习笔记,希望对大家有帮助。


    数学知识复习

    指数相关

    • XAXB=XA+B

    • $ frac{XA}{XB} $=XA-B

    • (XA)B​ = XAB

    • XN + XN= 2XN

    • 2N + 2N = 2N+1

    对数相关

    • logA B = $ frac{logc B}{logc A} $
    • log AB = log A + log B
    • log A/B = log A - log B
    • log AB =B(log A)

    级数相关

    几何级数
    • $ sum_{i=0}{N}{2i} $ = 2N+1 -1
    • $ sum_{i=0}{N}{Ai} $ = AN+1-1/(A-1)
    • 若 0$ leq$ A $leq$ 1, $ sum_{i=0}{N}{Ai} $ $leq$ $ frac{1}{1-A} $
    算数级数
    • $ sum_{i=0}^{N}{i} $ = $ frac{N(N+1)}{2} $
    • $ sum_{i=0}{N}{i2} $ = $ frac{N(N+1)(2N+1)}{6} $

    模运算

    • 如果A模N和B模N可以得到相同的余数,这样表示:A $ equiv $ B (mod N)
    • 如果有 A $ equiv $ B (mod N)
      • A + C $equiv$ B + C (mod N)
      • AD $equiv$ BD (mod N)

    证明方法

    归纳法证明

    归纳法证明可以分下面几步:

    1. 基准证明:确定定理对于小的值的正确性
    2. 归纳假设:假设定理对于某个有限数k是成立的
    3. 使用归纳假设的定理,证明对k+1也是成立的

    由此定理得证

    例子:证明斐波那契数列,对于i $geq$ 1,都有Fi < (5/3)i 成立

    下面按照上面学习的步骤来证明

    基准假设:对于i=1,i=2,都有F1 = 1 < (5/3)1 和 都有F2 = 2 < (5/3)2 成立

    归纳假设:假设对于有限数k,都有Fk < (5/3) K成立

    最后证明:

    已知Fk+1 = Fk + Fk-1 ,代入第二步的假设定理

    最后化简 Fk+1 < (24/25)(5/3) k+1 < (5/3) k+1

    反证法

    反证法的证明过程:

    1. 先假设要证明的定理不成立
    2. 证明该假设导致某个已知的性质不成立
    3. 推断原假设是错误的。

    例子:证明存在无穷多个素数。

    下面按照上面的步骤证明

    假设定理不成立,那么有最大的素数Pk,以构造一个自然数M,另M=P1P2P3...Pk+1

    显然M不能够被P1P2...Pk整除,总会余1,由此可以推断

    • 要么M是一个素数
    • 要么M是一个合数,任意一个整数要么是素数,要么是素数的乘积,那么肯定有不在P1P2...Pk这个集合外的素数存在,使得M可以被那个素数整除

    和已知假设矛盾,所以可以得证,存在无穷多个素数。

    附录

    typora数学公式语法示例

    神奇的素数

  • 相关阅读:
    $_ENV 为空的原因
    Android-自动完成提示框CompletionTextView
    Android-Spinner下拉列表
    Android-自定义进度条
    Android-自定义RadioButton
    Android-原生对话框
    Android-Style样式
    Android-ListView-(BaseAdapter使用)
    Android-ListView-(BaseAdapter初步)
    Android-ListView-SimpleAdapter
  • 原文地址:https://www.cnblogs.com/ging/p/13468760.html
Copyright © 2011-2022 走看看