admin 管理员组文章数量: 1184232
2024年5月31日发(作者:怎么把for循环的数存到数组)
第一章 绪论
数据结构研究内容:数据的逻辑结构、存储结构及其操作
逻辑结构的分类:两大类分为线性结构、非线性结构;三大类分为线性结构、
树、图
物理结构:顺序存储和链式存储(特点、优缺点...)
1、 对存储的连续性要求:顺序存储要求连续;链式存储连续与否均可
2、 存储密度:顺序存储的存储密度大,可达100%;链式存储存储密度较小
3、 对元素的访问:顺序存储比较方便。顺序存储是随机访问;链式存储是顺序
访问
4、 删除和插入操作:链式存储的删除和插入操作较简单
算法分析的两个方面:时间复杂度、空间复杂度
程序段的时间复杂度
第二章 线性表(重点)
线性表的基本概念
习题:线性表L=(a1,a2,……,an),下列说法正确的是( )。
A. 每个元素都有一个直接前驱和一个直接后继
B. 线性表中至少要有一个元素
C. 表中诸元素的排列顺序必须是由小到大或由大到小
D. 除第一个和最后一个元素外,其余每个元素都由一个且仅有一个直接前驱和直接后
继
线性表的两种存储方式
习题:
1、链表不具有的特点是( )。
A. 可随机访问任一元素 B. 插入删除不需要移动元素
C. 不必事先估计存储空间 D. 所需空间与线性表长度成正比
2、线性表采用链式存储时,结点的存储地址( )。
A. 必须是连续的
C. 连续与否均可
B. 必须是不连续的
D. 和头结点的存储地址相连续
3、在以下的叙述中,正确的是( )。
A. 线性表的顺序存储结构优于链表存储结构
B. 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况
C. 线性表的链表存储结构适用于频繁插入/删除数据元素的情况
D. 线性表的链表存储结构优于顺序存储结构
4、判断:在线性表的顺序存储结构中,逻辑上相邻的两个元素但是在物理位置上不一定是
相邻的。( )
单链表、循环链表、双向链表的特点与优缺点
习题:
1、从表中任一结点出发,都能扫描整个表的是( )。
A. 单链表 B. 顺序表 C. 循环链表 D. 静态链表
2、循环链表的主要优点是( )。
A. 不再需要头指针 B. 已知某结点位置后能容易找到其直接前驱
C. 在进行插入、删除运算时能保证链表不断开
D. 在表中任一结点出发都能扫描整个链表
3、
判断各种线性表的空(或满):
判断顺序表的空及满
判断单链表的空
判断循环链表的空
判断双向链表的空
习题:
1
、带头结点的单链表head为空的条件是 。
各链表中特殊结点(第一个结点和尾结点)
顺序表、单链表、双向链表结点的删除和插入
习题:
1、设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结
点,欲将q插入到p结点之后,则需要执行的语句: ; 。
2、非空的循环单链表head的尾结点p满足( )。
A. t()==head B. p. getNext()==null
C. p==null D. p==head
3、在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针
的操作是( )。
A. t(q);or(p);or(q);t(q);
B. t(q); or(q); or(p);t(p. getNext());
C. or(p);(p. getNext());or(q);(q);
D. x(p. getNext());o(p);t(q); or(q);
4、带头结点的单链表head为空的判定条件是( )。
A. head==null
C. t()==head
B. t()==null
D. head!=null
5、在一个长度为n的顺序表中删除第i个元素,需要向前移动( )个元素。
A. n-i B. n-i+1 C. n-i-1 D. i+1
6、在一个单链表中,若删除p所指向结点的后续结点,则执行( )。
A. t(t().getNext());
B. p=t();t(t().getNext());
C. p =t();
D. p=p. getNext().getNext();
7、在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是( )。
A. 访问某个元素的前驱 B. 在某个元素之后插入一个新元素( )
C. 删除某个元素 D. 对顺序表中元素进行排序
版权声明:本文标题:Java数据结构习题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1717158645a702139.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论