如何使用算法解决问题?
算法是完成特定任务必须遵循的过程或规则集。这基本上是完成任何任务的分步过程。所有的任务都遵循特定的算法,从泡茶到制作高度可扩展的软件。这是将任务分成几个部分的方法。如果我们画一个算法来完成一个任务,那么这个任务就会更容易完成。
该算法用于,
- 开发一个用于指导计算机的框架。
- 引入了基本功能的符号来执行基本任务。
- 用于在小部分中定义和描述一个大问题,使其非常容易执行。
算法的特点
- 应该明确定义算法。
- 算法应该至少产生一个输出。
- 算法应该有零个或多个输入。
- 算法应该在有限数量的步骤中执行和完成。
- 算法应该是基本的并且易于执行。
- 每个步骤都以特定的缩进开始,例如“Step-1”,
- 必须有“开始”作为算法的第一步,“结束”作为算法的最后一步。
举个例子,泡一杯茶,
第 1 步:开始
第2步:在碗里取一些水。
第 3 步:将水放在燃气燃烧器上。
第 4 步:打开燃气燃烧器
步骤5:等待一段时间,直到水沸腾。
第六步:根据需要在水中加入一些茶叶。
第7步:然后再次等待一段时间,直到水变得像茶一样五颜六色。
步骤8:然后根据口味加入一些糖。
第9步:再次等待一段时间,直到糖融化。
第 10 步:关闭燃气燃烧器,将茶和饼干一起盛在杯子里。
第 11 步:结束
这是制作一杯茶的算法。对于计算机科学问题也是如此。
制作算法有一些基本步骤:
- 开始——启动算法
- 输入– 获取算法将执行的值的输入。
- 条件——对输入执行一些条件以获得所需的输出。
- 输出——打印输出。
- 结束——结束执行。
让我们举一些计算机科学问题的算法示例。
示例 1. 用第三个变量交换两个数字
Step 1: Start
Step 2: Take 2 numbers as input.
Step 3: Declare another variable as “temp”.
Step 4: Store the first variable to “temp”.
Step 5: Store the second variable to the First variable.
Step 6: Store the “temp” variable to the 2nd variable.
Step 7: Print the First and second variables.
Step 8: End
示例 2. 求矩形的面积
Step 1: Start
Step 2: Take the Height and Width of the rectangle as input.
Step 3: Declare a variable as “area”
Step 4: Multiply Height and Width
Step 5: Store the multiplication to “Area”, (its look like area = Height x Width)
Step 6: Print “area”;
Step 7: End
示例 3. 找出 3 个数字之间的最大值。
Step 1: Start
Step 2: Take 3 numbers as input, say A, B, and C.
Step 3: Check if(A>B and A>C)
Step 4: Then A is greater
Step 5: Print A
Step 6: Else
Step 7: Check if(B>A and B>C)
Step 8: Then B is greater
Step 9: Print B
Step 10: Else C is greater
Step 11: Print C
Step 12: End
算法的优势
- 算法使用确定的程序。
- 这很容易理解,因为它是一步一步的定义。
- 如果发生任何错误,该算法很容易调试。
- 它不依赖于任何编程语言
- 程序员更容易将其转换为实际程序,因为算法将问题分成更小的部分。
算法的缺点
- 一个算法是耗时的,不同的算法都有特定的时间复杂度。
- 大型任务在算法中很难解决,因为时间复杂度可能更高,因此程序员必须找到一种有效的方法来解决该任务。
- 循环和分支很难在算法中定义。