0
Разве не определена сложность заданного решения стека = n^2 ??Сложность этого стека
Так, внешний цикл равен 1: N и поп-операция также O (N-1) ~ = O (N) (в худшем случае) ... так ISN» t это N^2 ??
Разве не определена сложность заданного решения стека = n^2 ??Сложность этого стека
Так, внешний цикл равен 1: N и поп-операция также O (N-1) ~ = O (N) (в худшем случае) ... так ISN» t это N^2 ??
Нет. Подумайте об этом так: каждый шеф-повар вталкивается в стек не более одного раза, и его также вытаскивают не более одного раза. Поскольку вы только просматриваете список один раз, количество операций стека ограничено 2N, то есть сложностью времени = O (N).
псевдокод для того же: для (INT I = 0; <п; я ++) { толчок (повар [I]); while (вверху> вверху-1) { pop (вверху); // в худшем случае цикл работает n-1 раз } } так что бы не эта сумма до n^2 ?? – user23501
@ user23501, так как наихудший случай - это количество элементов в стеке, оно уменьшается на количество операций 'pop' каждого цикла, поэтому, если у вас действительно очень плохой случай на раннем этапе, вы можете получить только небольшие. Количество операций 'pop' никогда не будет превышать O (N) –
О, получилось, очень полезно. – user23501