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

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

不用我说

在这里面肯定是你

精心收藏的精华教程

不辞辛劳的你

按照每个优秀的老师

都分门别类的安排好

每一系列的精品教程

当你心血来潮之时
亦或是求知欲旺盛之时
你会去这个文件夹里面
寻找优秀的教程加以学习
可能你会按照老师的名称查找
也可能你会按照你喜欢的姿势查找
...
不管怎么样
你终归找到了教程
学习了 1 分钟
然后就快乐的完事了
你可能要问了
这特么和数据结构算法有个毛线关系?
其实
你对文件中的教程
分门别类的存储
就是一种数据结构
你通过不同的方式去
文件夹里面查找教程
这方式就是一种算法
具体来说
数据结构就是
对数据按照一定的规律进行组织和存储
对数据如何安排取决于你
你以什么样的方式安排存储数据
你得到的就是什么样的数据结构
比如你以这样的关系存储数据
名称 出道时间(年)
苍井空 2002
小泽玛利亚 2005
波多野结衣 2008
... ...
你看
定义了名称和年份
然后把具体的数据收集好
存储在这张表中
那么这张表就是数据结构
这时候你可能会想到
Python 中的类 Class
你之前在 Class 中
定义的一些属性
比如:
这也是一种数据结构的定义
你知道的 Python 数据类型
如:Number/String/List..
它们也都是一种数据结构
当然
在数据结构中
比较典型的有
数组、栈、图、树、链表等等
它们都有各自的规律
去安排数据的存储
而算法呢
就是按照特定的指令
以一定的逻辑
按序列去完成指定的任务
所以算法更强调的是
“逻辑方法”
当然,前人在搞算法的时候
已经留下了不少算法秘籍
比如:
二分查找、排序、递归、贪婪、动态规划等等
然后
为啥人们一提到数据结构就会提到算法呢
这是因为它们有着
非常暧昧的关系
它们
相濡以沫
相敬如宾
相辅相成
可以说数据结构没了算法
就是摆设
算法没了数据结构
就是有吉尔没地儿使
好了
道理我都懂
那么数据结构算法
它们和 Python 有什么关系呢?
没有半毛钱关系
或者说关系不大
放心
Python 不是它们的小三
因为数据结构算法
并不是完整的代码
更多的是
如何解决问题的逻辑方法
而这些是可以通过代码去描述和实现的
所以呢
Java、C、Python等等语言都可以上
只不过
Python用的人多
语言相对简单
用它来描述算法相关是个不错的选择
最后你可能会问了
数据结构和算法
有个毛线用啊?
额..
是基本功
是一种思想
是看懂框架代码的前提
是解决问题的套路
是水平的体现
是面试的门槛...
ok
今天就跟你说这么些
最后的最后
来跟你做个小小的互动
如果小帅b在这里用 Python
偶尔跟你扯扯算法的东东
你会?
那么我们下回见
peace

扫一扫

学习 Python 没烦恼

都看到这里了

不点个在看么

(0)

相关推荐