数据结构学习笔记6--线性表易错知识点总结

来源:互联网 发布:排课表的软件 编辑:程序博客网 时间:2024/06/08 17:12

最近通过刷题,对线性表有了更为深刻的了解,为了防止自己忘记,决定整理一下所碰到的知识点,留待复习回顾。

重要概念:

1.结点:包含了数据域和指针域,其中指针域用来存储下一个节点的地址。

2.头指针和头结点有什么联系和区别?

  头指针:指向第一个结点的指针为头指针。

  头结点:当有头结点时,该结点的数据域可以不存储任何信息,头结点的指针域指向第一个结点。

  在有头结点的情况下,头指针指的是指向头结点的指针。当没有头结点时,头指针指的是指向第一个结点的指针。

3.有头结点和无头结点有什么不同,设置头结点的动机是什么?

  这个问题是基于第2个问题提出的,设置头结点的作用有两个:主要使得插入和删除等操作统一,在第一个元素之前插入元素和删除第一个结点不必另作判断。另外,不论链表是否为空,链表指针不变。

  对上面这段具体解释是:以无头结点情况下单链表的删除操作为例,如果要删除的是第一个结点,那么头指针要指向后面的结点,同时将后一个结点的指针域指向前一个结点。如果删除的不是第一个结点,那么头指针不用修改,只需要将后一个结点的指针域指向前一个结点。所以删除的时候,会因为要删除的位置不同,而产生两种不同的情况。为了使两种情况统一,因此增加了头结点。这样,头指针指向了头结点,就不会被修改,删除的时候也不会出现需要讨论的情况。  插入时的情况也是一样。

 总的来说:你可以没有头结点,但是在进行各种插入删除等操作时,要仔细考虑所有的可能情况。

4.什么是单循环链表,和单链表有什么不同?

  单循环链表是一类特殊的单链表,它指的是在单链表中将终端结点的指针域NULL改为指向表头结点。

5.取线性表的第i个元素的时间同i的大小有关吗?

  不一定。

 线性表在链式存储时,查找第i个元素的时间同i的值成正比,而在顺序存储时,查找第i个元素的时间与i的值无关。

6.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成单链表多重链表;而又根据指针的连接方式,链表分为动态链表静态链表

7.线性表的逻辑关系是指线性表的数据元素之间存在着线性关系,顺序存储结构是通过物理上相邻来表示元素之间关系的,而链式存储结构是通过指针来表示元素之间关系的。顺序存储结构用一维数组来表示,给定下标,可以存取相应元素,属于随机存取的存储结构。需要注意的是,尽管“只要知道某结点的指针就可以存取该元素”,但因链表掉的存取都需要从头指针开始,顺链而下,因此链表不属于随机存取结构

8.顺序存储结构不仅仅可以存储线性结构,还可以存放非线性结构,如二叉树。





原创粉丝点击