Algorithm 使用shell脚本介绍算法是一个好主意吗
目前,我已将学习Unix/Shell脚本和阅读CLR Algo书籍列为最重要的优先事项。我在考虑是否可以使用shell脚本解决CLR中提到的算法问题。请注意,我是Unix/Shell脚本的新手 不,不是。Shell脚本绝对不是为编写算法而设计的。你应该使用一个通用的编程语言,如C、C++、java、python,或者[插入你喜欢的通用语言这里]。 这并不是说你不能使用bash或者其他的算法——它是图灵完全的AFAIK——但是你真的不想。这将是一个巨大的痛苦,你不会学到很多你需要的技能(比如在通用编程语言或风格中建模算法),你的解决方案将是神秘的。帮自己一个忙,用点别的。Shell脚本用于自动化任务,而不是解决算法 此外,大多数shell脚本语言(最著名的是bash)都是弱类型的,这a.)会影响性能,b.)会使程序更难推理。对于算法来说,动态类型是可以的,弱类型就不那么多了。不管怎样,表现都将是糟糕透顶的Algorithm 使用shell脚本介绍算法是一个好主意吗,algorithm,bash,shell,unix,Algorithm,Bash,Shell,Unix,目前,我已将学习Unix/Shell脚本和阅读CLR Algo书籍列为最重要的优先事项。我在考虑是否可以使用shell脚本解决CLR中提到的算法问题。请注意,我是Unix/Shell脚本的新手 不,不是。Shell脚本绝对不是为编写算法而设计的。你应该使用一个通用的编程语言,如C、C++、java、python,或者[插入你喜欢的通用语言这里]。 这并不是说你不能使用bash或者其他的算法——它是图灵完全的AFAIK——但是你真的不想。这将是一个巨大的痛苦,你不会学到很多你需要的技能(比如在通用
如果您试图学习shell脚本和算法,您仍然可以同时学习。编写脚本来编译和测试您的程序,并用通用语言编写程序。像Bash这样的shell功能非常强大,但我认为您会发现它们对数组的支持有限,对哈希表的支持不足,以及其他限制,使得实现除非常基本的算法之外的任何东西都变得单调乏味。Python或Perl将是一种更好的通用脚本语言
(稍后添加)由于了解到Bash4具有关联数组,我想补充一点,即可以使用shell脚本实现一些算法。它不会很快,也不会很优雅,会像地狱一样乏味,并且在应用上受到限制;但是,如果你想在学习实现算法的同时被迫学习复杂的shell,也就是说,纯粹作为一种心理练习,这对你来说可能是一件好事。一点也不。当您需要一点停止来执行所有与UNIX/Linux系统相关的活动时,Shell脚本非常有用。你可以选择C/C++、Python、Java。大学通常会选择以下选项之一(不是完整的列表,只是听说过的):
- C
- C++
- 爪哇
- C#
- 蟒蛇
- Matlab
- 计划
- 您对unix-linux系统级编程感兴趣:C,C++
- 你对成为一名软件工程师感兴趣:Java、C#(可能是C++)
- 您对web编程感兴趣:PHP(可能是Python)
- 你对数学/统计编程、线性代数等感兴趣:Matlab
等等。首先:确定你的编程目标,然后在网上搜索它,看看人们在使用什么,然后了解它bash确实有哈希表(通过关联数组),但使用它是一件痛苦的事。我不知道,谢谢Rafe。虽然我知道数字数组的存在,但我也从未实际使用过它们。Bash 4中提供了关联数组,但以前没有。