数据结构——例题2

1.在线性表中,除了开始元素外,每个元素(A

A.只有唯一的前驱元素

B.只有唯一的后继元素

C.有多个前驱元素

D.有多个后继元素

2.在一个长度为n的顺序表中删除第i个元素(1<=i<=n)时,需向前移动(C)个元素

A.n

B.i-1

C.n-1

D.n-i+1

3.对于顺序表,访问第i个位置的元素和在第i个位置插入一个元素的时间复杂度为(C

A.O(n),O(n)

B.O(n),O(1)

C.O(1),O(n)

D.O(1),O(1)

解析:由于是顺序表,逻辑地址与物理地址是一一对应的,满足线性关系,所以,访问第i个位置的物理地址可以直接计算出来,即在O(1)内可以访问。在第i个位置插入一个元素,需要移动n-i+1个元素,故时间复杂度为O(n)。

4.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是(B

A.head==NULL

B.head->next==NULL

C.head->next==head

D.head!=NULL

5.在长度为n的有序单链表中插入一个新结点,并仍然保持有序的时间复杂度为(B

A.O(1)

B.O(n)

C.O(n^2)

D.O(nlog2n)

6.已知一个带有表头结点的双向循环链表L,结点结构为,其中prev和next分别是指向其直接前驱和直接后继结点的指针。现要删除指针p所指的结点,正确的语句序列是(D

A.p->next->prev=p->prev;p->prev->next=p->prev;free(p);

B.p->next->prev=p->next;p->prev->next=p->next;free(p);

C.p->next->prev=p->next;p->prev->next=p->prev;free(p);

D.p->next->prev=p->prev;p->prev->next=p->next;free(p);

解析:D项,p->next->prev=p->prev;p 后继的前驱指针指向 p 的前驱;p->prev->next=p->next;p 前驱的后继指针指向 p 的后继,成功绕过 p 结点 ,最后 free(p); 释放 p 所指结点空间 ,操作正确

7.已知表头元素为c的单链表在内存中的存储状态如下表所示。现将f存放在1014H处并插入到单链表中,若f在逻辑上位于a和e之间,则a,e,f的"链接地址"依次是(D

A.1010H,1014H,1004H

B.1010H,1004H,1014H

C.1014H,1010H,1004H

D.1014H,1004H,1010H

解析:

8.(B)不是栈的基本操作

A.删除栈顶元素

B.删除栈底元素

C.判断栈是否为空

D.将栈置为空栈

9.向一个栈顶指针为top的栈链中插入一个x结点,则执行(C

A.top->next=x

B.x->next=top->next;top->next=x;

C.x->next=top; top=x;

D.x->next=top; top=top->next;

10.3个不同元素依次进栈,能得到(5)种不同的出栈序列

解析:设这三个不同元素为a、b、c ,通过分析进栈和出栈操作的不同组合来确定出栈序列:

  • 序列一:a进栈,a出栈,b进栈,b出栈,c进栈,c出栈,得到出栈序列abc 。
  • 序列二:a进栈,b进栈,b出栈,a出栈,c进栈,c出栈,得到出栈序列bac 。
  • 序列三:a进栈,b进栈,c进栈,c出栈,b出栈,a出栈,得到出栈序列cba 。
  • 序列四:a进栈,a出栈,b进栈,c进栈,c出栈,b出栈,得到出栈序列acb 。
  • 序列五:a进栈,b进栈,b出栈,c进栈,c出栈,a出栈,得到出栈序列bca
相关推荐
漫霂7 分钟前
二叉树的翻转
java·数据结构·算法
3秒一个大17 分钟前
深入理解 JS 中的栈与堆:从内存模型到数据结构,再谈内存泄漏
前端·javascript·数据结构
旖-旎1 小时前
哈希表(存在重复元素)(3)
数据结构·c++·学习·算法·leetcode·散列表
计算机安禾1 小时前
【数据结构与算法】第39篇:图论(三):最小生成树——Prim算法与Kruskal算法
开发语言·数据结构·c++·算法·排序算法·图论·visual studio code
汀、人工智能1 小时前
[特殊字符] 第77课:最长递增子序列
数据结构·算法·数据库架构·图论·bfs·最长递增子序列
澈2071 小时前
堆排序:高效构建大顶堆实战
数据结构·算法·排序算法
我真不是小鱼2 小时前
cpp刷题打卡记录27——无重复字符的最长子串 & 找到字符串中所有字母的异位词
数据结构·c++·算法·leetcode
qq. 28040339842 小时前
数据结构引论
前端·数据结构
历程里程碑2 小时前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github
像素猎人3 小时前
大学算法类竞赛的常用模板【自己总结+收录的】【c++版】
数据结构·算法·排序算法·算法竞赛常用算法