学好数据结构,就等于成功了一半。
程序是对现实的模拟,现实是由时间和空间组成的,高效的人都是用最少的时间、最少的空间来做最伟大的事,程序亦是如此。我们要选择最合理的算法和最合理的数据结构,来写最好的代码,这也正是时间复杂度和空间复杂度的要求。
所以,学好数据结构,选择合理的数据结构,降低时空复杂度,就等于成功了一半。
我们可以将数据结构分为两大部分:线性数据结构和非线性数据结构。
线性数据结构
:数据元素之间的关系是一对一的。非线性数据结构
:数据元素之间的关系不是一对一的。数据元素之间的关系是一对一的。可以简单地记忆为:一根绳子不分叉!
这是嘛意思呢?
可以这么理解:我有一根绳子,上面打了好多结,我随便找到一个结点,不管往哪一端捋,都只能找到一个点,除非到头了导致没结点了。说白了就是:这根绳子没有分叉。
比如我们生活中的排队,就是这个模型。你前后最多都只有一个人,也就是:一对一的。
这个模型有很多衍生物,我们来逐个看下。
顺序表是紧密相邻的线性数据结构。便于查找元素,不便于插入和删除元素。
也就是说:顺序表的所有元素都是一个挨一个的。
比如
本文发布于:2024-01-29 06:51:12,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170648227713474.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |