数据结构和算法对你意味着什么

2025-06-04

数据结构和算法对你意味着什么

封面照片由Tim GouwUnsplash上拍摄

从事软件工程职业需要付出很多努力。我从不同角度得到了很多建议,感觉让人应接不暇。有些建议甚至提到要学习数据结构和算法。但我遇到的一个问题是,我从未对学习它的理由感到满意(也许这就是我一直害怕学习它的原因)。作为一个自学成才的开发者,我阅读各种资料,并且非常依赖 Stack Overflow 上的答案,我能想到的学习数据结构和算法(DS & A)的唯一理由是我需要了解它们才能在面试中回答问题。直到我开始阅读这些资料,我才意识到自己错得有多离谱。

学习数据结构和算法不仅仅是为了面试——它的意义远不止于此。你有没有想过,为什么公司希望你了解这些东西?关键在于具体实施!数据结构的创建是为了提高时间和空间的复杂度。算法是执行给定任务的步骤。自然,步骤越少,时间就越短。这对公司来说很重要,因为花费的时间和空间就意味着金钱——生产成本、维护成本。如果软件耗费太多时间,对任何人都没有多大用处。如果最终崩溃,就意味着需要更多人来修复。

新手解决问题时,我们会不断尝试,直到找到解决方案。一段时间后,模式开始显现。现在,我们不用每次解决问题都经历同样痛苦的过程,数据结构与分析 (DS & A) 可以帮助我们缩短制定解决方案所需的时间。想象一下,立即在数组中搜索一个数字,我立刻知道二分查找是最快的方法!它还能优化操作以提高效率——它们占用更少的时间或更少的空间(当然,这其中也存在权衡)。拼凑起来的解决方案可能有效,但与使用数据结构精心设计的解决方案相比,效率上的差异显而易见。

总而言之,掌握数据结构和算法就像一种超能力,就像永不过时的终极时尚潮流。无论时间如何,无论使用哪种语言,你都能轻松实现它。大多数关于这个主题的书籍都用伪代码来写解决方案,这样无论你的背景如何,都能更容易理解。这也会让你以不同的视角看待问题。解决问题不再只是简单地拼凑东西。这一切都离不开数学(这也是我最困惑的一点),但我建议先尝试理解基础知识,然后慢慢深入。

我仍在学习,但希望学到更多可以从 DS 和 A 中得到的东西。👋

文章来源:https://dev.to/dauntless/what-data-structs-and-algorithms-should-mean-to-you-9kn
PREV
如何仅使用 CSS 创建动画切换开关并实现暗模式功能
NEXT
Javascript 中的队列数据结构队列的应用基本操作如何使用队列示例用法