Хотя знание асимптотической эффективности этих двух подходов к обращению строки полезно, вероятно, это не то, что вам действительно нужно.Вы, вероятно, не собираетесь применять алгоритм к строкам, длина которых становится все больше и больше.
В подобных случаях действительно полезнее просто запустить оба алгоритма несколько раз и посмотреть, какой из них требуетсяменьше времени.
Скорее всего, это будет прямая версия Array.Reverse()
, так как она будет интеллектуально менять элементы в массиве, тогда как метод Enumerable.Reverse()
будет yield return
каждый элемент в обратном порядке.Любой из них будет O (n), так как они оба манипулируют каждым из n элементов в массиве постоянное число раз.
Но, опять же, лучший способ увидеть, какой из них будет работать лучше, - это на самом деле запустить ихи см.