#牛客在线求职答疑中心#将两个结点数都为N且都从小到大有序的单向链表合并成一个从小到大有序的单向链表,那么可能的最少比较次数
全部评论
要将两个结点数都为N且都从小到大有序的单向链表合并成一个从小到大有序的单向链表,最少比较次数是N+N-1,也就是2N-1次。
这是因为每次合并时,你都需要比较两个链表当前节点的值,然后选择较小的那个节点加入到新链表中。在最理想的情况下,两个链表的每个节点都恰好需要进行一次比较:
1. 第1次比较:链表1的第1个节点与链表2的第1个节点比较。
2. 第2次比较:链表1的第2个节点与链表2的第1个节点比较(如果链表1的第1个节点已经被选入新链表)。
3. 第3次比较:链表1的第3个节点与链表2的第1个节点比较(如果链表1的第2个节点已经被选入新链表)。
4. ...
5. 第2N-1次比较:链表1的第N个节点与链表2的第N-1个节点比较。
所以,最少比较次数是2N-1次。当然,这个是最理想的情况,实际情况下可能会有更多的比较次数,但2N-1是一个下限。
相关推荐
10-25 22:20
门头沟学院 Java
代码飞升:同学院本,个人亮点去了,打招呼里面的废话也去了,学院本就是路边一条,明天拉满然后该学还是学,小厂也行尽量先有一段实习。另外你的项目描述写的不好,具体列一下可被提问的点,然后量化一下指标或者收益吧 点赞 评论 收藏
分享
11-09 20:02
中南大学 Java 我是猫熊:可以关注我的主页以及专栏https://www.nowcoder.com/creation/manager/columnDetail/MRwNAo,每天都会打卡更新面试题
查看17道真题和解析 点赞 评论 收藏
分享