基础算法概念

        今天我们来说一说基础算法概念。

3.1   什么是算法

        从技术上讲,算法是一个有着良好定义的语句(指令或命令)的有序序列。该有序列有着严格的定义,为特定问题提供了解决方案。换句话说,算法是一步步解决一个给定的问题的过程。术语“有限”意味着算法一定会执行到终点,不会永远执行。

        在现实生活中的任何地方你都可以找到算法的存在,而不仅仅是在计算机科学中。比如,制作吐司或一杯茶的过程可以用算法表示,你必须按照特定的顺序执行某些步骤,以实现你的目标。

3.2   制作一杯奶茶的算法

        以下是制作一杯奶茶的算法:

        (1)把茶叶或茶袋放在杯子里。

        (2)向水壶中灌满水。

        (3)将水煮至沸腾。

        (4)向杯子里倒入适量的开水。

        (5)向杯子里加入牛奶。

        (6)向杯子里加入适量的糖。

        (7)搅拌

        (8)喝茶

        正如你所看到的,你必须遵循一些明确的步骤。这些步骤是按照特定的顺序进行的,尽管某些步骤可能会被重新排列。比如:步骤(5)和步骤(6)可以颠倒过来,你可以先加糖,然后加牛奶。

提示:

有些步骤的顺序可以改变,但是不能将它们移动到离它们原来的位置太远的地方。比如:不能将步骤(3)移动到算法的末尾,这样的话你最终会得到一杯凉茶,而这完全不同于你的初始目标。

3.3   什么是计算机程序

        计算机程序只不过是一种用计算机可以理解的语言(比如:Python、Java、C++或C#)编写的算法。

        计算机程序无法证的为你制作一杯奶茶或烹饪晚餐,尽管算法可以引导你自己通过这些步骤来实现。但是,程序可以(举例来说)用来计算一组数字的平均数,或者找出其中的最大值。人工智能程序甚至可以下期或者解决逻辑谜题。

3.4   3个参与者

        一个算法总是有3个参与者——一个写算法、一个执行算法,另一个使用或享用算法。

        举个例子,让我们来看看一个用于准备一顿美食的算法。有人写算法(食谱的作者),有人执行算法(厨师根据食谱上的步骤准备美食),有人使用算法(客人,美食的享用者)。

        现在让我们思考一个真正的计算机程序。以电子游戏为例,有人(程序员)使用计算机程序编写算法,某人或某物执行算法(通常是电子产品),其他人则使用或享用算法(游戏玩家或用户)。

        值得一提的是,有时术语“程序员”与术语“用户”会被混淆。当你编写一个计算机程序时,那段时间你是“程序员”。然而,当你使用自己的程序时,你就成了“用户”。

3.5   创建算法的3个主要阶段

        创建算法涉及3个主要阶段:数据输入、数据处理和结果输出。这个次序是明确的,不能更改。数字(数据输入阶段);接下来,程序必须计算数字的平均值(数据处理阶段);最后,程序必须在计算机屏幕上显示结果(结果输出阶段)。

        接下来让我们更加细致的来看看这些阶段:

        第一阶段:数据输入

        提示用户输入第一个数字

        提示用户输入第二个数字

        提示用户输入第三个数字

        第二阶段:数据处理

        计算3个数字的总和

        将总和除以3

        第三阶段:结果输出

        在屏幕上显示结果

        在一些罕见的情况下,输入阶段可能不存在,计算机程序可能只包括两个阶段。比如:考虑写一个计算机程序计算以下数字的总和:

                                                        1+2+3+4+5

        在这个例子中,用户完全不用输入任何值,因为计算机程序确切地知道该怎么做。它必须计算1~5的总和,然后再用换的计算机屏幕上显示值15.这里显示了两个所需的阶段(数据处理和结果输出)。

        第一阶段:数据输入

        什么都不用做

        第二阶段:数据处理

        计算1+2+3+4+5的总和

        第三阶段:结果输出

        在屏幕上显示结果

        然而,如果你想让用户决定这个求和的上限,该如何做呢?如果你想让用户决定是将数字1~10还是数字1~20相加,又该如何做呢?在这些情况下,程序必须在程序的开始部分包含一个输入阶段,以便让用户输入的上限。一旦用户输入上限,计算机就可以计算出结果。以下显示了3个所需的阶段:

        第一阶段:数据输入

        提示用户输入一个数字

        第二阶段:数据处理

        计算总和1+2+···(直至加到用户输入的上限数值)

        第三阶段:结果输出

        在屏幕上显示结果

        比如:如果用户输入数字3作为上限,则计算机将计算1+2+3的结果。

3.6   什么是保留字

        在计算机语言中,保留字(关键字)是有着严格预定义含义的单词——它被保留用于特殊用途,而不能用于任何其他用途。比如:Python中的if、while、elif和for中都有预定义的意义,它们不能用于任何其他用途。

提示

保留字存在于所有的高级计算机语言中。然而,每一门语言都有自己的保留字。比如:Python中的保留字elif在C++、C#、PHP和Java中写成else if。

3.7   你的第一个Python程序

        Python程序不过是一个包含Python语句的文本文件。你甚至可以在自己的文本编辑器应用中编写Python程序。但是,使用IDLE或Eclipse编写Python程序是更好的方式,因为它们所包含的所有功能都可以使你的工作变得更轻松。

        一些是一个非常简单的Python程序,只是在屏幕上显示3条信息:

        

print("hello world!")
print("hello people.")
print("The End")

 提示

python源代码默认以.py文件扩展名保存在硬盘上。

本章先讲到这里,下期继续讲解,拜拜

你可能感兴趣的:(算法,python)