所以,我一直在做一些关于算法的研究和搜索谷歌。在我深入了解之前,我已经掌握了它。
我知道算法被定义为:在计算或其他解决问题的操作中要遵循的一个或一组规则,尤其是计算机(引自字典)。 计算机程序定义为:是一系列指令,用于在计算机上执行指定的任务(引自维基百科)
我在一个帖子上看到的类比对我有所帮助:
蛋糕算法:
--Get Ingredients
--Bake
--Serve
蛋糕计划:
--2fl of flour
--3 eggs
--Mix in pan
--etc.
正如我所看到的算法更为通用
所以基本上我开始认为计算机程序是实现算法的代码,换句话说算法是一个蓝图。例如,这是一个简单的算法:
Step 1: Start
Step 2: Declare variables num1, num2 and sum.
Step 3: Read values num1 and num2.
Step 4: Add num1 and num2 and assign the result to sum.
sum=num1+num2
Step 5: Display sum
Step 6: Stop
我也知道,经过更多谷歌搜索后,算法可以用伪代码表示:
if a>b
Display a is bigger than b #Simple Example, but you get the point
它们也可以用实际代码形成(按照你的方式制作算法),如下所示:
def foo():
#Blank Code for Algorithm/to be used later
所以现在这就是我的问题,我看到很多stackoverflow线程要求用户解释/纠正他们的算法。但是,当我查看算法而不是看到类似上面的示例时,我会看到:
// I know this isn't Python but that's not the point!
for (int i = 0; i < N; i++) {Console.Write('Hello World !');
}
没有空白函数/空代码块,它全部填写等等 所以现在我的问题是:
对初学者的任何澄清都会很好。
答案 0 :(得分:1)
// I know this isn't Python but that's not the point!
for (int i = 0; i < N; i++) {
Console.Write('Hello World !');
}
例如上面的代码确实是算法吗?或者它是一个程序 写在算法之后?
不。如果您要删除打印部分并只添加print hello world
而不是Console.Write()
,那么可以成为打印问候世界的算法{{1时间。
如果它被认为是算法,那么它之间有什么区别 是一个算法,那个代码是一个计算机程序?
算法与语言无关,它只显示如何做某事,该语言为如何实现某些内容定义了更严格的规则。考虑到语言定义的规则和语法,程序用于实现算法。
如果两者兼而有之,那是否意味着可以使用这两个术语 可互换?
不。算法不是特定语言,而程序总是与编程语言结合使用。
示例语句:编写Java程序以实现BubbleSort算法。
答案 1 :(得分:0)
首先欢迎来到StackOverflow和编码世界。
您的问题的答案:
1.例如上面的代码确实是算法吗?或者它是一个遵循算法编写的程序?
WELL that's is not the algorithm as described above. And the answer to remaining part is explained as above
您会看到该算法是用简单的简单语言描述代码的东西。您可以用伪代码或流程图来解释程序的蓝图。您无法将其提供给PC,而无需实际提供PC将接受的格式。因此,您需要使用C,CPP,Python等语言将其转换为程序
2.如果它被认为是算法,那么作为算法和作为计算机程序的代码有什么区别呢?
No, it shouldn't be because of the exact same reason stated above.
3.如果两者兼而有之,是否意味着这两个术语可以互换使用?
<tbody ng-repeat="x in y" >
<tr>
<td>{{X. row data}}</td>
<td>{{X. row data 2}}</td>
</tr>
<tr>
<td colspan="2">
{{X. secondRowData}}
</td>
</tr>
</tbody>
希望你明白。
干杯
答案 2 :(得分:0)
类和实例对象之间的区别相同。