课程学习归纳总结(0228)

来源:互联网 发布:淘宝店铺街在哪里 编辑:程序博客网 时间:2024/06/07 01:09

概率论与数理统计

概率

  1. 古典概型的两个特征: 有限性和等可能性。其中有限性表明的是古典概型的实验结果是有限的,等可能性表示的是每个实验结果在一次试验中出现的概率相等。
  2. 古典概型同时也叫做等可能概型。那么此处几何概型呢?
  3. 几何概型的特征: 等可能性。 其相对于古典概型少了实验结果有限的限制;
  4. 几何概型对应于于一维表示的是直线段的长度,在二维中表示的是一定区域的面积,在三维中表示的是一定空间的体积,同时如果升级到更高的维度也具有一定的物理意义,但是由于认知的局限性,因此无法将其进行直观化的描述;
  5. 概率的统计意义具有三点:非负性,规范性以及有限可加性。其中,非负性表示的是对于任何一个可能的事件其概率一定为整数,规范性指的是必然事件的概率为1,有限相加性指的是如果事件之间两两互斥,那么其和事件的概率与各个事件发生的概率的和相等。
  6. 我们如果在相同的条件下进行了N次重复性实验,在这N次重复性实验中,事件A发生的次数为N(a),那么后者与前者的比值表示的是事件A发生的频率。
  7. 当实验的重复次数足够多时,我们可以用频率的稳定值来表示事件A发生的概率。
  8. 其中,一般频率用f来表示,概率仍然使用P来进行表示。

计算机算法设计与分析

递归与分治策略

  1. 直接或者是间接调用自身的算法称之为递归算法。
  2. 并非一切递归函数都可以使用非递归的形式进行定义。能否举出具体的实例化结果;
  3. 当一个函数和它的一个变量由函数自身定义时,那么称这个函数为双递归函数。如Ackerman函数。
  4. 递归的优势在于递归算法结构清晰,可读性强,且容易使用数学归纳法证明算法的正确性,因此为设计算法、调试程序带来了很大的方便;
  5. 递归的缺点在于递归算法的运行效率较低,无论是耗费的事件还是占用的存储空间都比非递归算法要多。
  6. 思考:如果一个算法是递归的,那么可以通过什么方式来增强其算法的运行效率以及减小空间资源的消耗呢?
  7. 通常在一个算法调用另外一个算法时,系统需要在调用算法之前完成三件事情:
    1).将所有实参指针、返回地址等信息传递给被调用算法;
    2).为被调用算法的局部变量分配存储区;
    3).将控制转移到被调用算法的入口。
  8. 在从被调用算法返回调用算法时,系统也需要相应地完成三件事:
    1). 保存被调用算法的计算结果;
    2). 释放分配给调用算法的数据区;
    3). 依照被调用算法保存的返回地址将控制转移到调用算法。
  9. 综上所述,在一个算法调用另外一个算法时,首先要留一条后路–返回地址,同时也要为被调用算法需要的局部变量分配新的空间,同时将程序控制权交给被调用算法;而从被调用算法中返回到调用算法需要完成的三件事情则是首先将被被调用算法申请的局部变量的空间进行释放,同时将被调用算法的计算结果返回给调用算法,同时将程序的控制权交给调用算法。
  10. 分治法的基本思想:分治法的基本思路是将一个规模为N的问题分解为k个规模较小的子问题,然后使用递归的方法将这些子问题分别求解,最后将各个子问题的解进行合并就得到了原问题的解。
  11. 分治法的适用条件:
    1). 原问题的规模减小时更容易求解;
    2). 原问题可以划分为同类的小规模问题;
    3). 子问题的解可以合并为原问题的解;
    4). 分解出来的子问题之间相互独立;
  12. 其中分治法与贪心法以及动态规划的明显差异是后两者不需要子问题的解可以合并为原问题的解,同时独立性不好时也可以采用动态规划的方式。
  13. 在用分治法设计算法时,最好使子问题的规模大致相同;
  14. 根据递归式判断算法运行时间的方法有三种,分别为:
    1). 猜测法。 T(n) = 4 T(n/2) + n,
    2). 递归树 T(n) = T(n/2) + T(n/4) + n ^2,
    3). 主定理,分三种情况进行分析
0 0
原创粉丝点击