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


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



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




不用我说

在这里面肯定是你

精心收藏的精华教程




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




不辞辛劳的你


按照每个优秀的老师

都分门别类的安排好

每一系列的精品教程





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




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


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


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



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


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


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


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



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



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


对数据如何安排取决于你


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


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


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




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

那么这张表就是数据结构



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


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

比如:


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



这也是一种数据结构的定义

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


当然
在数据结构中
比较典型的有

数组、栈、图、树、链表等等

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



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




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


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


当然,前人在搞算法的时候
已经留下了不少算法秘籍

比如:
二分查找、排序、递归、贪婪、动态规划等等



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



然后
为啥人们一提到数据结构就会提到算法呢

这是因为它们有着
非常暧昧的关系

它们
相濡以沫
相敬如宾
相辅相成

可以说数据结构没了算法
就是摆设

算法没了数据结构
就是有吉尔没地儿使



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


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


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


放心
Python 不是它们的小三


因为数据结构算法
并不是完整的代码

更多的是
如何解决问题的逻辑方法

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

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

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


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



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


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



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


ok
今天就跟你说这么些

最后的最后
来跟你做个小小的互动
如果小帅b在这里用 Python 
偶尔跟你扯扯算法的东东

你会?




那么我们下回见
peace

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

扫一扫

学习 Python 没烦恼


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




都看到这里了

不点个在看么

原文始发于微信公众号(学习python的正确姿势):趣说:什么是数据结构和算法

发表回复