(辽宁省沈阳市法库县高级中学辽宁省沈阳市110400)
摘要:计算机算法是计算机进行计算过程执行的具体体现,在计算机实践应用中发挥着至关重要的作用。因此,有必要学习与掌握计算机算法,加强对计算机技术的了解,提升计算机知识与技术的学习与应用质量。本文基于已有学习经验,通过相关文献资料梳理,对计算机算法进行了简要分析。
关键词:计算机;计算机算法;算法思想
引言
科学技术的创新发展与应用推动了计算机及其技术在人们日常生产、生活与学习中的应用,使计算机成为我们完成各种各样工作的重要工具。而计算机的执行离不开算法的支持。虽然信息课程中涉及到计算机算法知识有限,但在一定程度上我明确了算法的重要性,并对之产生浓厚兴趣,通过课后自主学习与了解,我对计算机算法形成了如下初步认识。
1计算机算法的定义
“算法”在《周髀算经》中被定义为“演算法”,指代一种运算规则。“算法”原为“algorism”代表“阿拉伯数字运算法则”后演变为“algorithm”,主要应用于数学领域。随着人们对算法研究的不断深入,算法的应用得到拓展,人们对算法的理解,从单纯的运算法则转化为:对一个问题解决方案的准确性、完整性、全面性描述;是问题解决过程中所执行的一系列指令,是以系统方式对问题解决策略进行的阐述[1]。算法能够从一个初始状态开始,在经过一些明确、清晰的定义下,生成一定结果,进行结果输出,并停止在一个状态。而这个状态转移的过程可以是确定的,也可以是不确定的,所经过的定义可以是有限的,也可以是无限的。对此,对算法进行分类大致可分为有限确定算法、有限不确定算法与无限算法三类。通常情况下,算法具有有穷性、确切性、输入性、输出性与可行性特征。目前,算法已被广泛应用到计算机中,成为保证计算机稳定运行,实现计算机任务执行的关键所在。
2计算机算法的特征
计算机的应用是通过程序运行得以实现的,算法作为计算机程序的重要组成元素,是计算机各种问题处理与解决的关键,在一定程度上决定着计算机应“做什么”、“怎么做”。在计算机运行程序中,描述算法的方式众多,而文字、结构化流程图、PAD图、伪代码等最为常见与常用的方式[2]。由于计算机无法识别算法,对此需要根据计算机实际应用需求,进行算法设计,将算法转化为计算机能够识别的程序语言,以实现算法应用作用的充分发挥。因此,可以说算法属于程序语言,但由高于程序语言,且计算机执行任务不同,所应用的算法也不同。对此,一个算法的优劣直接影响计算机运行质量与效率,故在计算机学习与应用过程中,需对计算机算法具有一定的认知与了解,能够从空间与时间维度进行算法分析,实现计算机算法最优化、复杂性、稳定性、可靠性、自适应性等问题的解决,以获取最优算法,满足计算机高质量、高效率应用需求。例如,在一个多项的线性表查找过程中,可根据已有的有序数组利用二分查找算法进行实践。即,已知集合中的所有元素是依据大小顺序进行有序排列,要想查看数字S是否在集合中,可选取集合中所有元素中位数,将其与数字S进行对比分析,从而将集合分为两部分,当中位数大于数字S时,则在小的集合中继续对分查找;当中位数小于数字S时,则在大的集合中继续对分查找。在该规则下,通过重复循环操作,能够有效判断P是否存在于集合中,P等于中位数,表明在集合中,反之不再集合中。
3计算机算法的应用
随着计算机算法研究的不断深入,已形成众多计算机算法,包括枚举算法、排序算法、分支界限算法、回溯法、动态规划法、穷举法、随机森林算法等。且不同算法在一定程度上蕴含着不同的算法思想。而学习算法,不仅能够掌握算法基础知识,了解其在计算机中的应用,也能够实现自身思维的培养,形成算法思想,从而提升自身问题分析与处理能力。例如,就考试成绩排名而言,可利用计算机排序算法进行排名与分析,即,按照成绩总分进行排序,成绩总分相同时,文史类依据“语文——外语——数学——文科综合”次序进行排序;理工类依据“数学——外语——语文——理科综合”进行排序,从而确定最终名次。根据这一逻辑思维形成相应的算法步骤,通过成绩输入,程序执行,得出结果。便于对自身成绩进行更全面、更准确的了解,从而能够在高考报考中,提升录取率。
我国正处于信息化、现代化建设的重要时期,先进技术的应用与生产、企业的转型升级、政治体制的深化改革等,皆需利用算法进行实现。对此,需树立计算机算法意识,提升计算机算法应用水平,以增强信息利用率。
结论:计算机算法是计算机应用的核心所在,计算机使用功能不同,其算法设计也不同。在信息化、大数据时代背景下,在提倡构建网络强国,注重社会信息化建设背景下,有必要加强对计算机及其算法的认识与了解,探寻算法所具有的奥秘,以便增强自身信息意识,提升计算机学习与应用水平,更好的完善自我,发展自我,提升自我,从而共享自身力量。
参考文献:
[1]王承恩.计算机排序算法及其在高考成绩排名中的应用[J].科技传播,2018,10(23):141-142+159.
[2]田源.探究基于视觉特性的计算机图像分割算法的应用[J].电脑编程技巧与维护,2018(11):142-143+152.