算法小白的逆袭之路
# 简介
本文转载自《labuladong 的算法小抄》,文末会抛出链接。目的是在记录的过程中一遍学习,一遍加深印象。 在摘录的过程中会进行适用于我本人的一些修改,需要看原版的可以点击文末的传送门。
# 数据结构的存储方式
数据结构的存储方式只有两种:数组(顺序存储)和链表(链式存储)
这句话怎么理解,不是还有散列表、栈、队列、堆、树、图等等各种数据结构吗?
我们分析问题,一定要有递归的思想,自顶向下,从抽象到具体。你上来就列出这么多,那些都属于上层建筑
,而数组和链表才是结构基础
。因为那样多样化
的数据结构,究其源头,都是在链表或者数组上的特殊操作,API不同而已。
比如说队列
、栈
这两种数据结构既可以使用链表也可以使用数组实现。用数组实现,就要处理扩容缩容的问题;用链表实现,没有这个问题,但需要更多的内
存空间存储节点指针。
图
的两种表示方法,邻接表就是链表,邻接矩阵就是二维数组。邻接矩阵判断连通性迅速,并可以进行矩阵运算解决一些问题,但是如果图比较稀疏的话很浪费空
间。邻接表比较节省空间,但是很多操作的效率上肯定比不过邻接矩阵
未完待续
编辑 (opens new window)
上次更新: 2021/03/22, 15:15:54