сортировка вставок помещает элементы массива, чтобы освободить место для следующего элемента в строке.
поэтому, если вы найдете место для ввода нового элемента с помощью бинарного поиска, вам все равно нужно будет подтолкнуть все элементы после этого индекса на один шаг вперед (вправо).
с учетом массива, отсортированного в обратном направлении: 10,9,8,7,6,5,4,3,2,1
вам нужно будет нажать i-1 вправо, чтобы вставить i-й элемент (даже если вы используете бинарный поиск) - время наихудшего случая: O (n ^ 2)
если бы вы могли вставлять элементы один за другим в список, вам не нужно было бы выдвигать эти элементы, но вам придется «платить» за поиск правильного местоположения в списке (поэтому в этой реализации WCT - это O (п ^ 2)).
решение этой проблемы будет заключаться в некотором взаимодействии между списками и массивами, чтобы вы могли достичь i-го элемента за O (1) времени (как в массивах) и могли вытолкнуть новый элемент в заданное место ( скажем после индекса j) в O (1) раз (как в списках) - если вы добьетесь успеха, я верю, что вы выиграете вечную славу!