Слияние K-отсортированных списков с использованием очереди приоритетов

В моем классе алгоритмов меня попросили создать алгоритм слияния K-way,O(nlogk) После поиска я обнаружил, что это можно сделать, создав очередь с приоритетом длины k и поставив ее в очередь с первым элементом каждого списка. Извлеките минимум, добавьте его к результату и поставьте в очередь из списка, элемент которого был извлечен. Я запутался в:

Как он узнает, когда определенный список исчерпан, предположим, что список имеет меньшие элементы, чем любой другой элемент в других списках?

Как он узнает, из какого элемента был элемент (если структура не используется для определения)?

Как сложность времениO(nlogk)?

РЕДАКТИРОВАТЬ:

Было бы немного более полезно, если бы кто-то мог записать алгоритм пошагово, потому что все, что я прочитал, это в предложениях, и его трудно понять, как оно есть, если бы кто-то мог записать алгоритм, было бы полезно понять.

Ответы на вопрос(7)

Ваш ответ на вопрос