首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果你想成为一名Java/C++程序员,学习数据结构是必须的吗?

如果你想成为一名Java/C++程序员,学习数据结构是必须的吗?
EN

Stack Overflow用户
提问于 2010-05-07 15:46:50
回答 16查看 8.8K关注 0票数 16

那么,我真的需要学习它们吗?有没有一种有趣的方法来学习堆栈、链表、堆等?我发现这是一个无聊的话题。

**发布此问题时显示了一些警告。我不能发这样的问题吗?管理员请澄清,我将删除它:/

警告::您提出的问题看起来很主观,很可能会被关闭。

好吧.我明白了,那么学习它们的最好方法是什么呢?我指的是哪本书?什么网站?

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2010-05-07 15:59:17

如果你想成为一名程序员,学习数据结构是必须的。数据结构是你的基础--如果你不了解基本结构(数组、链表、堆栈、队列、树(二进制/n元,自平衡变量)、哈希表、堆、图)的行为、用途和运行时复杂性('big-O'),以及在它们上运行的算法(插入/定位/删除),你就不知道在什么情况下使用哪种结构是合适的。

每个行业都有自己的工具;这些都是我们的工具。数据结构是你将要学习的几乎任何算法的最基本的基础。除非你想成为一名cargo cult programmer,否则你需要了解它们是如何工作的。

是否有有趣的方法来了解它们是一个完全不同的问题……:)

票数 63
EN

Stack Overflow用户

发布于 2010-05-07 16:00:06

我甚至可以说,大多数编程都围绕着操纵数据结构,毕竟这是计算的基础:你得到一些数据,你处理它,你可能会给出输出。所有数据通常都驻留在数据结构中,选择不合适的结构将产生更大的影响,项目越大。

票数 8
EN

Stack Overflow用户

发布于 2010-05-07 15:59:56

随着你获得更多的经验,你会发现算法和数据结构对你的日常开发来说是无价的,而且实际上非常有趣。

通过现在了解它们,您将了解到:

  • 哪个数据结构适合哪个上下文,即什么时候使用单链表,什么时候使用堆栈,什么时候使用队列,什么时候使用树
  • 哪种算法适合哪种目的,例如树深度优先搜索或广度优先搜索。
  • 算法的空间和时间复杂性,例如为什么快速排序有时是最好的解决方案,有时heapsort.
  • Overall它会教你计算机科学的开始和基础。即使您再也不必实现一个堆栈,您也会知道其中所包含的思想和考虑。如果你不得不实现你自己的数据结构(很有可能是这样的),你就会知道该做什么,不该做什么。
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2786995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档