
发表日期: 2021-04-13 10:07:01 浏览次数:152
衡水网站制作要多少钱【域名企业邮箱服务器注册申请办理】衡水网络优化公司哪家好、衡水软件开发外包价格、衡水高端企业网站页面制作设计专业公司、衡水微信公众号小程序购物支付搭建制作公司
衡水,河北省地级市,位于河北省东南部,介于东经115°10′-116°34′,北纬37°03′-38°23′之间,东部与沧州市和山东省德州市毗邻,西部与石家庄市接壤,南部与邢台市相连,北部同保定市和沧州市交界,总面积8815平方公里。 [1-2] 衡水市地处河北冲积平原,地势自西南向东北缓慢倾斜,海拔高度12米~30米。属大陆季风气候区,为温暖半干旱型,是京津重要的农副产品加工供应基地。衡水属于环渤海经济圈和首都经济圈的“1+9+3”计划京南区,为环渤海区域合作市长联席会议成员市,被费孝通称为“黄金十字交叉处”。 [2-5]
衡水所辖冀州为九州之首。河北省称冀,也缘于此,涌现出了董仲舒、孔颖达、高适、孙犁等知名人物。截至2016年,衡水有国家级非物质文化遗产保护项目6项,省级非遗保护项目33项,市级非遗保护项目55项,境内有衡水湖、武强年画博物馆、冀州城等旅游景点。 [2] [6-8]
截至2019年末,衡水市辖2个市辖区,1个县级市,8个县,户籍人口457.8万人,常住人口448.6万人;实现生产总值1504.9亿元,人均生产总值33599元。 2019年10月23日,被确定为“第三批城市黑臭水体治理示范城市”。
考虑一下n=4且m=2的情况。我们在图4-8第5行的第3个条目处找到了 的值。该条目为6,而很容易验证
。
通过公式(4.4)或是上述递归这两种方法计算,计算出的自然是相同的值。可以通过诉诸物理推理(physical reasoning)来证实这一点。两种方法计算的都是从n 项中无序选择m 项的方法数,所以一定会得出相同的值。不过,还可以通过对n 的归纳证明这两种方式的等价性。在这里将该证明过程留作本节的习题。
正如在示例4.9中所见,当我们使用公式(4.4)计算时,可以约去分母中的(n-m)!和分子中n!的后n-m个因数,将
表示为
(4.5)
如果m 比n 小,那么使用上述公式进行计算要比用公式(4.4)计算更快。大体上讲,图4-9中的C语言代码段就是用来完成这一工作的。
第(1)行将c 初始化为1,c 就成为了结果——。第(2)行和第(3)行会给c 乘上从n-m+1到n的各个整数。然后,第(4)行和第(5)行会依次从c 除去从2到m 的各个整数。因此,图4-9就实现了(4.5)式中的公式。
(1) c = 1;(2) for (i = n; i > n-m; i--)(3) c *= i;(4) for (i = 2; i <= m; i++)(5) c /= i;复制代码
图 4-9 计算的代码
要计算图4-9的运行时间,只要注意到第(2)~(3)行及第(4)~(5)行这两个循环,每个循环都会迭代m次,而且循环体的运行时间都是O(1)。因此,运行时间是O(m)。
在m接近n而n-m很小的情况下,可以交换m和n-m的角色。也就是说,可以约去n!和m!的因数,得到n(n-1)…(m+1),并将其除以(n-m)!。该方法给出了(4.5)所示公式的另一种形式,即
(4.6)
同样,存在与图4-9类似的代码段来实现公式(4.6),而且所花的时间为O(n-m)。因为要定义就一定有n-m和m不大于n,所以不管是哪种方式,O(n)都是运行时间的边界。此外,在m接近0或者接近n 时,两种方法中更优方法的运行时间都要大大小于O(n)。
不过,图4-9有个重大缺陷。它先要计算若干整数的积,然后再将其除以相同数量的整数。因为普通的计算机运算只能处理有限大小的整数(通常,一个整数最大可以达到约20亿),所以图4-9第(3)行计算中间结果的过程可能有溢出整数大小限制的风险。即使是在的值足够小,可以在某计算机中表示出来的情况下,也还是可能出现这种情况。
更好的方式是让乘法和除法交替进行。首先乘上n,然后除以m。乘上n-1,再除以m-1,以此类推。这种方法的问题在于,我们没理由相信每一阶段的计算结果都是整数。例如,在示例4.9中,首先要乘上52并除以5,这个结果就已然不是整数了。因此,在进行任何计算前都需要转换为浮点数。在这里将这一修改留作本节的习题。
让
一定得出整数的公式
要看出为什么(4.4)、(4.5)和(4.6)这几个式子中多个因数的商一定是整数可能不容易。唯一的简单论证就是诉诸物理推理。这些公式都是计算从n个事物中选取m个的方法数,而这个数字一定是某个整数。
不借助这些公式的物理意义,而从整数的属性来论证这一事实,要难上很多。其实可以通过仔细分析分子和分母中各质数因子数来证明这一事实。拿示例4.9中的表达式当例子。其中分母中有5这个因数,而分子中有5个因数,由于这些因数是连续的,可知其中必有一个能被5整除,而它正好是中间的那个因数——50。因此,分母中的5肯定会被约去。
现在来考虑计算的递归算法。可以通过图4-10所示的简单递归函数来实现这一算法。
图4-10中的函数效率不高,因为它调用choose的次数会呈指数级增长。原因就在于当使用n作为首个参数调用该函数时,往往会在第(6)行用n-1作为首个参数进行两次递归调用。因此,可以预见,当n 增加1时,调用的次数就会翻倍。而且递归调用的确切次数是很难计算的。原因在于第(4)行和第(5)行的依据情况不仅适用于n=1的情况,而对更大的n,会提供值为0或n 的m。
下面要证明一个简单但稍显悲观的上界。设T (n)是当首个参数为n 时图4-10所示程序段的运行时间。可以直接证明T(n)是O(2n)。假设a是第(1)行到第(5)行,加上第(6)行涉及调用与返回的部分(不含递归调用本身所花的时间)的总运行时间。然后就可以通过对n 的归纳证明下列命题。
/* 对0 <= m <= n,计算从n 个元素中选择m 个的方法数 */
int choose(int n, int m)
{
int n, m;(1) if (m < 0 || m > n) {/* 错误的条件 */(2) printf("invalid input\n");(3) return 0;
}(4) else if (m == 0 || m == n) /* 依据情况 */(5) return 1;
else /* 归纳 */(6) return (choose(n-1, m-1) + choose(n-1, m));
}复制代码图 4-10 计算的递归函数
命题 S(n)。如果用第一个参数n以及在0和n之间的第二个参数m调用choose,那么该调用的运行时间T(n)至多为a(2n-1)。
依据。 n=1。那么一定有m=0或m=1=n。因此,依据情况适用于第(4)行和第(5)行,而且没有进行递归调用。第(1)行到第(5)行的时间都包含在a中,因为S(1)是说T(1)至多为a(21-1)=a。
归纳。假设S(n)成立,也就是有T(n)≤a(2n+1)。要证明S(n+1)成立,假设要以n+1为首个参数调用choose。那么图4-10所示程序段花的时间就是a加上第(6)行两次递归调用的时间。根据归纳假设,每次调用花费的时间至多为(2n-1)。因此,消耗的总时间最多是:
a+2a(2n-1)=a(1+2n+1-2)=a(2n+1-1)
这一计算过程就证明了S(n+1)成立,并证明了归纳步骤。
因此证明了T(n)≤a(2n-1)。舍去常数因子及低阶项,就可以得出T(n)是O(2n)的结论。
奇怪的是,尽管在第3章的分析中,很容易就证明了运行时间的平滑紧上界,但T(n)上的边界O(2n)虽平滑却不紧凑。合适的平滑紧上界要稍小一些——。要证明这一事实相当困难,不过在这里要留一个更为简单的事实作为习题来证明,就是图4-10所示程序段的运行时间与它返回的值
成比例。要看到图4-10中的递归算法,效率要比图4-9中的算法低得多。这是一个递归严重不靠谱的例子。
对某个固定的值n 而言,m 的函数有着不少有意思的属性。对于值比较大的n 来说,如图4-11所示,其图像为一条钟形的曲线。我们很容易看出函数图像是关于中点n/2所在轴线对称的,运用声明
的公式(4.4)很容易证实这一点。
最大高度处于中心位置,也就是,大约是
。例如,若n=10,这一公式可以得出258.37,而
。
该曲线的“厚部”是中点两边各约的范围。例如,如果n=10 000,那么对处在4900和5100之间的m,
就接近最大值。而对这个范围之外的m来说,
的值会下降得特别迅速。

图 4-11 n 为固定值的函数
函数除了可以用来计数外,还能提供二项式系数。在展开二项式的乘方(比如(x+y)n)时,就会看到这些数字。
在展开(x+y)n时,会得到2n个项,其中每一项都是xmyn-m这样的形式(m是0到n之间的某个整数)。也就是说,对每个因式x+y,都可能从x 和y 中任选其一作为某个特定项的因子。展开式中xmyn-m的系数是由m个x 和其余n+m个y 组成的项的数量。

衡水网站制作要多少钱【域名企业邮箱服务器注册申请办理】衡水网络优化公司哪家好、衡水软件开发外包价格、衡水高端企业网站页面制作设计专业公司、衡水微信公众号小程序购物支付搭建制作公司
服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878