А если сортировка была не по возрастанию или убыванию, а по отклонению от среднего элемента?
Ваш код этого тоже не предусматривает!
Хотите универсальности — смотрите на стандартные библиотеки. Считается, что элементы отсортированы по возрастанию в соответствии с переданной функцией сравнения. По умолчанию функция сравнения — оператор < для соответствующего типа.
Если пользователь отсортировал с одной функцией сравнения, а ищет с другой — то он сам себе злобный буратино.
Отмена построения, например.
Если уже начали сыпаться ошибки и стало понятно, из-за чего (не подключен хедер, например). Ждать, пока не сможет собраться весь проект — может быть достаточно долго.
Я, конечно, не автор, но Ivy Bridge еще не поставляется конечным пользователям. Так что прогнать реально тесты могут только большие конторы типа IBM, Dell и т.д., которым не больше месяца назад начали поставки для сборки компьютеров и нотбуков.
Я его часто кладу на полку для клавиатуры в разложенном виде и подключаю большой монитор. В результате — правильная посадка (голова без наклона, кисти рук без изгиба).
А еще раньше блок функциональных клавиш был разделен на группы с увеличенным местом между группами (F1-F4, F5-F8, F9-F12, Insert-Home-PgUp). Это было дико удобно при слепой печати, потому что по ним можно было легко ориентироваться.
И кнопки вперед-назад рядом со стрлеками на месте нынешних PgUp/PgDown неимоверно радуют (в MS VS работают как переход к предыдущему/следующему месту просмотра, жутко удобно для навигации по проекту).
По-моему, не всегда это возможно.
Рассмотрим матрицу вида:
|1|1|0|
|1|0|1|
|0|1|1|
Посчитайте ее детерминант, он отличен от нуля. Если бы можно было переставить, получив блок из единиц размером 2x3, то детерминант был бы равен нулю (ибо ранг матрицы был бы 2).
Под перестановкой я имел в виду следующее. Нам дают матрицу. Мы можем сгенерировать любую перестановку(подстановку, permutation) для строк и столбцов, после чего задача в общем-то сводится к подряд стоящим столбцам/строкам. Вот только надо выбрать именно такую перестановку, чтобы последующее решение задачи было максимальным.
Правильно ли я понял, что данный алгоритм предназначен для поиска максимальной подматрицы в рядом стоящих столбцах/строках?
Видели ли Вы где-то упоминание о его применении к задаче, когда допускается перестановка строк/столбцов?
Ваш код этого тоже не предусматривает!
Хотите универсальности — смотрите на стандартные библиотеки. Считается, что элементы отсортированы по возрастанию в соответствии с переданной функцией сравнения. По умолчанию функция сравнения — оператор < для соответствующего типа.
Если пользователь отсортировал с одной функцией сравнения, а ищет с другой — то он сам себе злобный буратино.
Если уже начали сыпаться ошибки и стало понятно, из-за чего (не подключен хедер, например). Ждать, пока не сможет собраться весь проект — может быть достаточно долго.
И отсутствие пробелов между функциональными клавишами — незачет.
Удастся ли обновиться с 1.2?
И кнопки вперед-назад рядом со стрлеками на месте нынешних PgUp/PgDown неимоверно радуют (в MS VS работают как переход к предыдущему/следующему месту просмотра, жутко удобно для навигации по проекту).
Надеяться на сознательность пользователя?
У него теперь есть такие решения?
Рассмотрим матрицу вида:
|1|1|0|
|1|0|1|
|0|1|1|
Посчитайте ее детерминант, он отличен от нуля. Если бы можно было переставить, получив блок из единиц размером 2x3, то детерминант был бы равен нулю (ибо ранг матрицы был бы 2).
Под перестановкой я имел в виду следующее. Нам дают матрицу. Мы можем сгенерировать любую перестановку(подстановку, permutation) для строк и столбцов, после чего задача в общем-то сводится к подряд стоящим столбцам/строкам. Вот только надо выбрать именно такую перестановку, чтобы последующее решение задачи было максимальным.
Видели ли Вы где-то упоминание о его применении к задаче, когда допускается перестановка строк/столбцов?