Как и в ответе Му Цяо (несколько повторенный здесь для удобства), мы можем объединить списки, приняв наименьшее значение a, b, c, d на каждом шаге. Для этого требуется максимум 3 сравнения: сравнение a и b, сравнение c и d и сравнение минимума {a, b} и {c, d}. Мы можем легко увидеть, что это лучшее, что мы можем сделать, так как двух сравнений недостаточно.
Предположим, мы исчерпали один список. Предположим без ограничения общности, что этот список d. Теперь, чтобы сравнить a, b, c, мы можем сравнить a и b, а затем сравнить минимум или {a, b} с c. Мы можем видеть, что мы не можем добиться большего успеха, чем это, поскольку одного сравнения недостаточно.
Когда есть два списка, нам, очевидно, нужно ровно 1 сравнение, а когда есть один список, нам, очевидно, не нужны сравнения.
Отсюда мы можем провести анализ наихудшего случая. Мы можем видеть, что большее количество не исчерпанных списков приводит к большему количеству сравнений, и поэтому мы можем видеть, что наихудший случай будет, когда большинство элементов обрабатываются до того, как список исчерпан.
В этом случае будет не более 14+2+8+7 = 31
сравнений, прежде чем список будет исчерпан. Оттуда будет один список, истощенный для каждого обрабатываемого элемента. Таким образом, число сравнений в худшем случае равно 31*3 + 2 + 1 + 0 = 96
.