要将两个结点数都为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是一个下限。
点赞 评论

相关推荐

Jcwemz:中软证书写单行,考了什么学了什么相关技术栈的内容就说自己会什么, 没实习就包装实习简历,将项目经历写成实习做的,项目时间拉长,项目成果具体化,测试的项目成果无非就是写了多少用例查出了多少bug,重要的不是实习了多久,而是你会多少东西,你能表达的就都是你的。 cet4,随便找个地方标上就好了,不用写单行。 粗略建议,我也不在行,觉得对的可以采纳
实习,投递多份简历没人回...
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务