Допустим, ваша функция работает следующим образом:
FindAlphaNumeric(s:string):string
1. alphanumeric = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
2. result = ""
3. for each c:character in s
4. if c in alphanumeric then result.append("1") else result.append("0")
5. return result
В этом случае длина ввода |s|
и длина строки констант |alphanumeric|
. Строка if c in alphanumeric then
имеет временную сложность O(|alphanumeric|)
, если вы ищете c
с помощью линейного поиска. Общая сложность всего алгоритма составляет O(|s|*|alphanumeric|)
. Однако, поскольку alphanumeric
является константной строкой, ее длина также постоянна, и эту константу можно не учитывать: O(|s|)
- сложность времени. В самом деле, асимптотическая сложность как функция размера ввода не зависит от длины постоянной строки или способа определения принадлежности.