若干算法设计模式的研究与应用

来源 :江西师范大学 | 被引量 : 0次 | 上传用户:meljl
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
自动程序设计一直是计算机科学的一个奋斗目标,而算法[1]是程序的灵魂,是解决问题的关键,是程序设计的基础和难点,要实现程序设计的自动化首先应该实现算法设计的自动化。但算法设计是一项创造性的劳动,因此要实现自动程序设计的目标目前还存在很多困难。在长期的算法和程序设计实践中,人们总结出来了一些常用而有效的算法设计方法:贪心法、分而治之法、动态规划法、回溯法和分枝定界法,很多问题均可以使用它们进行求解。因此,我们期望通过对这些算法设计方法的深入研究,抽取每种方法在求解问题时的共同规律,利用泛型程序设计的思想,构造上述五类常用算法设计方法的算法设计模式。当面临一个具体问题求解时,只需根据该问题的特点和性质,对算法设计模式进行实例化,即可生成问题的求解程序,不仅可以降低程序开发的难度,而且可以对推动算法设计自动化研究探索一条有效的途径。因此本文主要工作包括:1、对贪心法、分而治之法、动态规划法、回溯法、分枝定界法进行了深入研究,并对这五种算法设计方法分别进行抽象,形成对应的算法设计模式,这是本文研究的重点与难点。2、以本文抽象出的五种算法设计模式为基础,构造相应的算法设计模板。3、以若干典型问题为例,说明上述所得算法设计模板的使用方法。实践证明,本文开发的五种算法设计模板具有较好的可重用性,使用它们开发应用程序,能有效地降低程序开发的难度,提高程序开发效率。同时由于它们经过许多实例测试保证了其可靠性,从而提高了以它们为基础所开发的应用程序的可靠性。
其他文献
随着互联网规模的增长和计算机技术的提高,用户对网络的需求也产生了相应的变化。宽带的普及和网络传输水平的提高使得高宽带多媒体应用成为可能。多媒体技术的发展与宽带的
服务组件架构SCA(Service Component Architecture)是一组规范,由IBM、BEA、Oracle、SAP等国外著名企业参加的OSOA(Open ServiceOriented Architecturel组织起草并规范。SCA
Mashup服务是一种将来源不同的Web API数据内容服务进行集成开发而形成的Web应用,是一种新型的Web服务。它从外界其他数据源得到数据内容服务,并将这些数据源的内容服务进行
随着业务流程技术的快速发展和广泛应用,用户可更高效的构建更新业务流程管理系统,从而积累了大量跨领域异构业务流程,根据参考流程检索出相似流程(流程检索)这一需求也日益
随着单片机的广泛应用,社会对单片机开发人员的需求越来越大,对他们的要求也越来越高,如何培养高素质的单片机开发人才对高校是十分重要和迫切的。目前高校的单片机教学依然
股票是市场经济的产物,从诞生的那天起就牵动着数以千万投资者的心。股票投资的收益与风险往往是成正比的,即投资收益越高,可能冒的风险越大。个人投资者和机构投资者时刻关心股
近年来,随着多媒体技术和互联网的飞速发展,产生的数字图像数量正以惊人的速度增长。这些图像在军用及民用各个领域都有着重要的作用。如何对图像进行有效的检索,已成为国际
随着市场竞争的日益激烈,面向顾客订货的、多品种、小批量生产己经成为21世纪的主导生产模式。相应地,制造企业正向着精益生产和敏捷制造的方向发展。在这种生产环境下,如何安排
随着互联网技术的迅速发展,网络上的资源日益丰富,各类搜索引擎应运而生,并迅速发展壮大。以百度,Google为代表的综合性搜索引擎搜索范围几乎涵盖了各个领域。但是,这些综合
计算机网络和多媒体技术的飞速发展,使得企业对于过程工业监测这一生产环节中的重要一环提出了越来越高的要求。研究并建立一套现代的过程工业监测平台,对生产过程的进行实时