Re: сортировка, практическое применение
От: Muxa  
Дата: 02.04.13 13:18
Оценка: 1 (1) :))
Re[2]: сортировка, практическое применение
От: Vzhyk  
Дата: 19.02.13 07:24
Оценка: 15 (1) +1
On 19.02.2013 4:08, SkyDance wrote:

> Именно в этом состоит претензия к собеседованию в стиле "экзамен". И да,

> я тоже считаю неудачными такие собеседования. Ведь в реальной разработке
> доступ в интернет у меня есть, и если я прямо сейчас не помню
> асимптотики, скажем, radix sort — мне не составит труда за 5 минут
> найти. Любые собеседования, основанные на проверке памяти у кандидата
> могут проверить лишь память, но никак не уровень мышления.
Но тебе тут же ответят, что мы просим на собеседовании тут же некий код
написать. И таки да с таким подходом я согласен, если набирают студентов
и за ними потом еще год опытный товарищ будет присматривать.

З.Ы. Например, я вообще не умею код сходу писать. Мне надо подумать,
посмотреть на задачу с разных соторон, покрутить ее в голове, посмотреть
ее решения в инете. Потом делаю наброски и после того, как мне
становиться ясно процентов на 80%, что именно нужно сделать и как,
только после этого я начинаю писать код. Возможно это связано с тем, что
мне никогда не ставились задачи в стиле, вот интерфейс функции, вот
входные данные, вот выходные, напиши цикл. Сам тоже никогда в такой
постановке не ставил задач. Обычно в варианте, вот нужно реализовать
некую функциональность, разберись, составь план работы и приступай,
причем человек в курсе, что дальше предполагается ему делать и в общем в
курсе всего продукта.
Posted via RSDN NNTP Server 2.1 beta
сортировка, практическое применение
От: hpux100  
Дата: 16.02.13 18:25
Оценка: +2
На собеседовании часто задают вопрос по алгоритмам сортировок.
Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.
Re: сортировка, практическое применение
От: minorlogic Украина  
Дата: 16.02.13 20:11
Оценка: +2
Здравствуйте, hpux100, Вы писали:

H>На собеседовании часто задают вопрос по алгоритмам сортировок.

H>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.

Radix sort с плавающей точкой для определения столкновений.
реализация BWT это одна сплошная хардкорная сортировка.
в computational geometry свои версии сортировок для растеризации . операциями над полигонами и т.п.
Сортировки для данных с известным распределением (частично отсортированные, равномерно распределенные на численном интервале).

это навскидку.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re: сортировка, практическое применение
От: PragmaticProgrammer Великобритания  
Дата: 16.02.13 20:58
Оценка: -2
Здравствуйте, hpux100, Вы писали:

H>На собеседовании часто задают вопрос по алгоритмам сортировок.

H>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.

Такие вопросы задают, что бы понять чем занимался универе. Из хорошего свежеиспеченного студента такие вещи должны вылетать как таблица умножения.

Реально на практике такое писать придется только если пишешь свой собсвенный велосипед фреймворк или пишешь в среде в которой еще не ступала нога фреймворкиста. В бизнес проекте за это сразу получишь по шее от сеньера.

В любом маломальском фреймворке это уже есть. Просто надо научиться пользоваться.

Хотя конечно, если нужен real time performance, существующие алгортмы не справляются и специфика очень узконаправленная, значит пришло время повеселится и заняться тем, чем мы так мечтаем заниматься когда долго засиживаемся над рутинными задачками. Да здраствует R&D.
Re: сортировка, практическое применение
От: IID Россия  
Дата: 17.02.13 23:44
Оценка: :))
Здравствуйте, hpux100, Вы писали:

Зачем учить алгоритмы, если достаточно написать order by ?
kalsarikännit
Re[4]: сортировка, практическое применение
От: minorlogic Украина  
Дата: 19.02.13 14:24
Оценка: 4 (1)
Здравствуйте, silent_bob, Вы писали:

Чуть откоментирую, если не возражаете.


_>* Данные не входят в оперативную память: памяти 16GB, данных 600GB. qsort() / std::sort() расчитывают, что данные доступны в любой момент.

_>* Данные не входят на винчестер. Винт 10TB, данных 1000TB, размазанных по 100 машинам. Городить адаптер к стандартному алгоритму или сразу написать с нуля?

Разумным видится использование готовой системы работы с данными, обычная БД или специфическая готовая, или готовый сервис. Обычно над такими задачами работают хорошие специалисты и соревноваться с ними с нуля проблематично.

_>* Запись на диск очень дорогая, надо минимизировать количество обращений. Двупроходная сортировка: вначале строим перестановку, используя только индексы; потом двигаем непосредственно данные. Возможно, какая-то библиотека так умеет, но мне не попадалось.


std::sort позволяет менять компаратор , в том числе используя ключи к элементам (индексы, указатели и т.п.)

_>* Низкоуровнеый драйвер, куда вход CRT/STL заказан.

Почему заказан STL? сортировка не должна использовать обращений к CRT, и обычно неплохо реализована.

_>* Банально отсортировать linked-list. qsort() считает, что работает с массовом, как научить его брать next указатель?


Свои контейнеры можно адаптировать под требования стандартных. К сожалению std::sort() требует random access итераторов (про qsort() забудьте как кошмар) , так что свой односвязный список им сортировать можно но не нужно.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re: сортировка, практическое применение
От: Roman Odaisky Украина  
Дата: 16.02.13 18:52
Оценка: :)
Здравствуйте, hpux100, Вы писали:

H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.


Вручную реализовывать почти никогда не нужно, а вот теорию знать очень полезно. Например, устойчивость/неустойчивость, или какие ограничения накладываются на предикаты, или что делать, если массив очень велик, но разных значений там мало, или как работать с уже упорядоченным массивом.
До последнего не верил в пирамиду Лебедева.
Re: сортировка, практическое применение
От: IObserver Ниоткуда  
Дата: 18.02.13 05:04
Оценка: +1
Здравствуйте, hpux100, Вы писали:

H>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.


По моему опыту так: основная масса (90%) сложных алгоритмов никогда не разрабатывают (не, ну в книжке вычитать и запомнить могут, но не более того). А зачем, если алгоритм нужно разработать (и выразить на том или ином языке) лишь 1 раз и использовать потом смогут все?

В моем понимании этот 1% людей -- обязательно с Оксфордским образованием, ученой степенью, написали немало научных трудов. Вот они должны знать все тонкости алгоритмов. А остальным это может понадобится разве что в качестве хобби.
Re[7]: сортировка, практическое применение
От: BulatZiganshin  
Дата: 18.02.13 11:44
Оценка: +1
Здравствуйте, Vzhyk, Вы писали:

>> а если тебе нужно выяснить, способен ли нанимаемый разобраться в

>> простейших алгоритмах?
V>Мне это не нужно.

ну а другим нужно. о чём тут спорить?
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: сортировка, практическое применение
От: silent_bob  
Дата: 18.02.13 22:15
Оценка: +1
Здравствуйте, hpux100, Вы писали:

H>ну а пример можно, где применялось.


У меня есть несколько примеров из жизни:
* Данные не входят в оперативную память: памяти 16GB, данных 600GB. qsort() / std::sort() расчитывают, что данные доступны в любой момент.
* Данные не входят на винчестер. Винт 10TB, данных 1000TB, размазанных по 100 машинам. Городить адаптер к стандартному алгоритму или сразу написать с нуля?
* Запись на диск очень дорогая, надо минимизировать количество обращений. Двупроходная сортировка: вначале строим перестановку, используя только индексы; потом двигаем непосредственно данные. Возможно, какая-то библиотека так умеет, но мне не попадалось.
* Низкоуровнеый драйвер, куда вход CRT/STL заказан.
* Банально отсортировать linked-list. qsort() считает, что работает с массовом, как научить его брать next указатель?
Re[8]: сортировка, практическое применение
От: landerhigh Пират  
Дата: 19.02.13 00:15
Оценка: -1
Здравствуйте, BulatZiganshin, Вы писали:


V>>Мне это не нужно.


BZ>ну а другим нужно. о чём тут спорить?


Опыт показывает, что этим "другим" на деле опердни лабать нужно, а не сортировками промышлять.
www.blinnov.com
Re: сортировка, практическое применение
От: _Obelisk_ Россия http://www.ibm.com
Дата: 19.02.13 19:59
Оценка: +1
Здравствуйте, hpux100, Вы писали:

H>На собеседовании часто задают вопрос по алгоритмам сортировок.

H>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.


Да совсем банально — топологическая сортировка графа, который описывает некоторые зависимости меж данными. Требуется при выборе правильного порядка их обработки. Скажем, генерация makefile-а собирающего генеренные проекты.
Ну в UI так постоянно — сортировка таблиц по разным столбцам, которым соответствуют различные критерии. Сортировка, как способ приведения данных в некоторую каноническую форму с целью сравнения и т.п.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[3]: сортировка, практическое применение
От: пыщьпышь  
Дата: 29.03.13 08:16
Оценка: :)
Здравствуйте, IObserver, Вы писали:

_FR>>В VB 6 стандартная библиотека была настолько убога, что бинарный поиск вот приходилось писать самим. Так же, если было нужно отсортировать набор чего-то по какому-либо условию — засучивай рукава.


IO>А что там засучивать: находишь на github готовую реализацию на любимом языке программирования и меняешь названия функций. Все! Даже не нужно понимать как оно работает.


Интересно, откуда тогда столько неприязни к начинающим кодерам на Дельфи, которые на любой чих компоненты ищут?
Re: сортировка, практическое применение
От: buser  
Дата: 16.02.13 18:45
Оценка:
Здравствуйте, hpux100

Да — применяются... во всех.. Но долбапрограммистов, реализующих их врукопашную своими силами под каждый новый проект, к счастью, все меньше и меньше... Иногда (ну в очень редких случаях) требуется понимать какой из алгоритмов дает выигрыш и в ущерб чему (ну это не только к "сортировкам" относится)... На собеседованиях же, даже исходя из названия сего мероприятия, отбирают собеседников... Вот пойдете Вы с "пацанами" (или как там будут называть коллеги друг друга?) пива выпить после работы... Ну не о бабах девушках или тачках автомобилях ну и другом житейском шлаке трындеть... А так о малое, о-по большому... омега с логарифмами... и уважение к собеседнику растет... Как-то так...
YAGNI
Re[2]: сортировка, практическое применение
От: hpux100  
Дата: 16.02.13 18:57
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Здравствуйте, hpux100, Вы писали:


H>>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.


RO>Вручную реализовывать почти никогда не нужно, а вот теорию знать очень полезно. Например, устойчивость/неустойчивость, или какие ограничения накладываются на предикаты, или что делать, если массив очень велик, но разных значений там мало, или как работать с уже упорядоченным массивом.


я не про ручную в том числе, понимание того как это работает да, важно, интересны примеры где в промышленных проектах и для чего используется например std::sort
Re[3]: сортировка, практическое применение
От: carpenter Голландия  
Дата: 16.02.13 19:29
Оценка:
Здравствуйте, hpux100, Вы писали:


H>я не про ручную в том числе, понимание того как это работает да, важно, интересны примеры где в промышленных проектах и для чего используется например std::sort


да хотябы в листбокс вывести список отсортированный по алфавиту,
или отсортировать для ускорения поиска ...
Весь мир — Кремль, а люди в нем — агенты
Re: сортировка, практическое применение
От: elmal  
Дата: 16.02.13 19:50
Оценка:
Здравствуйте, hpux100, Вы писали:

H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.

Я целый раз применял! Более того, даже пузырек написал сам лично . По причине, что писал на VB Script, и там со стандартными средствами беда была.
А так — иногда случается хитрая бизнес логика, когда нужно для получения результата отсортировать по определенному ключу.
Re: сортировка, практическое применение
От: bazis1 Канада  
Дата: 16.02.13 20:02
Оценка:
Здравствуйте, hpux100, Вы писали:

H>На собеседовании часто задают вопрос по алгоритмам сортировок.

H>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.
не совсем сортировка, но в тему школьных алгоритмов.

давным-давно понадобилось написать аналог Shadow Copy для одной альтернативной операционки — драйвер, который позволял "заморозить" состояние диска в некий момент и постепенно его считать в архив (реализовывалось отслеживанием секторов, измененных после создания снапшота, запоминанием их предыдущего состояния и подстановкой его при создании архива).

стандартных вещей вроде STL там не было, да и требования к памяти в kernel-mode довольно критичны. понимание того, чем дерево отличается от списка или хэш-таблицы помогло сделать красивое и шустро работающее решение.

но это частный случай. в общем случае на собеседованиях подобные вещи имеет смысл спрашивать, чтобы понять, способен ли кандидат думать над тем, что пишет и понимать, как оно работает, или же стучать по клавишам — верх его способностей. хотя многие этим злоупотребляют и отсеивают всех, кто не напишет по памяти какой-нибудь стандартный алгоритм.
Re[4]: сортировка, практическое применение
От: Abyx Россия  
Дата: 16.02.13 22:54
Оценка:
Здравствуйте, carpenter, Вы писали:

H>>я не про ручную в том числе, понимание того как это работает да, важно, интересны примеры где в промышленных проектах и для чего используется например std::sort


C>да хотябы в листбокс вывести список отсортированный по алфавиту,

C>или отсортировать для ускорения поиска ...

для этого надо использовать какойнить sorted_container, а не std::sort
In Zen We Trust
Re: сортировка, практическое применение
От: BulatZiganshin  
Дата: 17.02.13 17:31
Оценка:
Здравствуйте, hpux100, Вы писали:

H>На собеседовании часто задают вопрос по алгоритмам сортировок.

H>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.

алгоритмы сжатия — это сплошь самодельные лисапеды на тему поиска информации.
Люди, я люблю вас! Будьте бдительны!!!
Re[2]: сортировка, практическое применение
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 17.02.13 17:40
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>алгоритмы сжатия — это сплошь самодельные лисапеды на тему поиска информации.


На вопрос "где применяются алгоритмы сжатия" ответить не легче.
Ce n'est que pour vous dire ce que je vous dis.
Re: сортировка, практическое применение
От: Гоги Россия  
Дата: 17.02.13 18:48
Оценка:
Здравствуйте, hpux100, Вы писали:

H>На собеседовании часто задают вопрос по алгоритмам сортировок.

H>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.

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

Клепателям форм сортировка не столь актуальна конечно.
Re[4]: сортировка, практическое применение
От: _FRED_ Черногория
Дата: 18.02.13 00:14
Оценка:
Здравствуйте, carpenter, Вы писали:

H>>я не про ручную в том числе, понимание того как это работает да, важно, интересны примеры где в промышленных проектах и для чего используется например std::sort

C>да хотябы в листбокс вывести список отсортированный по алфавиту,
C>или отсортировать для ускорения поиска ...

Дык в венде ж стиль для этого специальный в списковых контролах уже есть (LBS_SORT/CBS_SORT). Неуж-то на каких-то платформах нет?
Help will always be given at Hogwarts to those who ask for it.
Re: сортировка, практическое применение
От: _FRED_ Черногория
Дата: 18.02.13 00:20
Оценка:
Здравствуйте, hpux100, Вы писали:

H>На собеседовании часто задают вопрос по алгоритмам сортировок.

H>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.

В VB 6 стандартная библиотека была настолько убога, что бинарный поиск вот приходилось писать самим. Так же, если было нужно отсортировать набор чего-то по какому-либо условию — засучивай рукава.
Help will always be given at Hogwarts to those who ask for it.
Re[2]: сортировка, практическое применение
От: IObserver Ниоткуда  
Дата: 18.02.13 05:06
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>В VB 6 стандартная библиотека была настолько убога, что бинарный поиск вот приходилось писать самим. Так же, если было нужно отсортировать набор чего-то по какому-либо условию — засучивай рукава.


А что там засучивать: находишь на github готовую реализацию на любимом языке программирования и меняешь названия функций. Все! Даже не нужно понимать как оно работает.
Re[2]: сортировка, практическое применение
От: Stanislav V. Zudin Россия  
Дата: 18.02.13 06:34
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Здравствуйте, hpux100, Вы писали:


H>>На собеседовании часто задают вопрос по алгоритмам сортировок.

H>>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
H>>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.

M>Radix sort с плавающей точкой для определения столкновений.

M>реализация BWT это одна сплошная хардкорная сортировка.
M>в computational geometry свои версии сортировок для растеризации . операциями над полигонами и т.п.
M>Сортировки для данных с известным распределением (частично отсортированные, равномерно распределенные на численном интервале).

Добавлю из своего опыта.
В САПР сплошь и рядом.

Самое элементарное:
Проверка попадания мышкой в графическом редакторе.

Из посложнее:
Восстановление электрических связей по геометрическим данным.
Сборка padstack'ов из разрозненных деталей.
Поиск правил (constraints), действующих между двумя заданными объектами.
Проверка конструкторско-технологических ограничений.

Хардкор:
автотрассировка, авторазмещение.

Тут тебе и простые хеши, и 2D-хеши, и различные сортировки. Где-то достаточно std::sort, где-то — пирамидальная. Даже развороту односвязного списка находится место.
_____________________
С уважением,
Stanislav V. Zudin
Re[2]: сортировка, практическое применение
От: Vzhyk  
Дата: 18.02.13 07:55
Оценка:
On 16.02.2013 21:52, Roman Odaisky wrote:

> или что делать, если массив очень велик, но

> разных значений там мало, или как работать с уже упорядоченным массивом.
В этих случаях полезно думать головой, а не лепить самую быструю
сотрировку.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: сортировка, практическое применение
От: Vzhyk  
Дата: 18.02.13 07:59
Оценка:
On 16.02.2013 22:29, carpenter wrote:

> да хотябы в листбокс вывести список отсортированный по алфавиту,

То бишь основная работа при таком собеседовании предстоит именно такая?

> или отсортировать для ускорения поиска ...

А вот здесь сначала нужно подумать, в неотсортированных ли данных только
проблема.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: сортировка, практическое применение
От: Vzhyk  
Дата: 18.02.13 08:09
Оценка:
On 16.02.2013 23:02, bazis1 wrote:

> давным-давно понадобилось написать


> хотя многие этим злоупотребляют и отсеивают

> всех, кто не напишет по памяти какой-нибудь стандартный алгоритм.
Ты сам себя прокомментировал лучше всех.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: сортировка, практическое применение
От: Vzhyk  
Дата: 18.02.13 08:26
Оценка:
On 16.02.2013 23:11, minorlogic wrote:

> Radix sort с плавающей точкой для определения столкновений.

> реализация BWT это одна сплошная хардкорная сортировка.
> в computational geometry свои версии сортировок для растеризации .
> операциями над полигонами и т.п.
> Сортировки для данных с известным распределением (частично
> отсортированные, равномерно распределенные на численном интервале).
Ну и не говори. Напомнило мне тут это один пост "давным-давно..."
З.Ы. Кстати, в том же геймдеве платят плохо.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: сортировка, практическое применение
От: Vzhyk  
Дата: 18.02.13 08:29
Оценка:
On 16.02.2013 23:58, PragmaticProgrammer wrote:

> Такие вопросы задают, что бы понять чем занимался универе. Из хорошего

> свежеиспеченного студента такие вещи должны вылетать как таблица умножения.
Через 20 лет после института? Что там насчет интегралов через год после
сдачи экзамена?

> Реально на практике такое писать придется только если пишешь свой

> собсвенный велосипед фреймворк или пишешь в среде в которой еще
> не ступала нога фреймворкиста. В бизнес проекте за это сразу получишь по
> шее от сеньера.
Но при сортировках на собеседовании в качестве сеньоров быстро
оказываются студенты (1-2 года опыта работы). А этот поощрит.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: сортировка, практическое применение
От: Vzhyk  
Дата: 18.02.13 08:52
Оценка:
On 17.02.2013 20:31, BulatZiganshin wrote:

> алгоритмы сжатия — это сплошь самодельные лисапеды на тему поиска

> информации.
> FreeArc <http://freearc.org> — лучшийархиватор
> в мире
Может он и лучший. Но сколько людей ты нанял на работу делать твой
архиватор за последние 10 лет?
А сколько всего архиваторов в мире, сколько программистов было нанято за
последнее время на эти проекты. 0.00001 процента?
Posted via RSDN NNTP Server 2.1 beta
Re[3]: сортировка, практическое применение
От: BulatZiganshin  
Дата: 18.02.13 09:36
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> алгоритмы сжатия — это сплошь самодельные лисапеды на тему поиска

>> информации.
V>Может он и лучший. Но сколько людей ты нанял на работу делать твой
V>архиватор за последние 10 лет?

а смысл? человека пример интересовал. в целом алгоритмисты востребованы. сортировку же можно рассматривать как разновдиность гномиков — её спрашивают не ради практической нужды, а чтобы выяснить, способен ли нанимаемый разобраться в простейших алгоритмах, с которыми ему придётся иметь дело по работе
Люди, я люблю вас! Будьте бдительны!!!
Re[4]: сортировка, практическое применение
От: Vzhyk  
Дата: 18.02.13 11:04
Оценка:
On 18.02.2013 12:36, BulatZiganshin wrote:

> а смысл? человека пример интересовал. в целом алгоритмисты востребованы.

> сортировку же можно рассматривать как разновдиность гномиков — её
> спрашивают не ради практической нужды, а чтобы выяснить, способен ли
> нанимаемый разобраться в простейших алгоритмах, с которыми ему придётся
> иметь дело по работе
Булат, если мне нужно тебя завалить на собеседовании, я шутя тебя завалю
на простейших алгоритмах и контейнерах, вне зависимости от того, что ты
сам не плохой архиватор написал.
Учитывая, что большинство здесь совсем недавние студенты, напомню, что
если преподу нужно кого завалить на экзамене, он это сделает шутя, или
нынче такие преподы, что даже на такое не способны.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: сортировка, практическое применение
От: BulatZiganshin  
Дата: 18.02.13 11:10
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> а смысл? человека пример интересовал. в целом алгоритмисты востребованы.

>> сортировку же можно рассматривать как разновдиность гномиков — её
>> спрашивают не ради практической нужды, а чтобы выяснить, способен ли
>> нанимаемый разобраться в простейших алгоритмах, с которыми ему придётся
>> иметь дело по работе
V>Булат, если мне нужно тебя завалить на собеседовании, я шутя тебя завалю

а если тебе нужно выяснить, способен ли нанимаемый разобраться в простейших алгоритмах?
Люди, я люблю вас! Будьте бдительны!!!
Re[6]: сортировка, практическое применение
От: Vzhyk  
Дата: 18.02.13 11:20
Оценка:
On 18.02.2013 14:10, BulatZiganshin wrote:

> а если тебе нужно выяснить, способен ли нанимаемый разобраться в

> простейших алгоритмах?
Мне это не нужно. Мне нужен тот, кто работать будет, а не тащить на себе
бессмысленный багаж знаний, с применением которого у него проблемы. У
тебя, например, я буду выяснять про то, как ты свой архиватор делал,
почему так, а не иначе, чем другие хуже. Попрошу рассказать про
архитектуру.
И в крайнем случае, в очень крайнем, если ты меня сильно смутишь и
появится ощущение, что не ты его делал, а некий негр, то попрошу
написать класс vector, как ты его видишь, посмотрю на стиль кода, как ты
с памятью обощелся, пообщаюсь на тему сделанного.

Даже, если он у тебя на C написан, за недельку разберешься с С++ и
будешь писать на С с классами, главное чтобы код делал то что нужно, не
глючил и не тек и сделано все было в срок.

Мне до лампочки, если чел не может написать некую сортировку сходу и
т.д. — если чел умеет работать, что он показал это своей предыдущей
работой, и если нужно будет, за 1-2 дня покапается в гугле и за несколко
дней напишет, но, понятно, необходимость подобной задачи должна быть
доказана. А так из стандартной библиотеки и не более.
Posted via RSDN NNTP Server 2.1 beta
Re[8]: сортировка, практическое применение
От: Vzhyk  
Дата: 18.02.13 12:54
Оценка:
On 18.02.2013 14:44, BulatZiganshin wrote:

> ну а другим нужно. о чём тут спорить?

Вот я вбросил, чтобы прикинуть скольким (как не странно, но кывт это
срез по русским програмерам), каким и почему.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: сортировка, практическое применение
От: bazis1 Канада  
Дата: 18.02.13 13:34
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>On 16.02.2013 23:02, bazis1 wrote:


>> давным-давно понадобилось написать


>> хотя многие этим злоупотребляют и отсеивают

>> всех, кто не напишет по памяти какой-нибудь стандартный алгоритм.
V>Ты сам себя прокомментировал лучше всех.
я написал, что иногда это полезно и что многие преувеличивают эту пользу и злоупотребляют. в чем проблема?
Re: сортировка, практическое применение
От: Sni4ok  
Дата: 18.02.13 17:02
Оценка:
Здравствуйте, hpux100, Вы писали:

H>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.


потому-что вы скорее всего плохой программист(или начинающий) и работаете над плохими задачами, которые не будут генерировать много денег.

H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.


да, сталкивался.
Re[2]: сортировка, практическое применение
От: hpux100  
Дата: 18.02.13 17:58
Оценка:
Здравствуйте, Sni4ok, Вы писали:

S>Здравствуйте, hpux100, Вы писали:


H>>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.


S>потому-что вы скорее всего плохой программист(или начинающий) и работаете над плохими задачами, которые не будут генерировать много денег.


H>>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.


S>да, сталкивался.


ну а пример можно, где применялось.
Я тоже как то примнял сортировку для реализации медианных фильтров. Сейчас это все есть в OpenCV. Писать самому на уровне бизнес логики ничего не надо, поэтому и спрашиваю.
Re[3]: сортировка, практическое применение
От: Sni4ok  
Дата: 18.02.13 18:04
Оценка:
Здравствуйте, hpux100, Вы писали:

H>ну а пример можно, где применялось.


например у меня есть бальшая база данных в файликах (в stxxl'е), так вот иногда нужно к ней добовлять не последовательные вещи больших размеров, а stxxl::sort на них периодически падал — пришлось написать свою сортировку слиянием, время искать багу в stxxl::sort'е небыло.
Re[2]: сортировка, практическое применение
От: Vzhyk  
Дата: 18.02.13 18:17
Оценка:
On 18.02.2013 20:02, Sni4ok wrote:

> потому-что вы скорее всего плохой программист(или начинающий) и

> работаете над плохими задачами, которые не будут генерировать много денег.
Я так понимаю, что у тебя зарплата в Москве 300000-400000 рос.руб?
Posted via RSDN NNTP Server 2.1 beta
Re[3]: сортировка, практическое применение
От: Sni4ok  
Дата: 18.02.13 19:14
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>Я так понимаю, что у тебя зарплата в Москве 300000-400000 рос.руб?


своё дело, зарабатываю последние 2 года в среднем больше.
Re: сортировка, практическое применение
От: SkyDance Земля  
Дата: 19.02.13 01:08
Оценка:
H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.

Правильнее было бы задать вопрос "в каком таком месте вам понадобилось применить нестандартный алгоритм сортировки, при этом нельзя было бы заглянуть в google или учебник"
Именно в этом состоит претензия к собеседованию в стиле "экзамен". И да, я тоже считаю неудачными такие собеседования. Ведь в реальной разработке доступ в интернет у меня есть, и если я прямо сейчас не помню асимптотики, скажем, radix sort — мне не составит труда за 5 минут найти. Любые собеседования, основанные на проверке памяти у кандидата могут проверить лишь память, но никак не уровень мышления.
Re[4]: сортировка, практическое применение
От: Vzhyk  
Дата: 19.02.13 07:15
Оценка:
On 18.02.2013 22:14, Sni4ok wrote:

> своё дело, зарабатываю последние 2 года в среднем больше.

Сортировками?
Posted via RSDN NNTP Server 2.1 beta
Re[4]: ладно уговорили
От: carpenter Голландия  
Дата: 19.02.13 16:36
Оценка:
Здравствуйте, carpenter, Вы писали:

сортировка программистам действительно нигде не нужна
Весь мир — Кремль, а люди в нем — агенты
Re[5]: сортировка, практическое применение
От: silent_bob  
Дата: 19.02.13 18:45
Оценка:
Здравствуйте, minorlogic, Вы писали:

_>>* Данные не входят в оперативную память: памяти 16GB, данных 600GB. qsort() / std::sort() расчитывают, что данные доступны в любой момент.

_>>* Данные не входят на винчестер. Винт 10TB, данных 1000TB, размазанных по 100 машинам. Городить адаптер к стандартному алгоритму или сразу написать с нуля?

M>Разумным видится использование готовой системы работы с данными, обычная БД или специфическая готовая, или готовый сервис. Обычно над такими задачами работают хорошие специалисты и соревноваться с ними с нуля проблематично.


Хм, а этим специалистам-то где брать фреймворк?

_>>* Низкоуровнеый драйвер, куда вход CRT/STL заказан.

M>Почему заказан STL? сортировка не должна использовать обращений к CRT, и обычно неплохо реализована.

Смесь Си и Ассемблера, bare metal. Какую библиотеку будем брать?
Re[6]: сортировка, практическое применение
От: minorlogic Украина  
Дата: 19.02.13 19:13
Оценка:
Здравствуйте, silent_bob, Вы писали:

_>Хм, а этим специалистам-то где брать фреймворк?


Я о создателях таких фрейворков.


_>Смесь Си и Ассемблера, bare metal. Какую библиотеку будем брать?


ХЗ, я не спец "Си и Ассемблера"
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[3]: сортировка, практическое применение
От: SkyDance Земля  
Дата: 19.02.13 21:58
Оценка:
V>Но тебе тут же ответят, что мы просим на собеседовании тут же некий код
V>написать.

Так я этот момент и считаю бессмысленным. Писать тривиальный код (в т.ч. сортировки) не имеет смысла, он уже написан и протестирован в разных библиотеках. В крайнем случае, можно подсмотреть идею реализации (если библиотека не подходит по лицензии).
А нетривиальный код писать — не дело получаса на собеседовании, да без помощи гугла. А уж если понадобится какой более-менее реальный код, скажем, с тривиальными boost::function + boost::bind (ну нет в C++ "сахарных" делегатов!) — так и вовсе без помощи доков могу долго тыркаться. Ибо синтаксис непростой, хоть и часто применяется — плохо запоминается.
Re[6]: сортировка, практическое применение
От: SkyDance Земля  
Дата: 19.02.13 21:59
Оценка:
_>Смесь Си и Ассемблера, bare metal. Какую библиотеку будем брать?

C runtime, из нее просто скопировать функцию qsort. Там никакой магии, и протестировано как следует.
Re[4]: сортировка, практическое применение
От: senglory  
Дата: 20.02.13 07:54
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>способен ли нанимаемый разобраться в простейших алгоритмах, с которыми ему придётся иметь дело по работе


Выделенное — далеко не факт. СОбеседования часто строятся по принципу "не взять лишнего", а критерий отсева — да хоть некошерный цвет рубашки.
Re[2]: сортировка, практическое применение
От: senglory  
Дата: 20.02.13 07:59
Оценка:
Здравствуйте, Sni4ok, Вы писали:

S>Здравствуйте, hpux100, Вы писали:


H>>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.


S>потому-что вы скорее всего плохой программист(или начинающий) и работаете над плохими задачами, которые не будут генерировать много денег.


1C и все вокруг ERP — это плохие задачи? Судя по HH они таки дают денег поболее всяких яйцеголовых наворотов типа проектов с самописными сортировками и прочим hand made.
Re[4]: сортировка, практическое применение
От: Vzhyk  
Дата: 20.02.13 09:36
Оценка:
On 20.02.2013 0:58, SkyDance wrote:

> Так я этот момент и считаю бессмысленным. Писать тривиальный код (в т.ч.

> сортировки) не имеет смысла, он уже написан и протестирован в разных
> библиотеках.
> А нетривиальный код писать — не дело получаса на собеседовании, да без
> помощи гугла.
Я тоже, но большинство здесь считают наоборот. Причем код на
собеседовании ничего не показывает, кроме твоего стиля оформления кода.
Для студентов можно попросить написать несколько сnрочек, чтобы увидеть
насколько они любят голые указатели, пользуются ли const. Но когда
подобное просят у людей, у которых за плечами 10-ки выполненных
проектов, это я понять могу только в двух вариантах: детское
самоутверждение или боязнь принятия решений или и то и другое вместе.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: сортировка, практическое применение
От: Vzhyk  
Дата: 20.02.13 09:38
Оценка:
On 20.02.2013 0:59, SkyDance wrote:

> C runtime, из нее просто скопировать функцию qsort. Там никакой магии, и

> протестировано как следует.
Это сильно просто и быстро. Надо же часто долго писать этот велосипед,
затем полгода-год в нем баги править. А все это время будет капать
зарплата и не только этому программисту, но и всем начальникам и
продажникам не придется бегать нового заказчика искать, пока этого
пилить удается.
Posted via RSDN NNTP Server 2.1 beta
Re: сортировка, практическое применение
От: a.v.v Россия  
Дата: 21.02.13 01:34
Оценка:
Здравствуйте, hpux100, Вы писали:

да применяли. и стандартные, и самописные
в нескольких проектах
Re[2]: сортировка, практическое применение
От: OZ1 Россия  
Дата: 28.03.13 19:00
Оценка:
Здравствуйте, SkyDance, Вы писали:

H>>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.


SD>Правильнее было бы задать вопрос "в каком таком месте вам понадобилось применить нестандартный алгоритм сортировки, при этом нельзя было бы заглянуть в google или учебник"

SD>Именно в этом состоит претензия к собеседованию в стиле "экзамен". И да, я тоже считаю неудачными такие собеседования. Ведь в реальной разработке доступ в интернет у меня есть, и если я прямо сейчас не помню асимптотики, скажем, radix sort — мне не составит труда за 5 минут найти. Любые собеседования, основанные на проверке памяти у кандидата могут проверить лишь память, но никак не уровень мышления.

Чтобы воспользоваться интернетом нужно знать, что ты ищешь. И даже если ты найдёшь то, что ищешь скопировать это к себе (особенно гнутый кодт) не всегда тривиальная задача. Проще самому.
Сортировки и структуры данных в моей практике применялись в эвристике и анализе данных. 99,9% работы это LDR, STR, BL. Но мы-то как раз и работаем, чтобы увидеть этот самый 0,1%, постоянно совершенствуясь и выгрызая его у нубов.
Это не стоит спрашивать на собеседовании. Лучше про кэши, потокобезопасность и заработную плату.
Re[4]: сортировка, практическое применение
От: Dym On Россия  
Дата: 29.03.13 07:42
Оценка:
_>* Данные не входят на винчестер. Винт 10TB, данных 1000TB, размазанных по 100 машинам. Городить адаптер к стандартному алгоритму или сразу написать с нуля?
Это задача довольно успешно решается, так называемыми грид-вычислениями. Oracle, начиная с 10g, на это очень хорошо заточен.
Счастье — это Glück!
Re: сортировка, практическое применение
От: пыщьпышь  
Дата: 29.03.13 08:20
Оценка:
Здравствуйте, hpux100, Вы писали:

H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.


Приходилось реализовывать топологическую сортировку в самописной ERP, причем на T-SQL, для формирования партий изготовляемых деталей и оптимального распределения загрузки оборудования. Естественно сама сортировка была лишь элементом этого бизнес-процесса.
При использовании merge-алгоритмов требуется, чтобы источники были отсортированы по ключу. Да много где...
Re: Я реализовывал
От: VovkaMorkovka  
Дата: 30.03.13 22:46
Оценка:
Здравствуйте, hpux100, Вы писали:

Мне приходилось, писать сортировку файла.
Как ты знаешь, доступ к большинству бинарных файлов последовательный. Файл большой, время его сортировки критично
Re: сортировка, практическое применение
От: iHateLogins  
Дата: 31.03.13 04:44
Оценка:
Здравствуйте, hpux100, Вы писали:

H>На собеседовании часто задают вопрос по алгоритмам сортировок.


Троллят кандидатов.

H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.


Не сталкивались.
Re: сортировка, практическое применение
От: Pzz Россия https://github.com/alexpevzner
Дата: 09.04.13 23:51
Оценка:
Здравствуйте, hpux100, Вы писали:

H>На собеседовании часто задают вопрос по алгоритмам сортировок.

H>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
H>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.

Мне вот любопытно. Люди, не считающие нужным понимать, как устроена сортировка, вероятно не слитают умение составлять простые алгоритмы частью своих служебных обязанностей.

А вот к примеру, простая задачка. Вы передаете в сеть пакеты, и вам надо из каждых N переданных пакетов передать M (M < N) неким особым образом, причем желательно распределив их более-менее равномерно среди "обычных" (т.е., идея передать сначала M "особых", а потом остальные не прокатит). Пакеты вам выдают для передачи по-одному, и вы в этот момент должнт решить, передаете вы его обычным образом, или особым. Как вы будете это делать? Готовый компонент вы вряд ли найдете.
Re[2]: сортировка, практическое применение
От: Pyromancer  
Дата: 11.04.13 14:15
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, hpux100, Вы писали:


H>>На собеседовании часто задают вопрос по алгоритмам сортировок.

H>>Но где реально на практике они применяются, я на этот вопрос не отвечу, поскольку никогда это на практике не применял.
H>>Подскажите кто нибудь сталкивался в промышленных проектах с необходимость применять алгоритмы сортировок.

Pzz>Мне вот любопытно. Люди, не считающие нужным понимать, как устроена сортировка, вероятно не слитают умение составлять простые алгоритмы частью своих служебных обязанностей.


Pzz>А вот к примеру, простая задачка. Вы передаете в сеть пакеты, и вам надо из каждых N переданных пакетов передать M (M < N) неким особым образом, причем желательно распределив их более-менее равномерно среди "обычных" (т.е., идея передать сначала M "особых", а потом остальные не прокатит). Пакеты вам выдают для передачи по-одному, и вы в этот момент должнт решить, передаете вы его обычным образом, или особым. Как вы будете это делать? Готовый компонент вы вряд ли найдете.


Ну например при каждом выданном пакете добавляй М/N к счетчику, если он больше 0.5 стал шли особый и уменьшай счетчик на 1, иначе шли обычный.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.