顺序存储结构和链式存储结构的选择
容器的存储分为顺序存储和链式存储一、顺序存储结构 从数据结构的角度来说顺序储存结构的存储空间固定,可扩展性差,但是如果数据元素个数已知,较链式存储节省空间。 它的优点是随机读取任意一个元素(因为元素时顺序存储的,所以元素的存储位置之间有一定的关系)但是顺序存储的缺点是删除、插入操作需要花费很多时间在移动元素上。 STL中的vector就是典型的顺
·
容器的存储分为顺序存储和链式存储
一、顺序存储结构
从数据结构的角度来说顺序储存结构的存储空间固定,可扩展性差,但是如果数据元素个数已知,较链式存储节省空间。
它的优点是随机读取任意一个元素(因为元素时顺序存储的,所以元素的存储位置之间有一定的关系)但是顺序存储的缺点是删除、插入操作需要花费很多时间在移动元素上。
STL中的vector就是典型的顺序存储结构。
二、链式存储结构
对于链式存储而言,插入和删除元素开销小,操作简便,最大特点就是插入、删除运算方便,可扩展性强。STL中list、map就是典型的链式存储结构。
下面是它的特点:
1.比顺序存储结构的存储密度小 (每个节点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序存储比链式存储能存得更多)。
2.逻辑上相邻的节点物理上不必相邻。
3.插入、删除灵活 (不必移动节点,只要改变节点中的指针)。
4.查找结点时链式存储要比顺序存储慢。
5.每个结点是由数据域和指针域组成。
三、结论
综上所述,如果元素个数已知,且插入删除较少的可以使用顺序结构,而对于频繁有插入删除操作,元素个数未知的,最好使用链式结构,编程时可结合要处理的数据的特点选择或设计数据结构的。
更多推荐
已为社区贡献2条内容
所有评论(0)