Мне действительно нравится изучать алгоритмы и оптимизировать код (я стараюсь не делать это преждевременно), потому что это действительно здорово, когда что-то, что заняло 5 минут, теперь работает за 2 минуты.Я особенно заинтересован в алгоритмах поиска, так как это часто происходит, когда вам приходится искать подходящую подстроку или записи в таблице.
Я думал о нижней границе для сортировки сравнения и думал о том, как получить гигантскийнаборы данных, если сортировка сравнения может просто пропустить некоторые сравнения, угадав, каким будет ответ, тогда целые строки сравнений могут быть пропущены, а высота уменьшена на 1. (например, сортировка a, b, c, d, e, fесли алгоритм мог бы догадаться, что bcd вместе, то вы на самом деле только сортируете a, bcd, e, f) Предположение должно быть умным, эффективным, чтобы оно того стоило, плюс оно должно иметь довольно хорошее соотношение ватина.
То же самое с поиском, если интеллектуальный поиск мог бы сначала угадать, где, вероятно, находится элемент, и для поиска требуется только 5 верхних угаданных областей.Если все 5 предположений неверны, то он может вернуть неправильный ответ и никогда не найти предмет, но если он существенно быстрее с достаточно хорошим правильным соотношением, то это может быть с ним.Потенциально это может быть быстрее, чем создание бинарного дерева поиска, тогда поиск по log (n).
В любом случае, я уверен, что любой, кто понимает предмет, к настоящему времени поймет, что это в основном спекуляция / фантазия безРеальная сущность, поэтому я прошу помощи в принятии мер в направлении изучения алгоритмов, которые не имеют 100% правильных результатов, особенно в областях поиска / сортировки, но быстрее и в применении этих алгоритмов.
Я погуглил, нажал на случайные ссылки в Википедии, чтобы попытаться найти это, но без удовлетворительных результатов.Что я должен прочитать / куда мне обратиться, чтобы начать изучать это?
Наверное, я должен упомянуть, что мне комфортно в большинстве "стандартных" алгоритмов и структур данных, таких как быстрая сортировка, сортировка слиянием, пузырь, основание, считать и т. д. и хэши, самобалансирующиеся деревья и т. д.