Merge k LinkedList thành 1 LinkedList theo thứ tự tăng dần
Cách dễ nhất là chúng ta add tất cả các node vào 1 mảng phụ sau đó gọi hàm sort(). độ phức tạp là N*log(N). N là tổng số Node
Cách 2: Loop N lần (N là tổng số Node) mỗi lần sẽ tìm node nhỏ nhất của k LinkedList, độ phức tạp sẽ là N * k
Cách dễ nhất là chúng ta add tất cả các node vào 1 mảng phụ sau đó gọi hàm sort(). độ phức tạp là N*log(N). N là tổng số Node
Cách 2: Loop N lần (N là tổng số Node) mỗi lần sẽ tìm node nhỏ nhất của k LinkedList, độ phức tạp sẽ là N * k
Cách 3: Tối ưu quá trình tìm node nhỏ nhất khi duyệt qua k LinkedList bằng PriorityQueue. Các thao tác insert vào PriorityQueue sẽ có độ phức tạp là log(k) thay vì k như cách 1. Độ phức tạp sẽ là N * log(k)
Code Editor