摘要: 2.5高精度运算程序所处理加工的各类数据都有相应的值域限定。一旦某类型的数据超出了规定的范围,运算结果就会出错。下表列举PASCAL内部设置的几种标准类型,其中实数single、double、comp和extended为浮点类型,必须在浮点数类型,必须在程序前通过编译命令{$n+}启动浮点数运算后才可使用这些类型。整数类型值域长度(以字节为单位)备注byte0…2551标准类型sho... 阅读全文
posted @ 2010-10-11 21:31 lj_cherish 阅读(775) 评论(0) 推荐(0) 编辑
摘要: 题目的阐述:   以N进制编码方式对一个英文字串中的字符进行编码,每个不同的字符其编码不同.使得由新的编码替代原串后总码长最小,且输入0,1,2,...,N-1构成的数字串后,依照该编码方式可以正确的对译出唯一的英文原串.  如: N=3 英文原串为 ABBCBADDACE  其对应的一种编码方式为  A:00  B:01  C:020  D:021  E:022  原串对译后的编码为000101... 阅读全文
posted @ 2010-10-11 21:31 lj_cherish 阅读(1236) 评论(0) 推荐(0) 编辑
摘要: 枚举类型用计算机来解决世界客观世界的问题时,需要用计算机程序中的量来描述客观世界的问题。但有些问题很难用标准类型来描述,一个星期的七天、一年的十二个月、颜色的类别等。为了说明这些非数值量的特征,Pascal语言提供了枚举类型,用枚举方法将该种类型的所有取值用标识符一一列出。如用“Monday”代表“星期一”,用“Tuesday&rdquo... 阅读全文
posted @ 2010-10-11 21:29 lj_cherish 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 在计算机中,数据的含义是极为文泛的,它包括数字、字符、字符串、图形、声音、表、文件等。凡是可以输入到计算机中并可以被计算机程序进行处理的各种信息都可以称为数据。早期的计算机,主要用于科学计算,所解决的问题一般是算法复杂但数据量少,结构简单,因此计算机科学主要研究程序及其算法。随着计算机技术的不断发展,应用领域的不断扩充,计算机更多地用于非数值计算——数据处理。由于数据处理技... 阅读全文
posted @ 2010-10-11 21:29 lj_cherish 阅读(1116) 评论(0) 推荐(0) 编辑
摘要: 队列队列(queue)简称队,它是限定在一端进行插入,另一端进行删除的特殊线性表。正像排队买东西,排在前面的人买完东西后离开队伍(删除),而后来的人总是排在队伍末尾(插入),通常把队列的删除和插入分别称为出队和入队。允许出队的一端称为队首(front),通常用指针f来表,允许入队的一端称为队尾(rear),通常用指针r来表示。初始是f=r=0。所有需要进队的数据项,只能从队尾进入,队列中的数据项只... 阅读全文
posted @ 2010-10-11 21:28 lj_cherish 阅读(1066) 评论(0) 推荐(0) 编辑
摘要: 一、链栈的定义与运算链栈(即链接堆栈)是栈的链接存储表示,或者说它是只允许在表头进行插入和删除运算的单链表,此时单链表的表头指针叫做栈顶指针。一个链栈的示意图如下图所示,其中HS表示栈顶指针。设HS的类型为linklist(指针类型),数据元素x的类型为elemtype,则在以HS为栈顶指针的链栈中,进行栈的各种运算的算法如下:1、进栈算法算法步骤为:push(HS,x)new(p)p^.data... 阅读全文
posted @ 2010-10-11 21:27 lj_cherish 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 树一、树的概念树(tree)是树型结构的简称。它是一种重要的非线性数据结构。树——或者是一棵空树,即不含结点的树,或者是一棵非空树,即至少含有一个结点的树。在一棵非空树中,它有且仅有一称作根(root)的结点,其余的结点可分为m棵(m≥0)互不相交的子树(即称作根的子树),每棵子树(subtree)又同样是一棵树。显然,树的定义是递归的,树是一种递归的数据结构。树的递... 阅读全文
posted @ 2010-10-11 21:26 lj_cherish 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 数论的知识与信息学竞赛关系密切相关,尤其是初等数论。初等数论是用初等数学方法来研究整数的整除、同余式等方面问题的数论分支。其内容包括辗转相除法、进位制、因数、倍数、公因数、公倍数、最大公因数、最小公倍数、素数、合数等。一、素数与整除问题1、素数和合数大于1的正整数p,如果p仅有的正因子是1和p,则称p为素数;大于1且不是素数的正整数称为合数。如果n是合数,则必有一个小于等于的素因子。2、整数和约数... 阅读全文
posted @ 2010-10-11 21:25 lj_cherish 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 图是一种较线性表和树更为复杂的数据结构。在线性表中,数据元素之间仅有线性关系,每个元素只有一个直接前驱和一个直接后继;在树形结构中,数据元素之间有着明显懂得层次关系,并且每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素相关;在图形结构中,结点之间的关系可以任意的,图中任意两个数据元素之间都有可能相关。因此,图的应用极为广泛,已经渗入到诸如语言学、逻辑学、物理学、化学、计算机科... 阅读全文
posted @ 2010-10-11 21:24 lj_cherish 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 一、方程与方程组1、一元高次方程的近似解高次方程:当方程的未知数的次数大于2的时候,这个方程就叫作高次方程。例如:方程2x3+x-3=0就是一元三次方程。求任意次的高次方程的根是很困难的,但是借助计算机可以求出方程的近似解。使用计算机解方程,关键是通过数学分析得出计算公式和公式中变数的取值范围,在此基础上通过顺序查找或分治法枚举变量的可能值,将符合条件的变量值代入表达式,即可得出问题的解。例3一元... 阅读全文
posted @ 2010-10-11 21:23 lj_cherish 阅读(1232) 评论(0) 推荐(0) 编辑
摘要: 2.3.1两个基本计数原理1.加法原理先看一个简单的例子:从杭州到北京,可以坐火车,也可以乘飞机,每天火车有5趟,飞机有8次航班,那么从杭州到北京有多少种不同的走法?很显然,从杭州到北京,乘飞机有8种走法,坐火车有5种走法,所以共有13种走法。加法原理:设完成某一件事,有n类方法,并且在第一类中有m1种方法;在第二类方法中有m2种方法;……;在第n类方法中有mn种方法。... 阅读全文
posted @ 2010-10-11 21:22 lj_cherish 阅读(923) 评论(0) 推荐(0) 编辑
摘要: 2.4进制转换日常生活中我们计数的方式有很多,如一年有12个月,则是十二进制,一周有七天,则是七进制,等等。平常我们用的最多的最习惯的十进制,是古人留下来的财富。需要强调的是任何一个值都可以用任何一种进制描述,但它的值是不变的,正如我们今天在一周中可以描述为星期几,在一个月中描述为多少号一样。使用R进制计数的规则:只使用R个基数:0,1,2,···,R-1... 阅读全文
posted @ 2010-10-11 21:21 lj_cherish 阅读(636) 评论(0) 推荐(0) 编辑
摘要: -我们将人生划为诡异的阶段·我们把这个世界表为丰富的状态1. 资源问题1-----机器分配问题 F[I,j]:=max(f[i-1,k]+w[i,j-k])2. 资源问题2------01背包问题 F[I,j]:=max(f[i-1,j-v[i]]+w[i],f[i-1,j]);3. 线性动态规划1-----朴素最长非降子序列 F[i]:=max{f[j]+1}4. 剖分问题1---... 阅读全文
posted @ 2010-10-11 21:20 lj_cherish 阅读(651) 评论(1) 推荐(0) 编辑
摘要: 4.4深度优先搜索中的优化策略例12:字串变换。[问题描述]:  已知有两个字串A$,B$及一组字串变换的规则(至多6个规则):     A1$->B1$     A2$->B2$  规则的含义为:在A$中的子串A1$可以变换为B1$、A2$可以变换为B2$…。    例如:A$='abcd' B$='xyz'  变换规则为:    ‘abc’-&... 阅读全文
posted @ 2010-10-11 21:19 lj_cherish 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 3.4模拟算法策略有些问题很难建立枚举、递归等算法,甚至建立不了数学模型,但可以根据问题的描述,用程序模拟某种现象或规律,从而跟踪出结果。根据模拟对象的不同特点,可以把计算机模拟分为决定性模拟和随机性模拟两大类。决定性模拟是对决定性现象进行的模拟,其所模拟的事件按照固有的规律发生发展,并且最终有明确的结果。在这种题目中,由于数学模型中各种参数的变化多半是有规律的,所以算法设计一般不是很困难。随机模... 阅读全文
posted @ 2010-10-11 21:18 lj_cherish 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 4.3宽度优先搜索宽度优先搜索(又称广度优先搜索)与深度优先搜索同为搜索,但策略完全不同。深度优先问题就是一般所说的递归、回溯问题,每次沿一个节点展开其下层一个节,然后再下层一个节点,直到找到一个结果为止再返回上层。宽度优先搜索是每次把当前层每个节点对应的下一层所有节点全部展开,再判断是否有目标状态出现,如果有则这就是最少步数的答案;否则再把展开的新一层的下一层全部展开,直到展开的节点中出现目标状... 阅读全文
posted @ 2010-10-11 21:18 lj_cherish 阅读(1667) 评论(0) 推荐(0) 编辑
摘要: 深度优先搜索所遵循的搜索策略是尽可能“深”地搜索图。在深度优先搜索中,对于最新发现的结点,如果它还有以此为起点而未搜索的边,就沿此边继续搜索下去。当结点v的所有边都已被探寻过,搜索将回溯到发现结点v有那条边的始结点。这一过程一直进行到已发现从源结点可达的所有结点为止。如果还存在未被发现的结点,则选择其中一个作为源结点并重复以上过程,整个过程反复进行直到所有结点都被发现为止。... 阅读全文
posted @ 2010-10-11 21:17 lj_cherish 阅读(1294) 评论(0) 推荐(0) 编辑
摘要: 第四章搜索算法策略4.1枚举算法枚举法(通常也称穷举法)是指在一个有穷的可能的解的集合中,枚举出集合中的每一个元素,用题目给定的约束条件去判断其是否符合条件,若满足条件,则该元素即为整个问题的解;否则就不是问题的解。【枚举算法解题必须满足下列条件】⑴可预先确定解元素的个数n,且问题的规模不是很大;⑵对于每个解变量A1,A2,…An的可能值必须为一个连续的值域。【枚举算法实现】通常使用... 阅读全文
posted @ 2010-10-11 21:16 lj_cherish 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: 3.5分治算法策略所谓分治法就是将问题分而治之。将问题一分为二、一分为三或一分为N等份。对每一等份分别进行解决后,原问题就可以很快得以解决。因此一个问题能否用分治法解决,关键是看该问题是否能将原问题分成n个规模较小而结构与原问题相似的子问题。递归的解决这些子问题,然后合并其结果就得到原问题的解。当n=2时的分治法又称二分法。分治法解题的一般步骤:(1)分解,将要解决的问题划分成若干规模较小的同类问... 阅读全文
posted @ 2010-10-11 21:15 lj_cherish 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 一、链表链表是这样的一种线性表,它的元素由数据和指针两部分组成,数据部分存放结点的有关信息,指针部分存放下一个结点的位置。二、单链表及其基本操作在链式存储结构的线性表中,数据元素的存储空间一般是不连续的。链式存储结构懂得线性表由若干个结点组成,每个结点组成,每个结点有两个域:一个是数据域;另一个是指针域。单链表的定义如下:typepointer=^nodetype;nodetype=recordd... 阅读全文
posted @ 2010-10-11 20:55 lj_cherish 阅读(273) 评论(0) 推荐(0) 编辑