Python 数据结构和算法 01 | 说,什么是数据结构和算法?
如何理解数据结构和算法?
你去维基百科搜一下数据结构,可以看到它是这么说的:
然后你再去维基百科搜一下算法,可以看到它是这么定义的:
可能你一开始看到这两句话并不能很是理解,我们先不管它说的一堆乱七八糟的,直接粗暴的简化一下就是:
数据结构是一种方式,算法是一种方法。
而我们所写的程序,其实就是:算法 fxxk 数据结构!
因为数据结构是安排数据存储的方式,它是静态的。而算法是去操作数据结构的方法,是动态的。
来举一个我之前写过的例子:
本文隐藏内容 登陆 后才可以浏览
了解了这两概念之后,你应该也知道了,它们之间是不能独立存在的,针对不同类型的应用场景,我们会使用不同的数据结构,针对不同的数据结构,我们会使用不同的算法来操作它们。
常见的数据结构有这么些:
堆栈
队列
数组
链表
树
图
堆
散列表…
常见的算法有这么些:
动态规划
二分查找
贪心算法
线性规划
递归
哈希算法
排序
分治法
…
关于这些都是前人总结下来的结晶,而我接下来都会一一告诉你它们是什么,以及到时怎么去使用它们到 Python 代码中去。