内容正文:
2.2链表 导学案
学科
高中信息技术
教材版本
浙教版2019选修1
课题
2.2链表
一、【学习目标】
1.理解链表的概念和特点。(重点)(学科核心素养:信息意识、计算思维)
2.掌握链表的基本操作,包括创建、访问、修改、插入和删除元素。(难点)(学科核心素养:信息意识、计算思维)
3.能够应用链表解决实际问题。(学科核心素养:信息意识)
二、【自主探究】
任务一:自主学习并完成下列题目
1. 链表指的是将需要处理的数据对象以 的形式,通过指针 在一起的一种数据结构。链表中的每个节点一般由 和 两部分构成。
2.链表可以根据每个节点中 分为两类:当只有一个指针用来指向其后继节点时,称为 ;当有两个指针分别用于指向其前驱节点和后继节点时,称为 。
任务二:数据结构链表中的存储单元叫做节点。每个节点分为两部分:数据区域和指针区域。数据区域存储数据元素,指针区域存储连接到同一表内下一个节点的位置。用单一链表a升序存放一组字符数据,头指针head的值为1004,如下表所示:
地址
数据域
指针域
1000
"H"
1001
"D"
1002
"T"
1003
"Z"
1004
"A"
1005
"P"
(1) 请将表中各节点的指针区域填写完整。
(2) 指针p指向a链表中的当前节点,初始p 指向a链表的第一个节点。若要向链表a中插入一个节点(保持链表a元素升序排列),最多需要 次指针操作。
任务三:在单向链表中插入新结点时,指针指向的修改是否必须有先后?如果将其顺序逆
转,能否完成新结点的插入?为什么?
三、课后练习题
1.下列有关链表的说法,正确的是 ( )
A.可快速访问任何一个数据元素
B.插入、删除操作无需移动数据元素
C.链表占用固定的存储空间
D.链表不一定含有头指针
2.已知一个有7个节点的单向链表,设有头指针head 和尾指针tail, 如 图所示,下列操作需要遍历多个节点的是 ( )
A.删除该链表中的最后一个节点
B.删除该链表中的第一个节点
C.在该链表第一个节点前插入一个新节点
D.在该链表最后一个节点后插入一个新节点
3. 由 n个节点链接成的单向链表如图所示,其中head 为头指针,现要删除链表中指针P所指向的节点,下列操作正确的是 ( )
A.将P所指节点的next值赋为-1
B.将head所指节点的next值赋为q
C.q所指节点的next值赋为head
D.将head指向P所指节点的后继节点
4.下列关于链表的叙述,正确的是 ( )
A.线性链表中的各元素在存储空间中的位置必须是连续的
B.线性链表中的表头元素一定存储在其他元素的前面
C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表尾元素一定存储在其他元素的后面
D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素在存储空间中的存储顺序也是任意的
5.某Python程序如下:
a=[[7,1],[8,2],[9,- 1],[6,0]]
head=3
Head=a[head[1]]
程序运行后,链表a有几个节点 ( )
A.1 B.2 C.3 D.4
课后练习答案
1
2
3
4
5
B
A
B
D
C
原创精品资源学科网独家享有版权,侵权必究!6
学科网(北京)股份有限公司
$$