- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最小长度加法生成序列算法初探
【摘要】由最小长度加法生成序列定义出发,结合树 型结构的特点,探索其解决方案。并用Delphi语言实现了 该算法。
【关键词】最小长度加法生成序列;树;结点 Analyzing and Discussing of the shortest Adding
production Series AlgorithmLiu Na Liu Gui-ping
(Department of Science Hetao College Inner Mongolia Bayannur 015000)
【Abstract 】In this paper, How to returning the shortest adding production series from its creating Tree is created , and give out a Delphi source code. 【Keywords 】 the shortest adding production
series; tree; node
1引言
什么是加法生成序列?
对于给定的正整数n,一个具有如下性质:①a0=l; ②am=n;③a0称为一个加法生成序列。
什么是最小长度加法生成序列?
对于给定正整数n,依据加法生成序列的原则所构造的
整数序列长度最短,则称之为正整数n的最小加法生成序列。 假如有两个或两个以上的这样的序列,任选其一即可。例如, 和都是n=5的解。
2算法初探
对于给定的n,最直观的也是最长的加法生成序列是。 这个问题解决起来是很方便的,构造一个等差数列,首项 aO=l,公差d=l, a.n=n。但此时得到的显然不是最小加法生 成序列。
接下来看个特例,如果n=2m,也容易得到最小加法生成 序列,即。这是一个等比数列,首项aO=l,公比q=2,am=n。 但如果n^2m,就很难得到这样的结论了。由以上两个例子 我们可以看出,这个序列并不是个简单的等差或是等比数 列。
3树型结构求解
树型结构是一类重要的非线性数据结构,直观看来,树 是以分支关系定义的层次结构。树是n (n^O)个结点的有 限集。在任意一棵非空树中(1)有且仅有一个特定的称为 根的结点;(2)当n〉1时,其余结点可分为m (m〉0)个互 不相交的有限集Tl,T2,…,Tm,其中每个集合本身又是一 棵树,并且称为根的子树。结点的子树的根称为该结点的孩 子,相应地,该结点称为孩子的双亲。例如,图1结点的层 次从根开始定义起,根为第一层,根的孩子为第二层。若某
结点在第1层,则其子树的根就在第1+1层。
结点的袓先是从跟到该节点所经分支上的所有结点。例
如,G的袓先为A、D和F。
如果将树中结点的各子树看成从左至右是有次序的(即 不能互换),则称该树为有序树,否则称为无序树。在有序 树最左边的子树的根称为第一个孩子,最右边的称为最后一 个孩子。
构建最小加法生成序列树型图,如图2所示。
最小加法序列树满足如下特性。
如果对一棵最小加法序列树分层进行连续编号,约定编 号从每一层最左结点起,由左至右编号,并按照其编号将结 点命名。例如编号为11的结点,表示的便是第一层的从左 起的第一个结点,并将其命名为结点all;编号为43的结点, 表示的是第四层从左起的第三个结点,并将其命名为结点 a43o如图3所示。
性质1:除根结点外,其余结点的取值均为其父结点与 祖先结点之和。例如a43=a31+all。
性质2:第m层的结点数最多是(m-1)!个。
设第m-1层有k个结点,由性质1可知,每个结点的子 结点个数最多为(m-1),可以推断出第m层的结点数最多是 kX (m-1)个。由于第一层为根结点,结点数为1,所以第 m层的结点数最多是(m-1)!个。
性质3:在第m层上最小加法序列树穷举了该层次上所 有可能得到的结果,因为列举了上一个层次产生的每一个结 果与其自身以及在同一个分支上的每一个袓先之和。
由性质3可以推断出,若要求得n的最小加法序列,只 需要找到生成目标数n的最小层次即可,由n这个结点向上 逆推到根结点,这个逆推的过程,便是得到序列的过程。
4算法实现
本文用Delphi语言给出算法,采用存储结构为动态数 组,具体代码如下:
var N: integer; //整型变量N最小加法生成序列的目 标元素
A: array of array of integer; //动态二维数组 A, 用于存放树的结点
B: array of integer; //一维数组B,用于存放树每 一层的结点数
I, II, 12, J, Jl, J2, P , K: integer; //循环中 用到的整型变量
F: integer; //标志变量,用于判定是否找到了 N
C,
您可能关注的文档
最近下载
- 生物安全实验室乙型肝炎病毒实验活动风险评估报告.docx VIP
- 2025年全国中考历史真题分类汇编.docx VIP
- 托福写作172句型.doc VIP
- 三级助听器验配师理论知识考核试题及答案.pdf VIP
- Unit 7 Happy Birthday第1 Lead-in Cartoon time三年级英语上册练习(译林版三起).pdf VIP
- 昌平区电力工程施工组织设计.doc VIP
- 2025年新人教版数学二年级上册全册课件.pptx
- T∕CCMA 0075-2019 -装载机载荷谱试验方法.pdf VIP
- 针灸入门广州中医药学PPT.ppt VIP
- 学堂在线 如何写好科研论文 章节测试答案.docx VIP
文档评论(0)