线性结构

2020-02-16  本文已影响0人  小李同学今天博学了吗

定义:把所有的结点用一根直线穿起来

1.数组:

    连续的存储,元素类型相同,大小相等

优点:   

        存取速度快

缺点:

    插入速度和删除速度慢

    空间有限制(需要知道数组的长度)

    需要连续的存储空间

2.链表:

申请的空间可以不是一块连续的存储单元

n个节点离散分配

彼此通过指针相连

每一个节点只有一个前驱节点,每一个节点只有一个后节点

首节点没有前驱节点,尾结点没有后续节点

优点:

        插入和删除快

        存储的容量一般没有限制(相对于数组有限制来说)

缺点:

        存取元素速度慢

专业术语:

    首节点:第一个有效节点

    尾结点:最后一个有效节点

    头结点:第一个有效节点之前的那个节点

                    头结点并不存放有效数据

                    方便对链表的操作

    头指针:

                指向头节点的指针变量

    尾指针:

                指向尾结点的指针变量

如果希望通过一个函数来对链表进行处理,我们至少需要知道链表的什么参数:

    头指针

分类:

    单链表

    双链表

    循环链表

    非循环链表

   算法:

        狭义的算法是与数据的存储方式有关

        广义的算法与数据存储方式无关

        泛型:

                利用某种技术达到的效果就是:不用的数据存数方式,执行的操作是一样的。

上一篇 下一篇

猜你喜欢

热点阅读