C程序设计的抽象思维
杰Tang_fighting
这个作者很懒,什么都没留下…
展开
-
C程序设计的抽象思维-递归过程-格雷码
【问题】每一对相邻整数的二进制表示只有一位发生变化,这种编码称为Gray码。如下所示3位的Gray码:00000011011201031104111510161007要产生N位的Gray码,所需的递归思想概括如下:1. 写出N-1位的G原创 2014-05-16 17:05:36 · 1967 阅读 · 0 评论 -
C程序设计的抽象思维-递归过程-数集分离问题
【问题】给定一个数集,分离问题要求找到其子集,使所有的数相加等于一个特定的数。例如,有两种方法可以分离集合{1, 3, 4, 5},从而使子集中的额元素相加等于5:第一种方法:选1和4第二种方法:只选5相比之下,没有方法分离集合{1, 3, 4, 5}得到11。编写一个函数NumberOfPartitions,它以一个整数数组、数组长度和目标数为参数,返回得到的子集元素总和为目原创 2014-05-17 11:36:09 · 1037 阅读 · 0 评论 -
C程序设计的抽象思维-回溯算法-迷宫问题
【迷宫问题】【算法1---堆栈回溯】计算机解迷宫时,通常用的是"试探和回溯"的方法,即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原路退回,换一个方向再继续探索,直至所有可能的通路都探索到为止,如果所有可能的通路都试探过,还是不能走到终点,那就说明该迷宫不存在从起点到终点的通道。 1.从入口进入迷宫之后,不管在迷宫的哪一个位置上,都是先往东走,如果走得通原创 2014-05-18 12:58:53 · 1555 阅读 · 0 评论 -
C程序设计的抽象思维-递归过程-砝码称重
【问题】在狄更斯时代,商人们用砝码和天平来称量商品的重量,如果你只有几个砝码,就只能精确地称出一定的重量。例如,假定只有两个砝码:分别中1kg和3kg,只用1kg的砝码可以称出1kg重量的商品,只用3kg的砝码可以称出3kg重量的商品。1kg和3kg的砝码放在天平同一边可以称出4kg重量的商品,放在不同边可以称出2kg重量的商品。因此利用这两个砝码,我们可以称出重量分别为1、2、3、4kg的商原创 2014-05-17 10:42:11 · 1501 阅读 · 1 评论 -
C程序设计的抽象思维-C的数据类型
数据类型的层次结构中的最底层原创 2014-05-13 16:21:27 · 925 阅读 · 0 评论 -
C程序设计的抽象思维-递归入门
【斐波那契序列】序列中的每一个新项都是它前两项的和。 0 1 1 2 3 5 8 13 21 34 55 89 144 …………数学表达式表示序列中的一个新项: tN = tN-1 + tN-2像这种类型的表达式,序列中的每一个元素都是由先前的元原创 2014-05-14 16:11:51 · 1087 阅读 · 0 评论 -
C程序设计的抽象思维-算法分析-大多数元素
【问题】请编写以下函数 int MajorityElement(int array[],int n);该函数返回数组array中的多数元素。多数元素是指在占绝对多数(至少51%)的一个值。如果多数元素不存在,那么返回常量NoMajorityElement,该函数必须满足下面的条件: 1. 必须以O(N)时间运行。 2. 必须使用O(1)的附加空间。换句话说,可用个别的临时变量,而不原创 2014-07-30 17:34:13 · 1122 阅读 · 0 评论