定量金融学gydF4y2Ba

计算机科学概念gydF4y2Ba

大O符号gydF4y2Ba

数字序列的前缀和gydF4y2Ba 一个gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba 一个gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba 一个gydF4y2Ba 2gydF4y2Ba ,gydF4y2Ba 一个gydF4y2Ba 3.gydF4y2Ba ...gydF4y2Ba a_0、a_1, a_3 \ ldotsgydF4y2Ba 是由第二个数字序列给出的gydF4y2Ba 年代gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba 年代gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba 年代gydF4y2Ba 2gydF4y2Ba ,gydF4y2Ba 年代gydF4y2Ba 3.gydF4y2Ba ...gydF4y2Ba s_0 s_1、s_2、s_3 \ ldotsgydF4y2Ba 定义为gydF4y2Ba

年代gydF4y2Ba jgydF4y2Ba =gydF4y2Ba ∑gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba jgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba S_j = \sum_{i=1}^{j}a_igydF4y2Ba

下面的Python代码计算前缀和。gydF4y2Ba

1 2 3 4 5 6 7 8 9gydF4y2Ba
defgydF4y2Ba年代gydF4y2Ba(gydF4y2Ba一个gydF4y2Ba,gydF4y2BajgydF4y2Ba):gydF4y2Baprefix_sumgydF4y2Ba=gydF4y2Ba0gydF4y2Ba而gydF4y2BajgydF4y2Ba> =gydF4y2Ba0gydF4y2Ba:gydF4y2Ba我gydF4y2Ba=gydF4y2Ba0gydF4y2Ba而gydF4y2Ba我gydF4y2Ba< =gydF4y2BajgydF4y2Ba:gydF4y2Baprefix_sumgydF4y2Ba+ =gydF4y2Ba一个gydF4y2Ba[gydF4y2Ba我gydF4y2Ba]gydF4y2Ba我gydF4y2Ba+ =gydF4y2Ba1gydF4y2BajgydF4y2Ba- =gydF4y2Ba1gydF4y2Ba返回gydF4y2Baprefix_sumgydF4y2Ba

分析代码,找出执行次数最多的一行或几行。gydF4y2Ba

选择一个或多个gydF4y2Ba

下面的Java代码片段描述了一个递归方法gydF4y2Ba PgydF4y2Ba PgydF4y2Ba 它接受两个整数参数gydF4y2Ba xgydF4y2Ba xgydF4y2Ba 而且gydF4y2Ba ngydF4y2Ba ngydF4y2Ba 并返回一个整数。gydF4y2Ba

12 3 4 5 6 7 8 9 10 11 12 13gydF4y2Ba
公共gydF4y2BaintgydF4y2BaPgydF4y2Ba(gydF4y2BaintgydF4y2BaxgydF4y2Ba,gydF4y2BaintgydF4y2BangydF4y2Ba) {gydF4y2Ba如果gydF4y2Ba(gydF4y2BangydF4y2Ba==gydF4y2Ba0gydF4y2Ba) {gydF4y2Ba返回gydF4y2Ba1gydF4y2Ba;gydF4y2Ba}gydF4y2Ba如果gydF4y2Ba(gydF4y2BangydF4y2Ba%gydF4y2Ba2gydF4y2Ba==gydF4y2Ba1gydF4y2Ba) {gydF4y2BaintgydF4y2BaygydF4y2Ba=gydF4y2BaPgydF4y2Ba(gydF4y2BaxgydF4y2Ba,gydF4y2Ba(gydF4y2BangydF4y2Ba-gydF4y2Ba1gydF4y2Ba)gydF4y2Ba/gydF4y2Ba2gydF4y2Ba);gydF4y2Ba返回gydF4y2BaxgydF4y2Ba*gydF4y2BaygydF4y2Ba*gydF4y2BaygydF4y2Ba;gydF4y2Ba}gydF4y2Ba其他的gydF4y2Ba{gydF4y2BaintgydF4y2BaygydF4y2Ba=gydF4y2BaPgydF4y2Ba(gydF4y2BaxgydF4y2Ba,gydF4y2BangydF4y2Ba/gydF4y2Ba2gydF4y2Ba);gydF4y2Ba返回gydF4y2BaygydF4y2Ba*gydF4y2BaygydF4y2Ba;gydF4y2Ba}gydF4y2Ba}gydF4y2Ba

分析表明,该函数的运行时间为较大gydF4y2Ba ngydF4y2Ba ngydF4y2Ba 可以表示为gydF4y2Ba TgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba =gydF4y2Ba OgydF4y2Ba (gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba )gydF4y2Ba T(n) = O(g(n))gydF4y2Ba 对于某个函数gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba g (n)gydF4y2Ba .什么是有效函数gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba g (n)gydF4y2Ba ?gydF4y2Ba

细节和假设gydF4y2Ba

  • ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba g (n)gydF4y2Ba 准确地描述了的渐近运行时gydF4y2Ba PgydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba ygydF4y2Ba )gydF4y2Ba P (x, y)gydF4y2Ba .gydF4y2Ba
  • 忽略的局限性gydF4y2BaintgydF4y2Ba基本类型,并假设方法的行为不受大输入的影响。gydF4y2Ba
1 2 3 4 5 6 7 8 9 10 11gydF4y2Ba
intgydF4y2Ba函数gydF4y2Ba(gydF4y2BaintgydF4y2BangydF4y2Ba)gydF4y2Ba{gydF4y2BaintgydF4y2Ba我gydF4y2Ba;gydF4y2Ba如果gydF4y2Ba(gydF4y2BangydF4y2Ba< =gydF4y2Ba0gydF4y2Ba)gydF4y2Ba{gydF4y2Ba返回gydF4y2Ba0gydF4y2Ba;gydF4y2Ba}gydF4y2Ba其他的gydF4y2Ba{gydF4y2Ba我gydF4y2Ba=gydF4y2Ba随机gydF4y2Ba(gydF4y2BangydF4y2Ba-gydF4y2Ba1gydF4y2Ba);gydF4y2Ba返回gydF4y2Ba函数gydF4y2Ba(gydF4y2Ba我gydF4y2Ba)gydF4y2Ba+gydF4y2Ba函数gydF4y2Ba(gydF4y2BangydF4y2Ba-gydF4y2Ba1gydF4y2Ba-gydF4y2Ba我gydF4y2Ba);gydF4y2Ba}gydF4y2Ba}gydF4y2Ba

考虑上面的递归算法,其中gydF4y2Ba随机(int n)gydF4y2Ba用一个单位时间返回一个在范围内均匀分布的随机整数gydF4y2Ba [gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba ngydF4y2Ba ]gydF4y2Ba [0, n]gydF4y2Ba .如果平均处理时间为gydF4y2Ba TgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba T (n)gydF4y2Ba 的价值是什么gydF4y2Ba TgydF4y2Ba (gydF4y2Ba 6gydF4y2Ba )gydF4y2Ba T (6)gydF4y2Ba ?gydF4y2Ba

假设除指令外的所有指令gydF4y2Ba随机gydF4y2Ba花费的时间可以忽略不计。gydF4y2Ba

下面的简单递归python程序可用于计算gydF4y2Ba ngydF4y2Ba tgydF4y2Ba hgydF4y2Ba n ^ {th}gydF4y2Ba Fibonnaci号码。gydF4y2Ba

1 2 3 4 5gydF4y2Ba
defgydF4y2Ba斐波那契gydF4y2Ba(gydF4y2BangydF4y2Ba):gydF4y2Ba如果gydF4y2BangydF4y2Ba在gydF4y2Ba[gydF4y2Ba0gydF4y2Ba,gydF4y2Ba1gydF4y2Ba]:gydF4y2Ba返回gydF4y2BangydF4y2Ba其他的gydF4y2Ba:gydF4y2Ba返回gydF4y2Ba斐波那契gydF4y2Ba(gydF4y2BangydF4y2Ba-gydF4y2Ba1gydF4y2Ba)gydF4y2Ba+gydF4y2Ba斐波那契gydF4y2Ba(gydF4y2BangydF4y2Ba-gydF4y2Ba2gydF4y2Ba)gydF4y2Ba

可以看出,该程序的紧界为gydF4y2Ba TgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba =gydF4y2Ba ΘgydF4y2Ba (gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba )gydF4y2Ba T(n) = \Theta(g(n))gydF4y2Ba 对于某个函数gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba g (n)gydF4y2Ba .什么是函数族gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba g (n)gydF4y2Ba 在吗?gydF4y2Ba

细节和假设gydF4y2Ba

一种明显的求幂算法(gydF4y2Ba xgydF4y2Ba ngydF4y2Ba x ^ {n}gydF4y2Ba )gydF4y2Ba ngydF4y2Ba −gydF4y2Ba 1gydF4y2Ba n - 1gydF4y2Ba 乘法。假设我们提出一种更快的算法gydF4y2Ba ngydF4y2Ba =gydF4y2Ba 2gydF4y2Ba 米gydF4y2Ba n = 2 ^ {m}gydF4y2Ba .该算法的Big-O复杂度可以表示为:gydF4y2Ba

TgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba =gydF4y2Ba OgydF4y2Ba (gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba )gydF4y2Ba T (n) = O (g (n))gydF4y2Ba

取gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba g (n)gydF4y2Ba 对于任意的gydF4y2Ba ngydF4y2Ba ngydF4y2Ba .如果我们乘以gydF4y2Ba ngydF4y2Ba ngydF4y2Ba 通过某个常数gydF4y2Ba kgydF4y2Ba kgydF4y2Ba ,会有怎样的价值gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba g (n)gydF4y2Ba 最有可能的改变?gydF4y2Ba

×gydF4y2Ba

问题加载…gydF4y2Ba

注意加载…gydF4y2Ba

设置加载…gydF4y2Ba