算法导论

算法导论
强烈推介IDEA2021.1.3破解激活,IntelliJ IDEA 注册码,2021.1.3IDEA 激活码  

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说算法导论,希望能够帮助大家进步!!!

什么是算法?为什么要对算法进行研究?相对于计算机中使用的其他技术来说,算法的作用是什么?在本章中,我们就要来回答这些问题。
1.1算法
简单来说,所谓算法(algorithm)就是定义良好的计算过程,它取一个或一组值作为输入,并产生出一个或一组值作为输出。亦即,算法就是一系列的计算步骤,用来将输入数据转换成输出结果。
我们还可以将算法看作是一种工具,用来解决一个具有良好规格说明的计算问题。有关该问题的表述可以用通用的语言,来规定所需的输入/输出关系。与之对应的算法则描述了一个特定的计算过程,用于实现这一输入/输出关系。
例如,假设需要将一列数按非降顺序进行排序。在实践中,这一问题经常出现。它为我们引入许多标准的算法设计技术和分析工具提供了丰富的问题场景。下面是有关该排序问题的形式化定义:
输入:由n个数构成的一个序列(a1,a2,…,an)。
输出:对输入序列的一个排列(重排)〈a1,a2,…,a'),使得ai≤a2≤…≤a%。
例如,给定一个输入序列(31,41,59,26,41,58),一个排序算法返回的输出序列是(26,
31,41,41,58,59)。这样的一个输入序列称为该排序问题的一个实例(instance)。一般来说,某一个问题的实例包含了求解该问题所需的输入(它满足有关该问题的表述中所给出的任何限制)。
在计算机科学中,排序是一种基本的操作(很多程序都将它用作一种中间步骤),因此,迄今为止,科研人员提出了多种非常好的排序算法。对于一项特定的应用来说,如何选择最佳的排序算法要考虑多方面的因素,其中最主要的是考虑待排序的数据项数、这些数据项已排好序的程度、对数据项取值的可能限制、打算采用的存储设备的类型(内存、磁盘、磁带)等。

推荐看看《算法导论》这本书,讲解的很详细

链接:https://pan.baidu.com/s/1mkx8Af-YtopYXMQhEn-tSA
提取码:yj61

 

转载于:https://www.cnblogs.com/zsgeek/p/11211299.html

本文来源weixin_30595035,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/29643

发表评论