趣说:什么是数据结构和算法

共 1087字,需浏览 3分钟

 ·

2020-02-13 23:26


相信你的电脑里面应该有这么一个
视频教程文件夹


7b3853d990c7abb02a1e233c82cd2b48.webp




不用我说

在这里面肯定是你

精心收藏的精华教程




8c73ca04ed23795e4d1f272ff66f4986.webp




不辞辛劳的你


按照每个优秀的老师

都分门别类的安排好

每一系列的精品教程





9551a866828c812c2dc31735556d2953.webp




当你心血来潮之时
亦或是求知欲旺盛之时你会去这个文件夹里面
寻找优秀的教程加以学习

可能你会按照老师的名称查找也可能你会按照你喜欢的姿势查找...

不管怎么样
你终归找到了教程学习了 1 分钟然后就快乐的完事了


0f51d81dd0033ed14ab16d846bd96af5.webp

你可能要问了这特么和数据结构算法有个毛线关系?

其实你对文件中的教程分门别类的存储就是一种数据结构

你通过不同的方式去文件夹里面查找教程这方式就是一种算法


ed893589a49da967f44d48ff53bd72ef.webp


具体来说数据结构就是对数据按照一定的规律进行组织和存储


对数据如何安排取决于你

你以什么样的方式安排存储数据
你得到的就是什么样的数据结构

比如你以这样的关系存储数据


名称
出道时间(年)
苍井空
2002
小泽玛利亚
2005
波多野结衣
2008
...
...


你看定义了名称和年份然后把具体的数据收集好存储在这张表中
那么这张表就是数据结构


ea3a1fab9e6c81e29a7978e8f759d413.webp

这时候你可能会想到
Python 中的类 Class你之前在 Class 中
定义的一些属性
比如:

f2d057558afe599a133765f8b4952aa4.webp



这也是一种数据结构的定义
你知道的 Python 数据类型如:Number/String/List..它们也都是一种数据结构

当然
在数据结构中比较典型的有
数组、栈、图、树、链表等等

它们都有各自的规律
去安排数据的存储


6a5fd85518f6022f8569807820c17933.webp



而算法呢就是按照特定的指令
以一定的逻辑按序列去完成指定的任务

所以算法更强调的是
“逻辑方法”

当然,前人在搞算法的时候
已经留下了不少算法秘籍
比如:
二分查找、排序、递归、贪婪、动态规划等等


7f9b58f4349f5bb23951cdfd3ace970f.webp


然后
为啥人们一提到数据结构就会提到算法呢
这是因为它们有着
非常暧昧的关系
它们
相濡以沫相敬如宾相辅相成
可以说数据结构没了算法就是摆设
算法没了数据结构就是有吉尔没地儿使


9eb00a96facc8b1bd10867f2b5c22a49.webp

好了
道理我都懂那么数据结构算法它们和 Python 有什么关系呢?

没有半毛钱关系
或者说关系不大

放心Python 不是它们的小三


因为数据结构算法
并不是完整的代码
更多的是如何解决问题的逻辑方法

而这些是可以通过代码去描述和实现的

所以呢Java、C、Python等等语言都可以上

只不过
Python用的人多语言相对简单
用它来描述算法相关是个不错的选择

27ee64bb7a03d7db8550483ebb5d52be.webp


最后你可能会问了数据结构和算法
有个毛线用啊?

额..
是基本功
是一种思想是看懂框架代码的前提
是解决问题的套路是水平的体现是面试的门槛...


6dd30b4c8f38d527704675bca4730faa.webp

ok今天就跟你说这么些
最后的最后来跟你做个小小的互动如果小帅b在这里用 Python 偶尔跟你扯扯算法的东东

你会?



那么我们下回见
peace

925198f588310f78d454c36c9d5d4e28.webp

扫一扫

学习 Python 没烦恼





都看到这里了

不点个在看么

浏览 17
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报