🚩 WRITE IN FRONT 🚩
- 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎
- 🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2022博客之星TOP100|TOP63、阿里云专家博主、掘金优秀创作者、全网粉丝量6w+、全网访问量100w+ 🏅
- 🆔 文章内容由 謓泽 原创 如需相关转载请提前告知博主 ⚠
- 📝 个人主页:謓泽的博客 📃
- 📣 专栏系列:数据结构_謓泽的博客 📃
- 🎁 点赞👍+ 收藏⭐️+ 留言📝
- 📅 创作时间👉2022N 7Y 1R 🧑💻
- ✉️ 我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 📩
🍭目录
📕前言
📗who数据结构
📘算法和数据结构的关系
📕"四步曲"
📗你必须要学数据结构
📕前言
"数据结构"很多没学过的小伙伴们看到这四个字、就会觉得有一种劝退的感觉。因为很多人觉得学数据结构都是需要思维逻辑强、高等数学和算法、必备C语言精通等条件。
说明⇢在我看来有这些基础能力最好,可以说你基础越扎实那么学数据结构肯定是比那些基础比较、但是这不是主要的。最主要的是看你对"数据结构"这门课程花费多少心思,花费多少时间努力和精力♬
📗who数据结构
⒈官方的话⇢数据结构是数据的对象,以及存在于该对象的实例的数据元素之间的联系。这些联系可以通过定义相关的函数给出。"他将数据对象(date object)定义为一个数据对象是实例或值得集合。
⒉白话来说⇢数据结构就是实现在内存当中存储管理数据,建立数据之间的联系。数据之间的关系可以是线性的(顺序表、链表等)也可以是非线性的(二叉树、哈希、图等)。数据存储起来以后,方便我们去展示,查询等。
📘算法和数据结构的关系
①官方的话⇢算法(Algorithm)定义良好的计算过程,他取一个或一组的值作为输入,并产生出一个或一组的值作为输出。简单的来说算法就是一系列的计算步骤,用来将输入数据转化成为输出结果。
②白话来说⇢算法就是利用计算的处理问题的步骤,总而言之~就是解决问题的步骤。比如说现在很多应用视频,像blbl、dy、ks的会推荐你喜欢的视频,这种被我们称之为是"大数据",而这种在算法当中来说叫做是"推荐算法"。
📕"四步曲"
⒈那么我们在学习数据结构之前你需要有哪些基础呢?
⑴首先很重要的就是[C语言]这里我只能说你这门语言越扎实越好,你的起点就更高、起步就更快。
推荐课程-比特鹏哥C语言(blbl)有的、比特鹏哥刷题训练营(cctalk)、比特蛋哥的C深度解剖(cctalk)、翁恺C语言。
说明⇢以上推荐的课程都是博主完整的学过一遍的课程(甚至有些课程学习了好几遍)、都讲的非常Nice😘尤其是鹏哥的比特C语言从入门到精通绝对是初学者的福音。如果你把这些学完了并且大部分都学会了、那么你的C语言就没什么问题了基本上。
⑵刷题、刷题可以培养你的编程思维逻辑,这对于编程者来说是很重要的,你题目刷的越多你的思维性也就越强,必须要有一定的代码量的练习。
推荐网站-牛客网、力扣、BJFU[OJ]。
注意-但是在这个世界上也存在极少部分人思维性极强的人来说,他们不用刷多少题就具备思维能力。这种在这里不考虑、毕竟是极少数人群。
⑶误区-有些小伙伴们会把数据结构和高等数学关联在一起,这其实是一个很大的误区。数据结构和高等数学基本没有什么关系,但是离散数学有用。真的有关系的是数据结构和算法,关系很大。所以,不存在什么一定的数学不行就不能学习数据结构之类的。当然,如果你有这方面的能力那当然是最好的🙌
⑷书籍-在这里博主推荐下关于数据结构的书籍吧。
①漫画算法-小灰的算法之旅。
②数据结构-第二版名师严蔚敏最新力作。
📗你必须要学数据结构
who-为什么必须要学习数据结构呢?
说明①⇢博主走的是嵌入式的路线,那么对于嵌入式来说数据结构是非常重要的一个能力,嵌入式工程师要弄懂操作系统(os)的话,就必须要懂数据结构,可以说不懂数据结构的话就搞不清楚操作系统的代码,包括自己写代码也要有封装和继承的概念。这些也都是需要数据结构的概念了,像对于高级语言来说那么它就是用到了很多指针、结构体、枚举以及内存的知识点,这些都是经常和数据结构一起使用的。
说明②⇢如果你是从自动化或者机械的专业从事嵌入式的话,如果你的业务一旦设计到了数据结构那么你就会非常的吃力,所以是有必要学习数据结构的。当然,如果你是软件开发的话那就更需要学习数据结构了。
说明③⇢博主个人认数据结构是编程最重要的基本功没有之一,注-这个相较于计算机专业的学生来说是的。
说明④⇢面试以及校招当中经常问到、提升编程能力。
总结-数据结构真的非常重要、非常重要、非常重要。注意⇢这里博主说了③遍可见我认为对数据结构的重视成度。对于大多数工科专业如果你想要让你的编程语言能力编程能力更上一层楼的话,我的建议是一定要学习数据结构。