|
|
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
regom Например, о его втором томе "Поиск и сортировка" хочу сказать вот что. Не знаю как насчет поиска, но по поводу сортировки практика посмеялась над теорией следующим образом. Было изобретено много видов сортировок, которые подвергались математическому исследованию и выводилась аппроксимационная формула скорости работы каждого вида. В течение ряда лет было написано много трудов на эту тему. Я так понимаю, была надежда на то, что глубокое изучение этих формул приведет к новым открытиям. Однако в один прекрасный момент был чисто случайно создан алгоритм быстрой сортировки, который работает несравнимо быстрее всех ранее изобретенных, но не поддается математическому анализу, т.е. математически нельзя доказать, что он работает быстрее других. Работает, и все.Несомненно необходимо хорошее математическое образование чтобы понять книгу. А еще лучше если вы участвовали в математических олимпиадах. Во вторых знать ассемблер не столько обязательно, но ПОНИМАТЬ КАК выполняются дествия - нужно. А все что вы понаписали про быструю сортировку - какой-то бред. Во первых не быстрее. Во вторых для ЛЮБОГО метода есть свои доказательства. А доказать что этот метод быстрее всех и всегда - нельзя. Потому что это не так. В третьих к вашему сведенью практически все открытия, сделаны "случайно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 10:23:25 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
[quot Программист 1сА все что вы понаписали про быструю сортировку - какой-то бред.[/quot] Написал не я - написано в Википедии. Или там тоже бред? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 10:26:25 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
regomПрограммист 1сА все что вы понаписали про быструю сортировку - какой-то бред. Написал не я - написано в Википедии. Или там тоже бред? Типа "моветон" наверное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 10:40:05 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
maytonМне пока хватает электронного варианта Кнута. Некуда ставить энти три кирпича! Во-во, Asus EEE занимает намного меньше места - а книжек в нем больше :) У меня из бумажных кирпичей самый толстый - это второй том Хорстмана (ну и пользы от него в повседневной практике побольше чем от Кнута) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 10:49:18 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
SQL_Lamer Это ви мне? А вот так тоже неплохо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 10:50:34 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
Замечу, что полезны оба "Кнута" . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 10:54:21 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
SQL_Lamer От себя добавлю, что там в предисловии было что - то типа "математика на уровне средней школы". И буквально через пару страниц пошли такие математические выкладки, что у меня челюсть свело :) Это смотря на уровне КАКОЙ школы. у Кнута таки нет ничего сложного с т. зрения математика, для хорошего выпускника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 11:14:56 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
VovkaMorkovkaSQL_Lamer От себя добавлю, что там в предисловии было что - то типа "математика на уровне средней школы". И буквально через пару страниц пошли такие математические выкладки, что у меня челюсть свело :) Это смотря на уровне КАКОЙ школы. у Кнута таки нет ничего сложного с т. зрения математика, для хорошего выпускника Особенно если ее закончил лет эдак пять назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 11:24:53 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
regom пишет: > быстрый из известных универсальных алгоритмов сортировки массивов (в > среднем O(n log n) обменов при упорядочении n элементов). O - ВЕРХНЯЯ оценка, а не средняя. > И еще вопрос: как на форуме перед ответом на какой нибудь вопрос > поместить в прямоугольнике ранее заданный вопрос? Код: plaintext Вверху формы нового сообщения есть кнопки. Понажимайте, посмотрите что получается, потом научитесь сами их вставлять. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 11:40:13 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
regomОсобенно если ее закончил лет эдак пять назад. Полноте-с, батенька. Открыли справочник. Полистати-с. Освежили тык скыть голову. А учится ради сдачи экзамена это.. знаетели как-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 12:01:54 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
Вспоминается случай. Был у нас мужик один, все рассказывал, что в университете заставил весь трехтомник прочитать, мол даже на том выдуманном "ассемблере" программы писать приходилось. И что в итоге - поработал человек программистом, архитектором, да и прошел продавать в той же сфере. Теперь наверное заказчикам мозги парит. Доход тогда отличался на порядок, то есть в 10 раз (архитектор vs торгаш), не думаю, что сейчас сильно поменялось. Резюме - само по себе изучение это хорошо, конечно, а как жизнь вывернет ... и себя знать еще важнее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 13:25:53 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
Вот-вот . O(n log n) - это у сортировки слиянием у квик O(n^2). На практике квик быстрее, в принципе они одинаково шустрые. Но мердж намного "надежнее", этот зверь сортирует как надо и в сроки. Квику с легкостью можно подсунуть бяку, но и там спасает random выбор медианы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 12:46:51 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
Ну раз уж зашла речь о сортировках, следует отметить radix-sort, который имеет линейную сложность, но требует дополнительных входных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 15:06:27 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
LK4D4Ну раз уж зашла речь о сортировках, следует отметить radix-sort, который имеет линейную сложность, но требует дополнительных входных данных. ну здрасьте; приплыли; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 16:25:15 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
Книги Кнута следует изучать с листком в одной руке и карандашом в другой.Там можно всё понять.И польза от книг Кнута действительно есть,я лично читал её с удовольствием.Правда она у меня в эл.варианте,и поэтому сидя перед монитором и при этом осмысливать всё это сложновато.Намереваюсь купить третий том в ближайшие месяцы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 19:50:05 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
LK4D4Ну раз уж зашла речь о сортировках, следует отметить radix-sort, который имеет линейную сложность, но требует дополнительных входных данных. За что его отмечать? Что, он чем-то существенным отличился? Его даже не рассматривают в разделах, посвящённых сортировкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 20:38:41 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
VovkaMorkovkaSQL_Lamer От себя добавлю, что там в предисловии было что - то типа "математика на уровне средней школы". И буквально через пару страниц пошли такие математические выкладки, что у меня челюсть свело :) Это смотря на уровне КАКОЙ школы. у Кнута таки нет ничего сложного с т. зрения математика, для хорошего выпускника Я, к примеру, в классе с историческим уклоном учился :)) Лет сто назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 22:16:51 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
regomПрограммист 1сА все что вы понаписали про быструю сортировку - какой-то бред. Написал не я - написано в Википедии. Или там тоже бред?Вы читаете невнимательно. Еще раз прочтите статью - даже там написано что он не является "быстрейшим": Самый быстродействующий из всех существующих алгоритмов обменной сортировки — быстрее него только специализированные алгоритмы, использующие специфику сортируемых данных Во вторых - при объемах списка сортировки более чем объем памяти - (что в принципе нормальное явление для больших баз) очень сильно влияеет и другой недостаток этого метода: При классической реализации требует в худшем случае много дополнительной памяти. Правда, вероятность возникновения худшего случая ничтожна.Что позволяет методам не так интенсивно работающим с памятью обойти его. В третьих - покажите ОТКУДА в вкипедии вы звяли слова что этот метод был открыт случайно, а не являлся плодом долгих поисков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2008, 10:32:34 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
retty_jj_007Вот-вот . O(n log n) - это у сортировки слиянием у квик O(n^2). На практике квик быстрее, в принципе они одинаково шустрые. Но мердж намного "надежнее", этот зверь сортирует как надо и в сроки. Квику с легкостью можно подсунуть бяку, но и там спасает random выбор медианы introsort вполне может распознать бяку и отказаться от квика. глянул в /usr/include/c++ - g++ юзает именно интро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2008, 16:03:08 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
algo_searcherкакое количество лет надо, например, чтобы изучить последовательно? до гроба, это наша участь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2008, 23:52:50 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
Программист 1сПравда, вероятность возникновения худшего случая ничтожна. Живо вспоминается анекдот про роту солдат и вероятность встретить на улицк 10 мужчин подряд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2008, 09:41:22 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
Как я понимаю, здесь все - большие знатоки по части алгоритмов. Позвольте вам задачку подкинуть: Имеется множество одномерных отрезков вида: (x_left,x_right). Требуется так организовать это множество (список), чтобы для заданного x временная сложность поиска отрезка, удовлетворяющего условию x_left<x< x_right в большинстве случаев была меньше O(n), где n- количество отрезков. PS: фраза "в большинстве случаев" означает: количество нужных отрезков обычно намного меньше n ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2008, 12:24:07 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
алчность Имеется множество одномерных отрезков вида: (x_left,x_right). Требуется так организовать это множество (список), чтобы для заданного x временная сложность поиска отрезка, удовлетворяющего условию x_left<x< x_right в большинстве случаев была меньше O(n), Что значит "организовать"? Отсортировать? Или что-то другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2008, 13:37:00 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
mayton Что значит "организовать"? Отсортировать? Или что-то другое? - Организовать структуры данных(иерархию классов). Разумеется для быстрого поиска понадобится предобработка(скорее всего сортировка данных по какому-либо признаку(тоже непонятно по какому)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2008, 14:47:02 |
|
||
|
Изучение трудов Кнута (Как изучать)
|
|||
|---|---|---|---|
|
#18+
По вопросу о поиске подходящего отрезка будем считать, что системе небходимо максимально быстро найти первый подходящий отрезок и неважно за счет чего: то ли упорядочивания, то ли какого либо поиска - тут отражена реальная ситуация, когда необходимо решить поставленную задачу, но не сразу ясно, за счет какого алгоритма. Я бы интуитивно поступил так. Все отрезки рассматривал как лес деревьев, в каждом из которых отрезки не пересекаются и упорядочены не по координатам левого и правого конца, а по координатам середины. Тогда в процессе поиска по дереву мы быстро найдем левого и правого соседа точки Х, затем проверим принадлежит ли правый, или левый, или вообще X между двумя отрезками. В последнем случае переходим к другому дереву и т.д. При добавлении нового отрезка пробуем его разместить в ранее существующих деревьях между отрезками без пересечений, а если не получается - заводим новое дерево. В общем такие туманные предположения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2008, 14:47:44 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35734264&tid=1344725]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
202ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 557ms |

| 0 / 0 |
