二项式系数,也是我们常用的组合数,最直观的组合意义就是从n个元素取k个元素所有可能的情况数,因此我们自然的得到下面二项式系数的定义式。

那么我们通过具有组合意义的二项系数,给出更加一般的二项式系数的定义:

通过上文给出推广形式的二项式系数,容易推得恒等式3.

但是我们注意到,在第二个恒等式的推导中,我们运用了对称恒等式.

而对称恒等式的使用要求上指标非负,这是否意味着对于第二个恒等式我们需要限制r的范围?

答案是否定的?该恒等式依然对实数r成立.

因为首先这个恒等式(下指标不变的相伴恒等式)必然是对非负整数r成立的,我们能够找到大于k+1组不同的点,使得左右两式的差为0.而我们从多项式的角度看左右两式的差值,他们其实是r的k+1次多项式.由多项式的理论:一个非零的d次多项式至多有d个不同的零点,否则,只能说明这个多项式恒为0.因此我们看到,这个恒等式左右两侧是关于r相同的多项式,因此该恒等式对于实数r成立.

这种证明方法称为多项式推理法,它在将二项式系数恒等式由整数推广到实数中很有用处.

有了加法恒等式(帕斯卡公式),我们很容易将下面的一个和式进行化简,它使得我们求解一个有规律的二项式系数的和式时,仅仅计算一个二项式系数即可,从算法时间复杂度的角度来讲,是O(n)到O(1)的优化。

关于上指标求和,这里有组合解释:我们在标号为0~n的n+1张票中选出m+1张票,这m+1张票中,序号最大为k的取法有C(k , m).其中k是二项式系数的上指标。

上指标求和的内涵在于向上扩充了帕斯卡三角形,在二项式系数的上指标小于下指标的时候,通常利用该恒等式进行等值的转换。

下面给出一系列二项式系数的乘积之和恒等式。

这些恒等式都是通过上文介绍的范德蒙卷积恒等式以及其他的恒等式推得而来,对于他们的推导,我们后续会慢慢地展开,这里暂且先将其简单罗列,在后面的化简实例中,可以拿过来直接应用.

-----------------------------------------分割线---------------------------------------------------------------------------------------------------------------

通过对上面一系列基本二项式系数恒等式的学习,下面我们就去在实战中去应用它们.

实例1:比值的和式:

我们需要对化简后的式子进行简单检验,这是做化简运算的基本素养和习惯.取n = 4 , m , 2.

通过原式给出的和式,结果为5/3.利用化简后的结果,也是5/3.

实例2:

从上面的过程中我们发现一个非常聪明的做法,如何利用我们之前讨论过的二项式系数恒等式解决具体的问题?——给予恒等式(尤其是和式中非指示常量)中参数具体的值。

例如我们利用刚刚用到的恒等式,再给予一组赋值:

《Concrete Mathematics》-chaper5-二项式系数的更多相关文章

  1. 个人作业——week1

    1.问题 (1)与软件学院相比,计算机科学更偏向理论研究,本系开设软件工程课程的意图是否是为了平衡理论与应用的比重? (2)Bug的定义根据开发者与使用者的分析角度不同,有着很大的区别,如何使开发者能 ...

  2. 个人博客作业Week1

    个人博客作业Week1 一.问题 通读<构建之法>我有一下几个问题 PM没有参与代码编如何进行管理. 软件工程师的职业资格考试对我们来说很有必要吗. 当我们为用户开发软件时我们需要了解用户 ...

  3. linux下编译bib、tex生成pdf文件

    实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...

  4. 个人作业—Week1

    针对教材内容的问题 阅读教材<软件工程——实践者的研究方法>Roger S.Pressman 在笼统地阅读了教材,大致理清教材知识结构后,提出以下问题作为今后学习地重点: 1)     什 ...

  5. 《构建之法》阅读有疑 与 个人Week1作业

    <构建之法>阅读有疑 在用将近五节课的时间将邹欣老师的书<构建之法——现代软件工程>第二版大致看完.虽然全书是以轻松的口吻与”移山公司”员工的一些趣味谈话来传输一些理念和思想的 ...

  6. 推些C语言与算法书籍

    c语言系统学习与进阶: 1. C primer plus C primer plus 作为一本被人推崇备至的 c 入门经典,C primer plus 绝非浪得虚名.应该 算得上 C 教材里最好的入门 ...

  7. 个人博客 week1

    1:看完教材后不懂的几个问题: (1):团队合作中每个人分工而行,如何保证比较完善的各人之间的信息共享? (2):敏捷开发如何保证开发的效率?即在进行大项目的开发时敏捷开发看上去会很混乱. (3):黑 ...

  8. 算法的上帝——Donald E.Knuth(转)

    开始介绍前先膜拜之~ 密尔沃基市,是美国威斯康辛州最大的城市.1938年1月10日,圣诞刚过不久,密尔沃基市民像往常一样平静地生活着.咖啡店里,有人在议论着罗斯 福总统的救市新政策,有人在议论着到底该 ...

  9. (转)Fibonacci Tilings

    Fibonacci numbers {Fn, n ≥ 0} satisfy the recurrence relation (1) Fn+2 = Fn+1 + Fn, along with the i ...

随机推荐

  1. <三> SQL 基础

    SQL查询的一般形式,以及被逻辑处理的顺序 (8) select (9) distinct (11) <TOP_specification> <select_list> (1) ...

  2. 告诉你KVC的一切-b

    KVC(Key-value coding)键值编码,单看这个名字可能不太好理解.其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值.而不需 ...

  3. RPM是RedHat Package Manager(RedHat软件包管理工具)

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...

  4. 理解 Android 本地数据存储 API

    利用首选项.SQLite 和内部及外部内存 API 对于需要跨应用程序执行期间或生命期而维护重要信息的应用程序来说,能够在移动设备上本地存储数据是一种非常关键的功能.作为一名开发人员,您经常需要存储诸 ...

  5. 静态分析安全测试(SAST)优缺点探析

    静态分析安全测试(SAST)是指不运行被测程序本身,仅通过分析或者检查源程序的语法.结构.过程.接口等来检查程序的正确性,那么采用静分析安全测试的方法有什么优缺点呢,且让小编给你说道说道. 许多公司都 ...

  6. PYTHON多进程编码结束之进程池POOL

    结束昨晚开始的测试. 最后一个POOL. A,使用POOL的返回结果 #coding: utf-8 import multiprocessing import time def func(msg): ...

  7. 转--Server “**” has shut down the connection prematurely一例分析

    近几天在性能测试过程中,发现loadrunner Controller经常报 Server “**” has shut down the connection prematurely .概率很高,现象 ...

  8. Linux中断处理流程

    http://blog.csdn.net/dianhuiren/article/details/7468956

  9. 《ArcGIS Engine+C#实例开发教程》第三讲 MapControl与PageLayoutControl同步

    原文:<ArcGIS Engine+C#实例开发教程>第三讲 MapControl与PageLayoutControl同步 摘要:在ArcMap中,能够很方面地进行MapView和Layo ...

  10. Linux下Apache与Tomcat的完全分布式集群配置(负载均衡)

    最近公司要给客户提供一套集群方案,项目组采用了Apache和Tomcat的集群配置,用于实现负载均衡的实现. 由于以前没有接触过Apache,因此有些手生,另外在网上搜寻了很多有关这方面的集群文章,但 ...