数据结构之数据表笔记

1
顺序表的插入操作算法的思路次序是( )
(1)判断插入位置的合理性,异常抛出 (2)从最后一个遍历至第i个,每个后移一个位置 (3)表的长度+1 (4)在i处插入元素
答案是:1243
2

在n个结点的顺序表中,算法的时间复杂度是O(1)的是( )。
A 在第i个结点后插入一个新结点
B 将n个结点从小到大排序
C 删除第i个结点
D 访问第i个结点
答案是D
注:数据表的特点就是访问根据地址,而插入和删除都是O(n) 排序不可能为O(1)
3
向一个有150个元素的顺序表中插入一个新元素并保持原来的顺序不变,平均要移动的元素个数为( )。
如果插第一个 需要150
第二个 149
. 。
所以平均=(0+150)/2=75
4
采用数组存储的顺序表的优缺点是什么?
优点:存储速度快,通过下标直接存储;逻辑关系无需存储

缺点:增加删除不便;不可以增加长度,容量不容易确定;存储碎片
5和基本数组相比,动态数组的特点是什么?
1动态的增加和减少元素

2实现ICollection和IList接口

3灵活设置数组大小
6
单循环链表的主要优点是()。
1从表中任一结点出发都能扫描到整个链表
2不再需要头指针了
3在进行插入、删除操作时,能更好地保证链表不断开
4已知某个结点的位置后,能够容易找到它的直接前趋
查看正确选项
注:
A.该链表是单循环链表,我们知道(非循环的)单链表只能找到它之后的结点,而循环链表因为是循环的,即使不是双向的,也能通过绕一圈的方式找到它前面的结点。所以A对。
B.对于(非循环的)链表而言,头结点可以不存在,但是存在头结点作用会更好~而对于循环链表,必须需要头结点,不然的话,循环链表最大的作用——循环 就不好使了~所以B错。
C.不断开原本的连接,那怎么进行插入、删除呢?所以C错。
D.错在“容易”两字,对于双向链表来说比较容易,单向循环链表需要(绕一圈)才行~。所以D错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值