您当前的位置:首页 > 计算机论文>计算机网络论文

计算机软件基础数据结构之算法

2015-08-29 13:55 来源:学术参考网 作者:未知

摘 要:摘要:数据结构的主要内容是讲解信息在计算机内的寄存方式和信息的集合与整理,它经常是和算法相联系的。算法是一种可以被计算机识别的指令,而这一指令的对象恰好是通过数据结构寄存的信息。两者的相互作用,使得计算机可以处理一些比较困难的问题,而且处理效率非常迅速。文中,笔者将针对计算机软件基础数据结构之算法,通过其要素、特征、表示、常用算法以及设计要求等方面详细讲述。

关键词:关键词:计算机软件;数据结构;算法

中图分类号:TP311     文献标识码:A     文章编号:
    1.计算机软件基础数据结构之算法概述
    1.1算法的两要素
    算法有两部分:其中一部分是对信息的操作处理,一共有四种常见的处理方式:分别为逻辑符号“与”、“或”、“非”;数学计算;信息的对比:大,小,相等和不等;信息的传递:传入,传出,定值等;另一部分是对信息的处理方式的操作结构,它引导各指令的有序进行,一般,采用流程图法来对其进行描述。
    1.2算法的特征
    算法是有限指令的整体,这些指令明确了处理问题的步骤。针对相应问题,该整体能够对任何定值按照预先设定的指令逐步进行运算处理,并且通过一定数量的运算后传送出计算机最后得出的结果,从整体看,其必须包含有限数量的指令,并且每条指令必须意思明确,不能有多层意思;其次,这些指令必须是计算机能力以内的,若超出其能力范围,该指令就不能够执行,对后面也会有影响;它自身对被处理对象没有要求,被处理对象的数量不会对这些指令产生影响,但是 ,一定要有一个或多个传递末端,否则,这个算法就什么意义业也有了[1]。
    1.3算法的表示
    从某种程度来讲,大部分人可以采用各种文字和符号来编译算法,目前,现行的主要有这几种:一般性文字,C语言、程序图、N-S图、PAD图等。其中一般性文字和C语言是具体详细的描述算法的,而其他的则是描述算法大致内容的作图形式,它可以直观的表达出设计者的思路想法,更便于理解学习,
    1.4常用算法
    1.4.1枚举法
  枚举法的主要内容是通过信息的的某些特点来估计运行结果的大概区域,接着通过一些手段来逐一检验该区域中的每一个结果,一直验证到所有的符合才停止,并且,如果在这些被验证过的对象中有能够满足该算法的所有要求的,那么这个对象就是计算机最终会传递的结果,如果在验证过程中没有一个达到要求的,那么就表明该算法无解。
    通过其运行原理,可以发现其特点有:工作原理简答明了,容易接受。但是有一个显著缺点就是运行速度慢,工作量大。它一般只适用于一些无法用其他方法解决的问题。在实际中,大部分人会采用它解决“某个问题是否有解”、“组合情况 ”等相似问题,设计者在设计算法时用循环来构造枚举法的整体。例如本国伟大的数学家张丘建在《算经》中的“千币千鸭问题”就可以用枚举法来解决。
    其次,笔者还总结了采用枚举法时可以遵循的大致步骤:
    第一步:通过问题,预估问题大致范围;
    第二步:选出枚举法的具体形式——一般枚举法的具体形式有顺序列举,逐一列 举,按类型列举等方法;
    第三步:逐个代入并验证;
    第四步:确定所要的答案,得出结果,或者该算法无解;
    1.4.2迭代法
    该方法所求结果不是精确的,是一种粗略求法,生活中很多方面,多要采用这种方法来处理问题,它有一个特征就是:将一个很麻烦的问题等价转变成为比较简单的迭代算式,并且重复循环这一步骤,最终由繁化简,得出问题的答案,这种算法一般只适用于非数值类的问题。
    1.4.3递推和递归法
    这两种方法在算法指令的编写中占据了主导地位,而且都运用了一些特殊的公式的性质逐项推导出来的,例如,运算出级数的结果,条件是,一般给出该式的规律,从而求出该数列的通项。
    其中,递推法也就是通过特殊的公式,从简单的入手,把前面的出的结果逐个的带入到后项中进行求解,该法的重要之处是特殊公式(满足一定的规律),例如:计算出某个数的阶乘,从表面就可以看出该特殊公式是G(m)=m G(m
    -1),但是,有时候有些问题的特殊是不好得到[2]。
    2.计算机软件基础数据结构之算法的设计要求
    语言,是一门艺术。不论是交流,沟通,还是成为记忆的另一种形式,都在生活中起到了主导作用。一句话可以创造奇迹,同时也可以毁灭奇迹。算法,就像语言一样,它是人类和计算机沟通的语言,通过它,人们可以和计算机交流,让它按照预先设计的指令执行任务,但是,所给出的指令有一定的要求——就像人们之间交流的行为准则一样。
    2.1正确性
    设计者必须按照算法的规则来编译指令,这样才能正确的和计算交流,让它正确的执行任务,所以,其正确性中的最重要的一点就是不能出现语法错误(这就好比所学习的英语和其他国家的语言一样),这样,先不谈论结果的正确性,至少计算机可以得出满足规定的的答案。
    2.2可读性
算法的可读特性,它的意思是算法的总体思路易于理解,试想,一个混乱的算法,头脑在聪明的人也不能一下子就明白算法的原理,更何况是让电脑得出所要的答案呢。
    2.3稳定性
   算法的稳定性,就好比机械设备一样,如果它的工作状态不够稳定,那么它就很容易产生出奇怪难懂的问题,算法也是如此,如果它自身不够稳定,那么计算机在运行时,就会很容易产生处错误,最频繁的错误就是出现乱码,虽然不是次次都会这样,但是给人的总体效果就像是算法存在问题,因此,稳定性对于算法来讲,也相当重要,好的算法都有这一特点。
   2.4高效低耗性能
    众所周知,计算机的内部器件的好坏决定了其自身的性能的好坏,算法也是如此,好的算法都能以最低的消耗,以最短的时间得出答案,这些都是有计算机内部工作原理决定的:最主要的因素就是运算速度和存储大小的联系。这些,就是算法主要的一些特点,也是计算机数据结构的基础[3]。
    3.计算机软件基础数据结构之算法的复杂度分析
    算法的复杂度决定了该算法在执行过程中并最终得出结果所消耗的总时间,设计者一般也是由算法的复杂度来判断某一类算法的办事效率的,因为消耗时间直接和算法所需要的内存大小直接挂钩。而评判者的主要判断依据就是运行时长和内存消耗。
    3.1运行时长
     一般,设计者不是根据所计算的算法运行的总时间来衡量时长的大小的,原因是算法运行的载体仍旧是计算机,而计算机的运行速度有和蛮多因素相关,比如:环境温度,计算机的外部设备 和内部设备等。所以,一样的算法在不同的运行载体上所产生的效果也不是完全一样的。同时,这一数据的大小并不是用来衡量某一算法效率的,而是用来判定算法在时间上的损耗,进而作为评判算法的好坏的标准之一,而且所占的比重是比较大的。
    3.2内存消耗
    内存消耗指的是计算机在运行某一算法时暂时需要用到空间大小的尺度,它也和上文中提到的z函数有关。它的主要内容有传入传出信息所占的内存以及算法运行过程中暂时性占用的内存大小。其中,传入传出信息所占的内存和需要解决的问题相关,并由它来决定其大小,一般不会随着算法的变化而变化;而运行过程中暂时性占用的内存大小恰恰由算法来决定,不同的算法所需要的内存也会不一样,因此,一般较好的算法方式,所需要的内存大小都比较少,这也是为什么内存消耗会成为判定一算法好与坏的又一重要标准之一[4]。
    4.结语 
    总而言之,计算机软件基础数据结构之算法 是学习者了解数据结构的基础,它所包含的内容,可以帮助学习者了解计算机内部的运行情况,便于学习者更好地掌握计算机起到了一定的作用,同时,设计者可以学以自用,解决一些在数学,生活中遇到的不易解决的麻烦。
参考文献:
[1]杨飞宇.计算机应用基础项目教程[J].社会科学,2009(2).
[2]肖明辉. 浅谈计算机基础数据结构[J].新课程,2010(12).
[3]包艳琴.计算机基础知识运用与学习[J].劳动技术教育,2010(6).
[4]范飞. 浅论及损及基础数据结构的优与劣[J].贵州教育,2011(11).

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页