powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Jump Search Algorithm: ошибка в псевдокоде
12 сообщений из 62, страница 3 из 3
Jump Search Algorithm: ошибка в псевдокоде
    #39994906
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1,
строки можно отсортировать по алфавиту и поставить число в соответствие каждой строке.
я думаю, что для любого конечного массива упорядченных данных проблем не будет.
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39994909
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab
строки можно отсортировать по алфавиту и поставить число в соответствие каждой строке.
но тогда, чтобы найти строку интерполяционным поиском, сначала надо будет определить число, которое ей соответствует :)
а это уже либо двоичный поиск, либо вычисление хэша.
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39994911
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
Просто на той свисте-странице написаны 4 ссылки на эти 4 алгоритма. Ну у этого автора шоры на глазах. Он даже не в курсе, что в псевдоконтинуумах тоже иногда ищут-свищут. Что алгоритмы использовать "детерминированные методы", а могут - вероятностные.

напомню, мы говорим, о поиске конкретного элемента в конечномерном массиве
так что не наговаривай на автора
тут нет ни континума, ни псевдоконтинума. и вероятностных методов тоже.

exp98
Тема о том, что алгоритм в книге правильный, но недостаточно быстрый? или не настолько как заявлено автором книги?
Тема о том, что в псевдокоде, приведенном в посте номер 1, Jump Search алгоритм реализован неверно
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39994925
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1,
для строк интерполяционный поиск в лоб применить нельзя, но можно сделать, что-то типа
aaa, aab, aba, abb

и я думаю, что на практике нечто подобное и применяется
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39994929
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39994952
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab
Имя пользователя1,
для строк интерполяционный поиск в лоб применить нельзя, но можно сделать, что-то типа
aaa, aab, aba, abb

и я думаю, что на практике нечто подобное и применяется

Разные языки и системы программирования по разному определяют компаратор или функцию сравнения
двух строк. Особенно когда речь идёт о разной длине строк или более чем 2х алфавитах.
Яркий пример - лексикографическая сортировка имен файлов и директорий даёт сбой
при переходе от десятков к сотням и т.д. А чтобы сравнивать не-лексико-графически
а человечески - надо усложнить функцию компаратора. Это бъет по перформансу обычно.
И этим никто не хочет заниматься. И это мы еще даже не зашли в такие "области тьмы"
как суррогатные пары, нормализация строк по Unicode и прочее.

Тоесть сравнить строки без описания смысла компаратора - почти невозможно. И интерполяция
- расчет новой точки между двух других для строк также сложен. Например какая строка
будет между
Код: sql
1.
aaa, aaaa


?
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39994983
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

я не говорила, что интерполяционный поиск будет эффективно работать во всех возможных случаях,
тем более, что это неверно даже для целых чисел.

я попробую показать возможность конвертации строки в число, и возможность сравнения строки и числа :-)
(потому что именно это вызвало сомнения)
наиболее интуитивным, будет подход используемый в словарях, и числовая функция строки должна быть большей (или равной) для строк, стоящих позже по алфавиту.

Строковая функция:
вычисление числового значения строки будет производится по первым 3м буквам, например так
ааа = 26 * 26 * 1 + 26 * 1 + 1
baz = 26 * 26 * 2 + 26 * 1 + 26

строка ааа будет иметь тоже числовое значение, что и строка аааа, но аааа будет стоять на более поздней позиции
(сортируем по алфавиту)
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39994997
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможность сравнения всегда есть. Я говорю о смыслах. Вот фрагмент кода на Java.
Реальный рабочий фрагмент. Я гарантирую это.

Код: java
1.
2.
3.
4.
IntStream.range(-10, 21).boxed()
                .map(x -> String.valueOf(x))
                .sorted()
                .forEach(x -> println(x));



Интервал целых чисел от -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.
-1
-10
-2
-3
-4
-5
-6
-7
-8
-9
0
1
10
11
12
13
14
15
16
17
18
19
2
20
3
4
5
6
7
8
9



Можешь прокомментировать результат?
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39995004
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
а почему бы и нет?
в данном случае мы наблюдаем последовательное сравнение символов по коду в ascii таблице, как и для обычных строк, только непонятно, какое это имеет отношение к теме...
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39995005
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это интуитивно?
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39995006
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какой будет рез-т сортировки? Все коды вин-1251.
Select ....... From tabl Order by 1 asc;
Код: plaintext
1.
2.
3.
i. Ехал кактус на окне
iv. Вёл мамашу на ремне
ix. А собачка в это время мыла Ваню на коне
...
Рейтинг: 0 / 0
Jump Search Algorithm: ошибка в псевдокоде
    #39995007
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98,
не нужно расстраиваться, если не можешь прочитать псевдокод
...
Рейтинг: 0 / 0
12 сообщений из 62, страница 3 из 3
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Jump Search Algorithm: ошибка в псевдокоде
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]