Re: Рекурсивний пошук по двовимірній впорядкованій матриці
steamwater написав:Це не стiлькi про матрицю, скiльки про target. Можуть бути такi значення, що їх нема не тiльки у двох наперед заданих квадрантах, а й в 3-х чи 4-х...
І що? Пошук ведеться в 3-х квадрантах, але 2 з них об'єднані в один прямокутник. Якщо не знайдеться - значить, останній виклик поверне false, ото й усе.
Це я й мав на увазi. Коли нема зовсiм, то аж 4 виклики. А це залежить саме вiд значення, що шукається. Тобто не знайти - дорожче, чим знайти. Це справедливо, для будь якого алгоритму пошуку.
Що до прямокутника, то допоки ви його не обiйдете (кожен з 2-х квадрантiв), то нема впевненостi, чи є там щось, чи нi i логiка ледащого обчислювання умовних вирвзiв це вiдображає: if(a || b) -> b не обчислюватимется якщо a поверне true. Але ж вирогiднiсть цього 1/4, а для a=false - 3/4. Вирогiднiсть, того що b поверне false разом з a вже значно нижча:(2/3)*(3/4)=1/2. Тож виходить, що я не помилявся i в цьому, з початку?
Проте ж головна проблема, здаєцця, не в тому. Ви дивилися мiй тест?