KeFA: "если выборка по ключу - это просмотр всего массива." - ну тут я не согласен. это однозначная связка с данными элемента массива. (хотя я могу ошибаться...)
KeFA: ок. каждый цикл - это выборка из массива по "ключу" и далее: стыковка (слева и справа) или создание нового элемента массива. Т.е. создание последовательностей цепочек. Здесь сложность какая будет?