|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Имя пользователя1, строки можно отсортировать по алфавиту и поставить число в соответствие каждой строке. я думаю, что для любого конечного массива упорядченных данных проблем не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:53 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mini.weblab строки можно отсортировать по алфавиту и поставить число в соответствие каждой строке. а это уже либо двоичный поиск, либо вычисление хэша. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:59 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
exp98 Просто на той свисте-странице написаны 4 ссылки на эти 4 алгоритма. Ну у этого автора шоры на глазах. Он даже не в курсе, что в псевдоконтинуумах тоже иногда ищут-свищут. Что алгоритмы использовать "детерминированные методы", а могут - вероятностные. напомню, мы говорим, о поиске конкретного элемента в конечномерном массиве так что не наговаривай на автора тут нет ни континума, ни псевдоконтинума. и вероятностных методов тоже. exp98 Тема о том, что алгоритм в книге правильный, но недостаточно быстрый? или не настолько как заявлено автором книги? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 17:00 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Имя пользователя1, для строк интерполяционный поиск в лоб применить нельзя, но можно сделать, что-то типа aaa, aab, aba, abb и я думаю, что на практике нечто подобное и применяется ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 17:14 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mini.weblab ...проблема с алгоритмом в самом первом посте: там все будет находится правильно, но по скорости выполнения он будет не лучше, чем линейный поиск И одно дело данный топик - никто не сомневался, что в контексте дискретный массив. Другое дело свистепедия. Название статьи с претензией. Сслка из неё на якобы определение "сортированный массив" так и не говорит о том, как он сортирован: asc or desc. Однако код приведён. Ну, свистепедия же. Это к шорам того автора. Я не разбирался, там, кстати, какое из одинаковых найденных ищут? Сылка первого уровня на статью: автор This article incorporates public domain material from the NIST document: Black, Paul E. "jump search". Dictionary of Algorithms and Data Structures. авторIn computer science, a list or sequence is an abstract data type that represents a countable number of ordered values, where the same value may occur more than once. An instance of a list is a computer representation of the mathematical concept of a tuple or finite sequence; the (potentially) infinite analog of a list is a stream.[1]:§3.5 Lists are a basic example of containers, as they contain other values. If the same value occurs multiple times, each occurrence is considered a distinct item. Ссылка 2-го ур. из статьи по "jump search" авторsorted array (data structure) Definition: An array whose items are kept sorted, often so searching is faster. See also binary search, interpolation search, ordered array. авторordered array (data structure) Definition: An array whose items have some order. Usually, it means a sorted array, but may mean not fully ordered, for example, all values less than the median are in the first half. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 17:18 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mini.weblab Имя пользователя1, для строк интерполяционный поиск в лоб применить нельзя, но можно сделать, что-то типа aaa, aab, aba, abb и я думаю, что на практике нечто подобное и применяется Разные языки и системы программирования по разному определяют компаратор или функцию сравнения двух строк. Особенно когда речь идёт о разной длине строк или более чем 2х алфавитах. Яркий пример - лексикографическая сортировка имен файлов и директорий даёт сбой при переходе от десятков к сотням и т.д. А чтобы сравнивать не-лексико-графически а человечески - надо усложнить функцию компаратора. Это бъет по перформансу обычно. И этим никто не хочет заниматься. И это мы еще даже не зашли в такие "области тьмы" как суррогатные пары, нормализация строк по Unicode и прочее. Тоесть сравнить строки без описания смысла компаратора - почти невозможно. И интерполяция - расчет новой точки между двух других для строк также сложен. Например какая строка будет между Код: sql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 18:11 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mayton, я не говорила, что интерполяционный поиск будет эффективно работать во всех возможных случаях, тем более, что это неверно даже для целых чисел. я попробую показать возможность конвертации строки в число, и возможность сравнения строки и числа :-) (потому что именно это вызвало сомнения) наиболее интуитивным, будет подход используемый в словарях, и числовая функция строки должна быть большей (или равной) для строк, стоящих позже по алфавиту. Строковая функция: вычисление числового значения строки будет производится по первым 3м буквам, например так ааа = 26 * 26 * 1 + 26 * 1 + 1 baz = 26 * 26 * 2 + 26 * 1 + 26 строка ааа будет иметь тоже числовое значение, что и строка аааа, но аааа будет стоять на более поздней позиции (сортируем по алфавиту) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 20:02 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Возможность сравнения всегда есть. Я говорю о смыслах. Вот фрагмент кода на Java. Реальный рабочий фрагмент. Я гарантирую это. Код: java 1. 2. 3. 4.
Интервал целых чисел от -10 до 21 конвертится в строки и сортируется по правилам строк и распечатывается на консоли. Вот что получается на выходе. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
Можешь прокомментировать результат? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 20:40 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mayton, а почему бы и нет? в данном случае мы наблюдаем последовательное сравнение символов по коду в ascii таблице, как и для обычных строк, только непонятно, какое это имеет отношение к теме... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 21:20 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Это интуитивно? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 21:25 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
А какой будет рез-т сортировки? Все коды вин-1251. Select ....... From tabl Order by 1 asc; Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 21:26 |
|
|
start [/forum/topic.php?fid=16&gotonew=1&tid=1339745]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 284ms |
0 / 0 |