数据结构学习笔记6--线性表易错知识点总结
来源:互联网 发布:排课表的软件 编辑:程序博客网 时间:2024/06/08 17:12
最近通过刷题,对线性表有了更为深刻的了解,为了防止自己忘记,决定整理一下所碰到的知识点,留待复习回顾。
重要概念:
1.结点:包含了数据域和指针域,其中指针域用来存储下一个节点的地址。
2.头指针和头结点有什么联系和区别?
头指针:指向第一个结点的指针为头指针。
头结点:当有头结点时,该结点的数据域可以不存储任何信息,头结点的指针域指向第一个结点。
在有头结点的情况下,头指针指的是指向头结点的指针。当没有头结点时,头指针指的是指向第一个结点的指针。
3.有头结点和无头结点有什么不同,设置头结点的动机是什么?
这个问题是基于第2个问题提出的,设置头结点的作用有两个:主要使得插入和删除等操作统一,在第一个元素之前插入元素和删除第一个结点不必另作判断。另外,不论链表是否为空,链表指针不变。
对上面这段具体解释是:以无头结点情况下单链表的删除操作为例,如果要删除的是第一个结点,那么头指针要指向后面的结点,同时将后一个结点的指针域指向前一个结点。如果删除的不是第一个结点,那么头指针不用修改,只需要将后一个结点的指针域指向前一个结点。所以删除的时候,会因为要删除的位置不同,而产生两种不同的情况。为了使两种情况统一,因此增加了头结点。这样,头指针指向了头结点,就不会被修改,删除的时候也不会出现需要讨论的情况。 插入时的情况也是一样。
总的来说:你可以没有头结点,但是在进行各种插入删除等操作时,要仔细考虑所有的可能情况。
4.什么是单循环链表,和单链表有什么不同?
单循环链表是一类特殊的单链表,它指的是在单链表中将终端结点的指针域NULL改为指向表头结点。
5.取线性表的第i个元素的时间同i的大小有关吗?
不一定。
线性表在链式存储时,查找第i个元素的时间同i的值成正比,而在顺序存储时,查找第i个元素的时间与i的值无关。
6.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成单链表和多重链表;而又根据指针的连接方式,链表分为动态链表和静态链表。
7.线性表的逻辑关系是指线性表的数据元素之间存在着线性关系,顺序存储结构是通过物理上相邻来表示元素之间关系的,而链式存储结构是通过指针来表示元素之间关系的。顺序存储结构用一维数组来表示,给定下标,可以存取相应元素,属于随机存取的存储结构。需要注意的是,尽管“只要知道某结点的指针就可以存取该元素”,但因链表掉的存取都需要从头指针开始,顺链而下,因此链表不属于随机存取结构。
8.顺序存储结构不仅仅可以存储线性结构,还可以存放非线性结构,如二叉树。
- 数据结构学习笔记6--线性表易错知识点总结
- 数据结构-线性表(学习笔记)
- 数据结构学习笔记-线性表
- 数据结构学习笔记--(1)数据结构知识点
- 《数据结构》第2章 线性表 知识点总结导图
- 数据结构——线性表——知识点总结
- 《数据结构》第二章线性表学习总结
- 数据结构学习总结(二) 线性表
- 数据结构之线性表学习总结
- 严蔚敏数据结构学习笔记二.线性表
- 数据结构学习笔记(2)线性表
- 数据结构学习笔记 --- 线性表 (单链表)
- 《数据结构》学习笔记--第二章 线性表
- 数据结构学习笔记---线性表LIST
- 【学习笔记----数据结构23-线性索引查找】
- 数据结构-链式线性表(学习笔记)
- 数据结构学习笔记之线性结构栈
- 数据结构-----线性表学习笔记(一)
- Ubuntu报错
- Selenium练习四:百度搜索自动化脚本(三种定位方式)
- 第六周LeetCode
- Swing表格JTable通过JTableModel插入行
- 贪心+大模拟?
- 数据结构学习笔记6--线性表易错知识点总结
- 初识python_day1总结
- PDO是什么?
- vue中使用highchart
- 单链表各种基本运算的算法
- BZOJ 4145: [AMPPZ2014]The Prices
- 实验二双链表
- 把二叉树打印成多行
- String类的常用方法