硕士毕业论文中的算法表示(算法效率与分析)

1.算法效率与分析

算法效率与分析 数据结构作为程序设计的基础,其对算法效率的影响必然是不可忽视的。

本文就如何合理选择数据结构来优化算法这一问题,对选择数据结构的原则和方法进行了一些探讨。首先对数据逻辑结构的重要性进行了分析,提出了选择逻辑结构的两个基本原则;接着又比较了顺序和链式两种存储结构的优点和缺点,并讨论了选择数据存储结构的方法;最后本文从选择数据结构的的另一角度出发,进一步探讨了如何将多种数据结构进行结合的方法。

在讨论方法的同时,本文还结合实际,选用了一些较具有代表性的信息学竞赛试题举例进行了分析 【正文】一、引论 “数据结构+算法=程序”,这就说明程序设计的实质就是对确定的问题选择一种合适的数据结构,加上设计一种好的算法。由此可见,数据结构在程序设计中有着十分重要的地位。

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。因为这其中的“关系”,指的是数据元素之间的逻辑关系,因此数据结构又称为数据的逻辑结构。

而相对于逻辑结构这个比较抽象的概念,我们将数据结构在计算机中的表示又称为数据的存储结构。 建立问题的数学模型,进而设计问题的算法,直至编出程序并进行调试通过,这就是我们解决信息学问题的一般步骤。

我们要建立问题的数学模型,必须首先找出问题中各对象之间的关系,也就是确定所使用的逻辑结构;同时,设计算法和程序实现的过程,必须确定如何实现对各个对象的操作,而操作的方法是决定于数据所采用的存储结构的。因此,数据逻辑结构和存储结构的好坏,将直接影响到程序的效率。

二、选择合理的逻辑结构 在程序设计中,逻辑结构的选用就是要分析题目中的数据元素之间的关系,并根据这些特定关系来选用合适的逻辑结构以实现对问题的数学描述,进一步解决问题。逻辑结构实际上是用数学的方法来描述问题中所涉及的操作对象及对象之间的关系,将操作对象抽象为数学元素,将对象之间的复杂关系用数学语言描述出来。

根据数据元素之间关系的不同特性,通常有以下四种基本逻辑结构:集合、线性结构、树形结构、图状(网状)结构。这四种结构中,除了集合中的数据元素之间只有“同属于一个集合”的关系外,其它三种结构数据元素之间分别为“一对一”、“一对多”、“多对多”的关系。

因此,在选择逻辑结构之前,我们应首先把题目中的操作对象和对象之间的关系分析清楚,然后再根据这些关系的特点来合理的选用逻辑结构。尤其是在某些复杂的问题中,数据之间的关系相当复杂,且选用不同逻辑结构都可以解决这一问题,但选用不同逻辑结构实现的算法效率大不一样。

对于这一类问题,我们应采用怎样的标准对逻辑结构进行选择呢? 下文将探讨选择合理逻辑结构应充分考虑的两个因素。 一、充分利用“可直接使用”的信息。

首先,我们这里所讲的“信息”,指的是元素与元素之间的关系。 对于待处理的信息,大致可分为“可直接使用”和“不可直接使用”两类。

对于“可直接使用”的信息,我们使用时十分方便,只需直接拿来就可以了。而对于“不可直接使用”的这一类,我们也可以通过某些间接的方式,使之成为可以使用的信息,但其中转化的过程显然是比较浪费时间的。

由此可见,我们所需要的是尽量多的“可直接使用”的信息。这样的信息越多,算法的效率就会越高。

对于不同的逻辑结构,其包含的信息是不同的,算法对信息的利用也会出现不同的复杂程度。因此,要使算法能够充分利用“可直接使用”的信息,而避免算法在信息由“不可直接使用”向“可直接使用”的转化过程中浪费过多的时间,我们必然需要采用一种合理的逻辑结构,使其包含更多“可直接使用”的信息。

〖问题一〗 IOI99的《隐藏的码字》。 〖问题描述〗 问题中给出了一些码字和一个文本,要求编程找出文本中包含这些码字的所有项目,并将找出的项目组成一个最优的“答案”,使得答案中各项目所包含的码字长度总和最大。

每一个项目包括一个码字,以及该码字在文本中的一个覆盖序列(如'abcadc'就是码字'abac'的一个覆盖序列),并且覆盖序列的长度不超过1000。同时,“答案”要求其中每个项目的覆盖序列互相没有重叠。

〖问题分析〗 对于此题,一种较容易得出的基本算法是:对覆盖序列在文本中的终止位置进行循环,再判断包含了哪些码字,找出所有项目,并最后使用动态规划的方法将项目组成最优的“答案”。 算法的其它方面我们暂且不做考虑,而先对问题所采用的逻辑结构进行选择。

如果我们采用线性的逻辑结构(如循环队列),那么我们在判断是否包含某个码字t时,所用的方法为:初始时用指针p指向终止位置,接着通过p的不断前移,依次找出码字t从尾到头的各个字母。例如码字为“ABDCAB”,而文本图1-1,终止位置为最右边的箭头符号,每个箭头代表依次找到的码字的各个字母。

指针p的移动方向 A B D C A B C D A C B D C A D C D B A D C C B A D 图1-1 由于题目规定码字的覆盖序列长度不超过1000,所以进行这样的一次是否包含的判断,其复杂度为O(1000)。 由于码字t中相邻两字母在。

2.设计算法的原则

设计算法的原则:

1、正确性:算法的正确性是指算法至少应该具有输入、输出和加工处理无歧义性、能正确反映问题的需要、能够得到问题的正确答案。

2、可读性:设计算法的目的,一方面是为了让计算机执行,但还有一个重要的目的就是为了便于他人的阅读,让人理解和交流,自己将来也可阅读。如果可读性不好,时间长了自己都不知道写了什么,可读性是评判算法(也包括实现它的程序代码)好坏很重要的标志。

3、健壮性:当输入的数据非法时,算法应当恰当地做出反应或进行相应处理,而不是莫名其妙的输出结果。并且处理出错的方法不应是中断程序的执行,而应是返回一个表示错误或错误性质的值,以便于在更高的抽象层次上进行处理。

4、高效率与低存储量:通常,算法的效率指的是算法的执行时间;算法的存储量指的是算法执行过程中所需要的最大存储空间,两者的复杂度都与问题的规模有关。算法分析的任务是对设计的每一个具体的算法,利用数学工具,讨论其复杂度,探讨具体算法对问题的适应性。

扩展资料:

算法的“正确”通常在用法上有很大的差别,大体分为以下4个层次:

1、算法程序没有语法错误;

2、算法程序能够根据正确的输入的值得到满足要求的输出结果;

3、算法程序能够根据错误的输出的值满足规格说明的输出结果;

4、算法程序对于精心设计、极其刁难的测试数据都能满足要求的输出结果。

对于这4层含义,层次要求最低,因为仅仅没有语法错误实在谈不上是好的算法。而层次(4)是最困难的,人们几乎不可能逐一验证所有的输入都得到正确的结果。因此,算法的正确性在大部分情况下都不可能用程序来证明,而是用数学方法证明的。

毕业论文,算法,硕士

3.硕士毕业论文检测中“复制比率”是怎么计算的

据学术堂了解复制比也称为重复率,大部分高校都会使用知网进行论文查重。

那么知网论文查重的原理是整样的,下面就来告诉你。1、知网学位论文检测为整篇上传,格式对检测结果可能会造成影响,需要将最终交稿格式提交检测,将影响降到最小,此影响为几十字的小段可能检测不出。

对于3万字符以上文字较多的论文是可以忽略的。对比数据库为:中国学术期刊网络出版总库,中国博士学位论文全文数据库/中国优秀硕士学位论文全文数据库,国重要会议论文全文数据库,中国重要报纸全文数据库,中国专利全文数据库,个人比对库,其他比对库。

部分书籍如果不在知网库,则检测不到。2、上传论文后,系统会自动检测该论文的章节信息,如果有自动生成的目录信息,那么系统会将论文按章节分段检测,否则会自动分段检测。

3、有部分同学反映说自己在段落中明明引用或者抄袭了其他文献的段落或句子,为什么没有检测出来,这是正常的。中国知网对该套检测系统的灵敏度设置了一个阀值,该阀值为5%,以段落计,低5%的抄袭或引用是检测不出来的,这种情况常见于大段落中的小句或者小概念。

举个例子:假如检测段落1有10000字,那么引用单篇文献500字以下,是不会被检测出来的。实际上这里也告诉同学们一个论文发表前修改的方法,就是对段落抄袭千万不要选一篇文章来引用,尽可能多的选择多篇文献,一篇截取几句,这样是不会被检测出来的。

4、一篇论文的抄袭怎么才会被检测出来?知网论文检测的条件是连续13个字相似或抄袭都会被红字标注,但是必须满足3里面的前提条件:即你所引用或抄袭的A文献文字总和在你的各个检测段落中要达到5%。(1)知网查重时,黄色的文字是“引用”,红色的文章是“涉嫌剽窃”。

(2)知网查重时,只查文字部分,“图”、“mathtype编辑的公式”、“word域代码”是不查的(要想知道知网到底查那些部分,可以“全选”——“复制”——“选择性粘贴”——“只保留文字”)。建议公式用mathtype编辑,不要用word自带的公式编辑器。

(3)word、excel编辑的“表”是可以查出来的。在某些被逼无奈的情况下,可以选择把表截图放到论文里边去!作者亲眼见过有同学自己编的系数,查出来居然跟人家重了,数据决定了系数还不能变,欲哭无泪……(4)参考文献的引用也是要算重复率的(包括在学校要求的X%以内)!所以引用人家文献的时候最好用自己的话改写一下。

(5)知网的查重是以“章”为基本单元的。比如“封面”、“摘要”、“绪论”都会作为单独的一章,每一章出一个检测结果,标明重复率。

每一章有单独的重复率,全文还有一个总的重复率。有些学校在规定论文是否通过查重时,不仅要求全文重复率不能超过多少,还对每章重复率也有要求。

(6)知网查重的确是以“连续13个字与别的文章重复”作为判断依据的,跟之前网上一些作者说的情况一致。如果你能够把论文改到任何一句与别的文章保证任意连续13个字都不一样,知网是查不出来的。

(7)但是,如果你有一处地方超过13个字与别的文章重复,知网的服务器都对这处地方的前后进行模糊搜索,那些仅仅是简单的加了一些“的”、“在……时”、“但是”等词语来隔断13个字多数情况是会检测出来的。这些模糊搜索有时候非常傻,可能会把一篇写如何养猪的文章跟你的那篇写建筑的文章关联到一起,说你抄袭!遇到这种情况,你就自己呵呵吧!(8)书、教材在知网的数据库里是没有的。

但是,copy书的同学需要注意,你copy的那部分可能已经被别的文章抄过了,检测的时候就重复了。这样的情况经常出现,尤其是某些经典理论,用了上百年了,肯定有人写过了!当然,有些同学觉得用自己的话改写一下就ok了。

但现实情况是:这些经典理论用自己的话写了也一样有”标红“的可能,因为这些经典的理论已经被人翻来覆去写了N遍了!会不会”标红“就看你人品了!作者查重时,曾出现过一段话用自己的语言翻来覆去改了三遍仍然”标红“的情况,让人哭笑不得。只能说作者当时人品衰得没办法了,但愿现在发的这篇文章能攒些人品,以待来日!(9)网络上的某些内容也是在知网的数据库里的。

比如:“百度文库”、“道客巴巴”、“豆丁网”、“互动百科”、“百度百科”。作者查重的时候,甚至还遇到很多奇葩的网站,神马“东方财富网博客”、“ 人大经济论坛”。

所以,选择网上的内容时要慎重。(10)外文文献,知网数据库里存储较少。

鼓励大家多看外文文献,多学习国外的先进科学知识、工程技术,翻译过来,把它们应用到我国的社会主义现代化论文中来!(11)建议各位学校查重前,在网上先自费查一遍。检测报告会对重复的地方”标红“,先修改一遍。

(12)检测一遍修改完成后,同学们不要掉以轻心。因为知网查重最变态、最令人愤怒的地方来了:第一次查重没有“标红”的地方,第二遍可能会出现“标红”,说你是抄袭。

舍得花钱的话,在网上花钱再查一遍,直到低于学校要求的重复率。(13)网上现在常用的查重有”万方“、”知网“、”paperpass“,paperpass最松,万方居中,知网最严。

万方的数据库不全,查出来重复率会低于知网。

硕士毕业论文中的算法表示

转载请注明出处众文网 » 硕士毕业论文中的算法表示(算法效率与分析)

资讯

第一次毕业论文没过怎么办(毕业论文不合格怎么办?)

阅读(50)

本文主要为您介绍第一次毕业论文没过怎么办,内容包括毕业论文不合格怎么办?,本科毕业论文没过怎么办,一不小心毕业论文没过,我该拿你怎么办。毕业论文不合格,一般院校还会给第二次机会的。毕业论文的撰写及答辩考核是顺利毕业的重要环节之一

资讯

本科毕业论文有价值吗(本科毕业设计有何重要价值)

阅读(61)

本文主要为您介绍本科毕业论文有价值吗,内容包括本科优秀毕业论文有用吗?,本科毕业设计有何重要价值,本科优秀毕业论文有用吗。其如果只注重本科课堂教学与实验课程教学及实习教学,那学生依然只是学到一些最为基础书本知识(尽管也有动手的实

资讯

毕业论文怎么怎么添加页码(毕业论文页码如何设置)

阅读(57)

本文主要为您介绍毕业论文怎么怎么添加页码,内容包括毕业论文页码如何设置,论文的页码怎么设置,毕业论文页码怎么设置。帮别人就是帮助自己,下面是我整理的相关资料,希望对你有所帮助。WORD2003中的页眉页码设置:1. 问:WORD 里边怎样设置每页不

资讯

第一次毕业论文没过怎么办(毕业论文不合格怎么办?)

阅读(50)

本文主要为您介绍第一次毕业论文没过怎么办,内容包括毕业论文不合格怎么办?,本科毕业论文没过怎么办,一不小心毕业论文没过,我该拿你怎么办。毕业论文不合格,一般院校还会给第二次机会的。毕业论文的撰写及答辩考核是顺利毕业的重要环节之一

资讯

本科毕业论文有价值吗(本科毕业设计有何重要价值)

阅读(61)

本文主要为您介绍本科毕业论文有价值吗,内容包括本科优秀毕业论文有用吗?,本科毕业设计有何重要价值,本科优秀毕业论文有用吗。其如果只注重本科课堂教学与实验课程教学及实习教学,那学生依然只是学到一些最为基础书本知识(尽管也有动手的实

资讯

体育生怎么毕业论文(体育理论毕业论文写些什么比较好)

阅读(86)

本文主要为您介绍体育生怎么毕业论文,内容包括大学体育生的毕业论文怎么写!请教!谢谢!,体育理论毕业论文写些什么比较好,08体育本科生毕业论文如何选题。同学,有很多方面可以写的。体育是一种复杂的社会文化现象,它以身体与智力活动为基本手