Показать сообщение отдельно

  #6  
Старый 24.04.2009, 13:25
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме:
10605912

Репутация: 4693


По умолчанию

Цитата:
Сообщение от BlackSun  
Даже если и перебирать все символы, то лучше вначале определить цифра \ буква \ символ, затем разбить на диапазоны, выяснить в каком диапазоне лежит нужный символ и далее уже брутить
Бинарным поиском без определения будет быстрее. Ты только на определение потратишь 2 запроса, на каждый символ.

В случае a-zA-Z-0-9, всего 64 варианта, т.е. в худшем случае, при бинарном поиске без проверки - 6 запросов на символ.

Если ты будешь проверять в какой группе лежит символ, то это:

1) 2 запроса на определение группы (стабильно для каждого символа)
2) Ещё 5 запросов на каждый символ в худшем случае (т.е. если тебе попался диапазон более чем из 16 сиволов).

Вывод - 7 запросов в худшем варианте, вместо 6 в худшем варианте.

З.Ы.
Худший вариант - символ ни разу не попал в середину диапазона, до последней итерации.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.

Последний раз редактировалось Qwazar; 24.04.2009 в 13:27..
 
Ответить с цитированием