当前位置:蚂蚁文档网 > 述职报告 > 软件工程程序设计中几种常用算法的比较研究

软件工程程序设计中几种常用算法的比较研究

时间:2022-05-15 15:20:02 浏览次数:

摘要:在计算机科学领域中,软件工程程序设计是一项重要的研究内容,而程序设计的核心就是算法的选择,最佳的算法不仅能够降低程序的复杂性,而且要能够达到程序设计的要求。在软件工程中对于程序设计算法的方法有很多种,该文主要对软件工程程序设计的几种常用算法进行比较研究,从而能够为软件工程程序设计提供一些参照条件。

关键词:软件工程;程序设计;常用算法;比较研究

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)18-4425-03

随着科学技术的发展,计算机技术呈现出快速发展的状态,随着计算机软件系统的复杂程度以及规模的扩大,软件的可靠性的问题也日趋增多,在软件工程程序设计中计算方法也随着增多,下面主要进行分析在软件工程程序设计中分而治之法、贪心法设计、动态规划法等几种算法的特点以及实现机制进行分析和研究比较。

1算法的概述

在计算机中对于算法的描述种类有很多种,其中有自然语言、算法语言以及图形语言和形式语言等。算法主要是指在有限的步骤内能够解决一个问题的过程。算法的特性主要有以下几点:确定性、有穷性、可行性以及输入输出这五个重要的特性,其中有穷性主要是指每一个算法必须在执行的有穷步后结束一个程序。确定性主要是指算法的每一个步骤必须具有确切的定义。可行性主要是指在算法中每一步都应该是非常基本的算法,并且每一步都能够精确的计算。输入性主要是指有0个或者多个输入值,输出性主要是指有1个或者多个输出值[1]。

软件工程程序算法在计算机上执行计算的过程中需要有一定的存储空间存放算法所需要的数据以及描述的程序。在软件工程程序设计中对于不同的算法,其写出的程序在计算机上进行运行的过程中所需要的空间和时间是不同的,并且针对不同的计算机的运行速度也是不同的,所以软件工程程序设计中对于判定不同算法的复杂性时,应该注意计算机自身的问题,从而选择出复杂性最低的算法。

2分而治之算法的研究

在计算机科学领域中分而治之方法是软件工程程序设计中一项重要的算法。分而治之主要是指将一个复杂的问题分为两个或者多个相似或者相同的子系问题,然后将所分的子问题分为更小的子问题,一直到能够直接求出问题的答案为止,其中原问题的答案就是各个子问题答案的综合。如果在具体使用分而治之法的过程中,因为子问题的类型大多数与原来的相同,所以很自然就能够实现递归过程,求出问题的解。在软件工程中采用分而治之的方法能够解决问题时,可以使用分而治之的设计模式进行解决问题,这种设计模式不仅适合于用户对这种算法具体深刻了解的用户,以免出现重复性的劳动,提高复用率,而且还适合于对分而治之思想理解不深的用户,从而能够减轻用户的负担[2]。

1)分而治之算法的设计模式一般为:

其结构如图1所示。

2)分而治之算法的应用特点

在计算机软件工程程序设计中,分而治之算法的应用是非常繁多的,比如常见的循环赛日程表、合并排序、大整数乘法、二分搜索技术以及线性时间选择等。应用分而治之算法可以解决具有以下特征的问题:能够解决规模可以缩小到能够解决的问题;问题具有分解性能够分解成多个小的并且类似或者相同的问题,并且问题具有子结构性质。问题所能够分解的各个子问题是之间是相

在计算机科学领域中软件工程程序设计以及编程的重点内容就是算法的设计,一个软件工程程序设计的优劣性主要在于程序算法的选择,不同的算法具有不同的特点,其复杂性以及通用性也是具有很大的不同,所以在进行设计的过程中不仅应该注意其通用性和复杂性,而且还应该注意各种算法所使用问题的类型,从而才能软件工程程序设计的完美以及精确。

[1]陈蓉,陈烽.软件工程中程序设计方法的比较[J].电脑知识与技术,2012,8(2):333-334.

[2]陈端兵,黄文奇.求解矩形packing问题的贪心算法[J].计算机工程,2007,33(4):160-162.

[3] Alsuwaiyel M H.Algorithms desing techniques and analysis[M].Beijing:Publishing House of Electronics Industry,2003:103-204.

[4]吴志健,汤铭端.一种基于基因表达式程序设计的新算法[J].系统仿真学报,2008,20(8):1986-1989.

推荐访问:软件工程 几种 程序设计 算法 常用

猜你喜欢