#牛客在线求职答疑中心#将两个结点数都为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是一个下限。
相关推荐
11-20 13:35
广东白云学院 数据运营 立马来offer:去哪个大厂了啊,其实你选了小公司,遇到不开心的也会后悔没有选择大平台。别美化小公司了,至少大厂有平台,有二次选择的能力
点赞 评论 收藏
分享
11-18 09:44
Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享