|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mayton Язык определяет сознание. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 12:53 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
При адаптации алгоритмов из книжек я замечал что многие из них написаны на диалектах Pascal/Modula/Delphi. И в этих языках массивы могут начинаться не с 0 а с 1 и это создает некоторые трудности при механическом переводе. В данном диалекте массивы какие? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 13:12 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
exp98 mayton Язык определяет сознание. Да вот как написано - так программист и переведет. Кстати даже такой пустяк как извлечение квадратного корня с округлением в нижнюю сторону у меня вызывает некую оторопь и размышления? Мы можем потерять в точности конвертируясь int->double->sqlrt->int или не имеем права? Казалось-бы пустяк но мне этот пустяк тоже интересен. Вобщем математики-теоретики вам написало код без типов данных. И без контрактов. А вы уже дальше думайте. Казнить или помиловать. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 13:14 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Кстати, в 1-м цикле может нужно было написать SET LOW = STEP + iiiii и т.п. Но мне откровенно неохота. Не забыть, что пользуемся упорядоченным массивом - это во первых словах автора. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 13:21 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mayton Да вот как написано - так программист и переведет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 13:22 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Меня вообще удивляет что мы тратим так много времени на старый и никому не нужный алгоритм поиска блоков на магнитофонной ленточке. Неужели автору нет дела до других (более актуальных) алгоритмов и структур данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 13:27 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Писала же - у неё есть план. Всё же это и полезная гимнастика. Я для этих упражнений откровенно ржавею. Так что небольшая встряска. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 13:48 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mayton Неужели автору нет дела до других (более актуальных) алгоритмов и структур данных? существует всего 4 основных алгоритма поиска: 1) линейный поиск 2) двоичный поиск 3) поиск методом интерполяции 4) прыжковый (пошаговый) поиск (Jump Search) у меня проблема возникла только с методом 4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 14:35 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
А хеш-поиск? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 14:39 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mayton А хеш-поиск? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 14:41 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mayton, хэш поиск = поиск по хэш ключу + линейный поиск поиск по хэш ключу будет проведен по одному из 4х методов ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 14:56 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mini.weblab хэш поиск = поиск по хэш ключу + линейный поиск ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 15:00 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Чтобы не открывать новуютему, спрошу здесь. Есть фрагмент и некий комментарий к нему. Чего я не понимаю? mini.weblab в вики, например, все происходите следующим образом (и это правильно): Код: plaintext 1. 2. 3. 4. 5.
и прыжки длиной в sqrt(n) происходят до тех пор, пока val не станет больше или равно arr[high] или пока low не станет больше чем n. Разве val не константа? Если val < arr[high] затем мы прибавляем low = high + 1; .... а) подразумевается убывающее упорядочивание. б) А где обрабатывается случай val == arr[high] ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 15:46 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mini.weblab mayton, хэш поиск = поиск по хэш ключу + линейный поиск поиск по хэш ключу будет проведен по одному из 4х методов Мисс mini.weblab! Мой комментарий касался утверждения о том что существует всего 4 основных алгоритма поиска: Я не знаю почему их всего 4. И почему алгоритм хеширования вдруг сюда не попал. Разве поиск ключа в хеш-таблице это не поиск? Разве вероятностная проверка в бит-карте Блума это не поиск? А вычисление квадратного корня? Разве это не поиск точки на вещественной оси? А градиентный спуск это не поиск? А обучение нейронной сети - разве это не поиск ее матрицы коэффициентов? А генетический алгоритм? Разве это не поиск наилучшего вектора признаков по заданной целевой функции? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 15:50 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
exp98 и прыжки длиной в sqrt(n) происходят до тех пор, пока val не станет больше или равно arr[high] или пока low не станет больше чем n. Разве val не константа? Если val < arr[high] затем мы прибавляем low = high + 1; .... а) подразумевается убывающее упорядочивание. б) А где обрабатывается случай val == arr[high] ?[/quot] 1) полный алгоритм вики можно найти по ссылке https://en.wikipedia.org/wiki/Jump_search там все случаи обрабатываются 2) я привела только часть с прыжками, потому что именно она неправильно реализована в книге 3) по поводу констант, если быть точным, то нужно выполнение условия val = arr[high] ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 15:56 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Ну давайте блин. А то ведь пока первый не начнешь - никто не начинает. Потихоньку. Шаг за шагом. С пониманием контракта. Можно даже сверять с линейным поиском. Код: plaintext 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:04 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mayton, я говорю конкретно об алгоритмах поиска , а не о всех возможных алгоритмах есть алгоритмы поиска (и их 4), а есть структуры данных, это не одно и тоже не существует метода хэш-поиск, но зато существует структура данных - хэш таблица, которая позволяет быстрый поиск данных по ключу. структуры данных как раз и создаются для того, чтобы получить лучшие результаты, чем позволяют стандартные алгоритмы ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:11 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mayton, с алгоритмом из вики проблем нет, там все норм. проблема с алгоритмом в самом первом посте: там все будет находится правильно, но по скорости выполнения он будет не лучше, чем линейный поиск ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:16 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mini.weblab mayton, с алгоритмом из вики проблем нет, там все норм. проблема с алгоритмом в самом первом посте: там все будет находится правильно, но по скорости выполнения он будет не лучше, чем линейный поиск А где было обещано что он лучше? Что вообще бывает лучше чем дихотомия на сортированном векторе? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:18 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
exp98, поправка 3) по поводу констант, если быть точным, прыжки должны совершатся до тех пор пока val >= arr[high] ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:22 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mayton А где было обещано что он лучше? скорость поиска для JumpSearch O(sqrt(n)), это лучше, чем линейный поиск O(n) mayton Что вообще бывает лучше чем дихотомия на сортированном векторе? при условии, что данные распределены равномерно, интерполяционный поиск будет эффективнее, чем двоичный ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:27 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Имя пользователя1 если хэш - некоторое целое число, то это будет индекс массива, где всё хранится, то есть уже никакого поиска не потребуется (хотя, если у некоторых значений совпал хэш, то это будет коллизия и там придется поискать). В этом идея хэш-словаря. да, согласилась ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:30 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
Это всё о точном поиске. Существует прикладные задачи на - интервальный поиск, - нечёткий поиск. Но метод Ньютона тоже ищет известное значение в неизвестном месте, но обычно не в дискретных последовательностях, а в континуумах. Ещё веоятностный поиск, как пример точного решения вероятностными методами, поищу ссылку, старая работа, Фрейвальд - фамилия такая. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:30 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mini.weblab maytonЧто вообще бывает лучше чем дихотомия на сортированном векторе? при условии, что данные распределены равномерно, интерполяционный поиск будет эффективнее, чем двоичныйи при условии, что это данные с ключем сортировки в виде числа. те же строки так не найти. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:38 |
|
Jump Search Algorithm: ошибка в псевдокоде
|
|||
---|---|---|---|
#18+
mini.weblab я говорю конкретно об алгоритмах поиска , а не о всех возможных алгоритмах есть алгоритмы поиска (и их 4), а есть структуры данных, это не одно и тоже Главное выяснено. Тема о том, что алгоритм в книге правильный, но недостаточно быстрый? или не настолько как заявлено автором книги? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:45 |
|
|
start [/forum/topic.php?fid=16&msg=39994767&tid=1339745]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 290ms |
0 / 0 |