01 为什么要学数据结构和算法

本文阐述了数据结构与算法在编程领域的核心地位,特别是在大厂面试及日常编码实践中的重要性。介绍了掌握十大基础数据结构与十大经典算法的必要性,并强调了其对于提升代码质量和理解底层原理的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机相关专业,培训机构都会教简单的数据结构和算法。但是,绝大部分程序员对数据结构和算法一窍不通,只是听过最基本的数据结构和算法,数组、列表、冒泡、快排。稍微复杂一点的就完全没有概念了。

一、大厂面试必考

不管校招和社招,算法提是必考的。

对于校招,很多人都没有项目禁言,而且大厂也不看重你的项目。注重的是你的基础。所以,算法是重中之重。

对于社招,项目经验是一方面,但是算法确实一个最大的门槛。

二、对代码的追求

进了公司,干的活就是用封装好的接口来堆砌业务代码,CRUD,时间久了,虽然你能用的很熟练。但你并不知道背后的一些逻辑,比如你应该用ArrayList还是LinkedList,也不动得如何去评估代码的性能和资源消耗。

工作总还会用到很多的框架、中间件、底层系统,spring、redis。这些技术中有很多的基础数据结构和算法的设计思想,当你去翻看源码的时候,如果没有一个好的基础,很难看懂。

三、我们的目标

现在互联网上各种技术文章、博客。有的人写的东西只能在公司内部小范围使用。而有的人写的就能在github开源,甚至被Apache收录。为什么会有这么大的差距?

高手之间的竞争其实就是基础,更小的资源消耗,更优秀的代码逻辑,这些都离不开最基础的数据结构和算法。如果你去学习redis的源码实现,就能了解到,他的快不仅仅是放到了内存中,代码方便也是做到了极致。

四、算法是内力

想要写出精炼、优秀的代码,了解各种技术的背后逻辑,甚至自己去做一套基础架构,没有算法是不行的。

五、什么是数据结构、什么是算法,两者有什么关系

数据结构就是指数据的存储结构,算法就是操作数据的方法。数据结构是为算法服务的,算法要作用在特定的数据结构上,两者相辅相成,缺一不可。

数据结构和算法的内容:

在这里插入图片描述

我们要学的:

10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、字典树;

10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七号公园的忧伤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值