算法基础入门:概念、分析与实践
1. 算法基础概述
在深入研究算法之前,了解一些基础知识是很有必要的。简单来说,算法就是完成某项任务的步骤说明,它定义了以特定方式执行任务的步骤。不过,通常人们不会为极其简单的任务编写算法,比如访问数组中的第四个元素,因为这被认为是数组操作的基本内容,只要掌握相应编程语言就能完成。一般而言,人们只为困难的任务编写算法,例如解决复杂的代数问题、在包含数千条街道的网络中找到最短路径,或者找出数百种投资的最佳组合以实现利润最大化。
要充分利用算法,不能仅仅局限于遵循其步骤,还需要理解以下几个方面:
- 算法的行为 :它是能找到最优解,还是只能找到一个不错的解?是否存在多个最优解?选择其中一个“最优解”是否有特殊原因?
- 算法的速度 :算法是快还是慢?是否通常很快,但对于某些特定输入会变慢?
- 算法的内存需求 :算法需要多少内存?这个内存量是否合理?算法是否需要比计算机当前所能拥有的内存大数十亿TB的内存?
- 算法使用的主要技术 :能否复用这些技术来解决类似的问题?
2. 算法与数据结构
算法是执行特定任务的步骤,而数据结构则是为了更轻松地解决特定问题而对数据进行的组织方式。数据结构可以是数组中值的排列方式、以特定模式连接项目的链表、树、图、网络,或者更奇特的形式。
算法通常与数据结构紧密相连。例如,用于确定两个字符串相似度的编辑距离算法,就使用网络来实现。该算法与网络紧密相关,没有网络就无法工作;反之,没有算法,网络
超级会员免费看
订阅专栏 解锁全文
14万+

被折叠的 条评论
为什么被折叠?



