2010-03-09 1 views
0

Рассмотрите файл на диске, содержащий 100 записей a. Сколько сравнений потребуется в среднем для поиска записи с использованием последовательного поиска, если запись, как известно, находится в файле?последовательный поиск домашнее задание вопрос

я понял, что это 100/2 = 50.

б. Если у записи есть 68% вероятность попасть в файл, сколько в среднем требуется сравнений?

Это та часть, с которой у меня проблемы. Сначала я подумал, что это 68% * 50, но потом понял, что было неправильно, подумав об этом. Тогда я подумал, что это (100% - 68%) * 50, но я все еще чувствую, что это неправильно. Любые намеки?

+0

Деление это в двух случаях: когда запись находится в файле, а когда это не так. Считайте их отдельно. –

ответ

4

Я бы разбил это так, в средневзвешенное значение.

68% вероятность быть в файле; в этих условиях в результате выполнения вашего результата в среднем будет необходимо 50 сравнений.

32% вероятность того, что запись НЕ находится в файле; в этих условиях вам нужно будет просмотреть каждую запись, т. е. 100 сравнений.

0,68 * 50 + 0,32 * 100 = 66 сравнений в среднем.

Но это было некоторое время, так как я взял курс на вероятность ...

+0

Не было бы 0,32 * 99, так как для 100 записей сделано 99 сравнений, а не 100. – neuromancer

+0

Как вам всего лишь сделать 99 сравнений? Если есть 100 записей, и вы точно не знаете, что тот, который вы ищете, существует, вам не нужно было бы смотреть на каждую запись, используя последовательный поиск? – Peter

+0

Наверное, я смутился словом «сравнение», думая, что вы сравниваете числа друг с другом. – neuromancer