21 Hợp nhất hai danh sách đã sắp xếp C++

Hợp nhất hai danh sách trong một danh sách được sắp xếp. Danh sách phải được tạo bằng cách nối các nút của hai danh sách đầu tiên lại với nhau

Trả về phần đầu của danh sách liên kết được hợp nhất

ví dụ 1

21 Hợp nhất hai danh sách đã sắp xếp C++

Suraj Mishra

Làm theo

27 tháng 9 năm 2021

·

2 phút đọc

·

Chỉ dành cho thành viên

Hợp nhất danh sách đã sắp xếp (Giải pháp cho vấn đề Leetcode #21)

Giải pháp Java cho https. //leetcode. com/problems/merge-hai-sorted-lists/

Được xuất bản lần đầu tại https. // không đồng bộ. com

Video Youtube

Nếu bạn thích định dạng video. https. //www. youtube. com/watch?v=29RWY7bEq-g

Hiểu vấn đề

Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không?

Làm cách nào để hợp nhất hai danh sách được liên kết được sắp xếp trong C?

Các bước để Hợp nhất hai danh sách liên kết đã sắp xếp là. .
Duyệt qua cả hai Danh sách được Liên kết một cách tuyến tính từ nút đầu tiên. .
Nếu một Danh sách được liên kết trống trong quá trình xử lý, hãy di chuyển tất cả các thành phần của Danh sách được liên kết được sắp xếp khác đến cuối Danh sách được liên kết cuối cùng
Danh sách liên kết cuối cùng là Danh sách liên kết được hợp nhất

Làm cách nào để hợp nhất hai danh sách với nhau trong C?

Mã giả để hợp nhất hai danh sách được liên kết. khác cuối->tiếp theo = thứ hai; . = NULL && giây. =

Dùng phương pháp nào để nối hai danh sách liên kết đã sắp xếp?

Giả sử chúng ta có hai Danh sách liên kết được sắp xếp theo thứ tự tăng dần và chúng ta cần hợp nhất chúng thành một. Chúng ta sẽ tạo một phương thức, mergeLinkedList() , phương thức này sẽ duyệt qua cả hai Danh sách liên kết, hợp nhất chúng thành một Danh sách liên kết duy nhất và trả về một Danh sách liên kết duy nhất.

Độ phức tạp về thời gian để hợp nhất hai danh sách được sắp xếp là gì?

Độ phức tạp về thời gian. O(Nlogk) trong đó k là số danh sách liên kết. Chúng ta có thể hợp nhất hai danh sách liên kết đã sắp xếp trong thời gian O(n) trong đó n là tổng số nút trong hai danh sách.