Форум сайта python.su
Помогите пожалуйста с решением:
Напишите функцию move, которая получает строчную латинскую букву, а возвращает следующую за ней букву в алфавите (после “z” следует “a”),
Например:
print move('a')
#>>> b
print move('n')
#>>> o
print move('z')
#>>> a
2)
def hash_string(keyword,buckets):
h = 0
for c in keyword:
h = (h + ord(с))% buckets
return h
Предположим, мы воспользовались этой функцией и создали некую хэш-таблицу
наша функция hash_string получает строку (keyword) и число сегментов, и возвращает число (позицию в списке), куда мы затем отправляем это слово (keyword).
Что из приведенного ниже верно? (возможен выбор нескольких вариантов)
1.Число сравнений строк, необходимых для поиска ключа(keyword), которого нет в хэш-таблице, может быть меньше, чем в случае, если ключ там есть.
2.Ожидаемое время поиска для большинства ключей(keywords) в хэш-таблице уменьшится, если мы увеличим число сегментов(buckets).
3.Всегда чем больше сегментов (buckets) в хэш-таблице, тем лучше.
4.Время поиска для ключа(keyword) в хэш-таблице всегда меньше, чем время поиска для ключа(keyword) в первоначальной версии нашего индекса, который мы строили на лекции- [ [<keyword1>, ], [<keyword2>, ], …]
хэш таблица
Отредактировано comradegopnique (Ноя. 26, 2013 20:13:36)
Прикреплённый файлы:
hash_string.jpg (22,0 KБ)
Офлайн
comradegopnique
Помогите пожалуйста с решением:
Офлайн
К первому дам подсказку:
>>> import string
>>> string.ascii_lowercase
Офлайн
Master_SergiusМарк Лутц - Изучаем Python, 4-е издание
К первому дам подсказку:
Офлайн
Master_SergiusНинужно.
string.ascii_lowercase
Офлайн
bu_А подумать?
Нинужно
comradegopnique
(после “z” следует “a”)
Офлайн