顺序线性表与链表的优缺点对比

     细心的朋友会发现,JDK中提供的List接口对应的是数据结构中的线性表,List接口下的ArrayList对应的是顺序线性表,顾名思义,其底层使用数组实现顺序线性表;List接口下的LinkedList则是链表的实现。 数组

     这两种数据结构的各有所长,根据程序的实际用途,选择适当的数据结构,无异是根本上的优化。 数据结构

    顺序存储结构    : 优化

         优势:    ①随机存取时间复杂度为O(1)    ②无需为表中元素之间的逻辑关系额外增长存储空间 接口

         缺点:    ①插入、删除操做须要移动大量的元素,时间复杂度为O(n) 效率

                      ②表的长度难以肯定 List

    链式存储结构: 遍历

        优势:     插入、删除节点时不移动数据,  效率高,时间复杂度为O(1) 程序

        缺点:    存取时要遍历,效率低,时间复杂度为O(n) 链表

    所以,综上所诉,顺序存储结构适合频繁存取、查找,不多插入、删除的状况;链式存储适合频繁插入、删除,不多存取的状况;     数据

相关文章
相关标签/搜索