001 数据结构简介(Python实现)

数据结构.png

参考自严蔚敏《数据结构(C语言版)(第2版)》。

我将书中的部分知识内容转换成Python对应的实现和应用,方便大家了解。本篇章会持续更新。

为什么要学习数据结构?

一,数据结构是编写程序的底层能力

我深有体会,哪怕是编写一个计算器,其中运用的数据结构的知识都堪称精妙。

比如,计算表达式 1 + 1, 如果系统没有提供这个功能,你会发现你根本实现不了。

有了数据结构,才能实现想要的功能。

二, 数据结构有助于编写高效的算法

选择恰当的数据结构,有助于提高程序的运行效率和稳定性。尤其是对时间复杂度和空间复杂度的分析(之后会介绍),有助于我们衡量程序的运行。

三,数据结构是面试的重点

数据结构和算法历来都是大厂的一个重点考察的方向。

所以,数据结构很重要。

数据结构简单介绍

最基础的数据结构是线性表,其中线性表有两种:顺序表和链表。举个例子来说,就是0 1 2 3 4 5 6 7...

通过线性表,可以实现两个应用:栈和队列。栈是一种后进先出的数据结构,就好比一堆盘子,洗碗的时候是从下往上堆放,取碗的时候都是从上往下取出。队列,就是排队的意思,就好比我在排队上公交车,先排队的人在前面,先上车;后排队的人在后面,后上车。

树是一种表达分支或层级关系的数据结构。类似自然界中的树木,从树根开始不断长出枝叶。

图则更像是地图,地图上的公交线路,每个地点连成的各种关系,组成了图这种数据结构。

传统的面向过程的程序设计将程序定义为:数据结构 + 算法。足见数据结构的重要性。这一系列将从数据结构出发,并涉及到一些算法内容。

预告:怎样衡量一个小的程序写得好不好呢,这就要涉及到时间复杂度和空间复杂度了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容