Цитата(dog @ 3.04.2010 15:44)
Спасибо огромное. Вот что значит свежий взгляд.
Пожалуйста
. Да, и свежий взгляд тоже )).
Цитата(dog @ 3.04.2010 15:44)
программу усовершенствовать, чтобы она работала не по линейному поиску а по бинарному поиску. В методичке только алгоритм бинарного поиска в одномерном массиве там ничего сложного, а по двумерному массиву ничего. Подскажите хоть алгоритм и смысл как проводить бинарный поиск в двумерном массиве.
dog, твой вопрос не определен.
Как сказал уже
volvo, для того, чтобы использовать бинарный поиск (БП), массив
должен быть упорядочен. Упорядочить одномерный массив - дело нехитрое. С упорядочиванием же двумерного ситуация в корне иная.
Чем отличается отличается прямая от плоскости или от трехмерного пространства? В частности, тем, что прямую упорядочить - не проблема, а вот упорядочить плоскость.. Ну, нельзя сказать,
какая точка больше - A или B! Я не буду говорить, что этого сделать совершенно невозможно (например, можно опираться на биекцию прямой в плоскость), но для этого нужно ввести дополнительное отношение (отношение порядка) и при этом будет невозможно сохраненить "геометрию": две геометрически близкие точки будут далеки в смысле нашего упорядочивания, и наоборот.
Конечно, двумерный массив - это не плоскость. Хотя бы потому, что он конечен. Но все же его упорядочивание остается неоднозначным.
volvo, например, опирался на упорядочение по строкам, но кто сказал, что this is the case? Массив может быть упорядочем по столбцам (не вижу никакого преимущества строк перед столбцами в смысле задачи) или, скажем, по диагоналям. Или по спирали..
Вывод такой.
Упорядочивание - прерогатива одномерной структуры. Упорядочить двумерное образование - означает сначала спроектировать на одномерное, а потом упорядочивать уже в нем. Именно поэтому в твоей методичке отсутствовала инфа по двумерным массивам, думаю. Вопрос не технический, вопрос принципиальный. Его решение таково: определить способ упорядочивания, сделать отображение двумерной структуры в одномерную - и упорядочить
так, как сказано в методичке. А общего бинарного поиска (независимого от способа упорядочивания) просто не существует. Потому не существует его описания. И я бы не рекомендовал думать, что способ упорядочивания по строкам - какой-то выделенный, что он типа дефолтный, обычный и т.п. Обычного выделенного дефолтного способа не существует ВООБЩЕ. Не подумай, что я придираюсь, это действительно важно понять.
собака, ты извини за мудреное изложение.. Если что остается неясно - спрашивай