说明 本文给出杨辉三角的几种C语言实现,并简要分析典型方法的复杂度。
本文假定读者具备二项式定理、排列组合、求和等方面的数学知识。一 基本概念
杨辉三角,又称贾宪三角、帕斯卡三角,是二项式系数在三角形中的一种几何排列。此处引用维基百科上的一张动态图以直观说明(原文链接http://zh.wik...
分类:
编程语言 时间:
2014-06-29 12:07:25
阅读次数:
328
在做递归问题时,要保证对递归跳跃的信任,继而对相应的问题寻找其递归实现(1)组合:先从原始数组中选择一个,再从剩下的集合中选择m-1个;而后,再从剩下的集合中挑选m个元素。/*组合代码(eg:5选2)*/int
a[5]={1,2,3,4,5};//原始数组int b[2];//挑选的结果con.....
分类:
其他好文 时间:
2014-06-29 07:47:15
阅读次数:
222
全排列问题在公司笔试的时候很常见,这里介绍其递归与非递归实现。
递归算法
1、算法简述
简单地说:就是第一个数分别以后面的数进行交换
E.g:E = (a , b , c),则 prem(E)= a.perm(b,c)+ b.perm(a,c)+ c.perm(a,b)
然后a.perm(b,c)= ab.perm(c)+ ac.perm(b)= abc + acb.依次...
分类:
其他好文 时间:
2014-06-20 13:36:14
阅读次数:
206
1 #include 2 #include 3 using namespace std; 4 5
#define N 4 6 7 void fullarrange(char num[], int len, int index) { 8 if(index ==
len) { 9 ...
分类:
其他好文 时间:
2014-06-20 08:51:28
阅读次数:
293
当我们计算概率的时候,假设样本空间中的各个样本发生的概率均等,那么,时间A发生的概率为:
所以我们只需要计算时间A包含的样本个数,比上总的样本数,就能得到事件A发生的概率。
基本的counting原则
假设一次实验共有r个阶段,每个阶段有ni种选择,那么总的样本空间是各个阶段的各种选择的乘积。
排列permutation与组合combination
当我们要从n个样本中选...
分类:
其他好文 时间:
2014-06-07 11:34:58
阅读次数:
261
一、题目:
A题:给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数。在文件中至少存在这样一个数? 1、如果有足够的内存,如何处理?
2、如果内存不足,仅可以用文件来进行处理,如何处理?...
分类:
其他好文 时间:
2014-06-07 08:34:37
阅读次数:
359
排列和组合在我们高中的时候是最熟悉不过的数学词了,接下来找找这方面的题目供大家思考(1)爬楼梯一个楼梯有50个台阶,每一步可以走一个台阶,也可以走两个台阶,请问走完这个楼梯共有多少种方法?(2)铺砖头有一个长度为n,宽度为2的地面,有若干块长为2,宽为1的地砖,请问用此地砖铺完这个地面共有多少种方法...
分类:
其他好文 时间:
2014-06-07 06:08:06
阅读次数:
162
一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的 相对顺序 比如: input:
1,7,-5,9,-12,15 ans: -5,-12,1,7,9,15 要求时间复杂度O(N),空间O(1) 。
一个未排序整数数组,有正负数,重新排列使负数排在正数前面
分类:
其他好文 时间:
2014-06-07 00:17:16
阅读次数:
350
sort方法用来对数组排序非常方便。但是sort(func)这个func参数的构造却很容易混淆。这个func的作用是,把排序结果里任意相邻两项a,b放入到func里来执行,如果返回值都为-1,则为正序排列,如返回值都为1,则为逆序排列。例如,[1,3,65,97,45,6,2]如果要正序,就应该写成...
分类:
编程语言 时间:
2014-06-06 23:37:49
阅读次数:
483
有数字的地方就有信息。所以扑克牌中保存信息不是什么新鲜事。通过计算序号,得到扑克排列方式。反之通过扑克牌咧方式,得到序号,反计算出信息内容。
分类:
其他好文 时间:
2014-06-05 18:14:27
阅读次数:
279