metaclass: (Default)
[personal profile] metaclass
Пост http://victorgr.livejournal.com/502847.html напомнил одну штуку.

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

Если по хорошему, то надо бы это дело поправить. Хотя бы для того, чтобы при необходимости реализовать что-то были базовые строительные блоки в памяти - тогда проще найти нужную ассоциацию или аналогию.
Но вообще 99% моих задач - это отчетность, вся производительность которой упирается в скорость работы БД (а алгоритмы, используемые в БД, я как раз помню лучше других), CRUD, который упирается в различные вариации на тему ORM и "как показать пользователю объект для редактирования наиболее удобным образом", или же интеграция с разного рода кромешной индусятиной, где знание алгоритмов не нужно, зато нужно умение чинить баги по фотографии.

Date: 2012-08-16 06:57 pm (UTC)
From: [identity profile] falcrum.livejournal.com
Я бы даже по БД от сборника "100 алгоритмов, одобренных раввинатом" не отказался бы... :)

Date: 2012-08-16 06:59 pm (UTC)
From: [identity profile] victorgr.livejournal.com
Так 90% всех задач -- это собрать что-то из готовых кубиков и соединить трубами. Обычное строительство, кирпичи ложить. Скучно же.

Какие-нибудь суровые обработки данных - это сейчас где-то глубоко внутри яндексов, гуглов и фейсбуках. Ну конечно ещё где-то, но открытые вакансии прямо там.

Date: 2012-08-16 07:09 pm (UTC)
From: [identity profile] denisioru.livejournal.com
Трубы порой не сгибаются там где надо и сгибаются там где не надо. А диаметр может задаваться путем обматывания изолентой трубы снаружи, при этом (!) внутренний диаметр трубы увеличивается! Также, часто трубы идут уже заполненные монтажной пеной, которую перед использованием надо самому брать и выковыривать. Часто также, трубы идут приваренные к кубикам и болгаркой отпилить это дело не представляется возможным - в трубе сразу появляется дыра, сквозь которую ты видишь остатки монтажной пены. Иногда трубу (с кубиком, дырой от болгарки (попытка отпилить кубик) и изолентой сверху) надо закладывать кирпичами, причем кирпичи только трёх видов - маленькие (с наперсток), большие (с тумбочку размером) и в виде набора глины, воды, зажигалки и инструкции как собрать печь для обжига. И вот со всей этой пиздобратией - как-то надо жить.

Date: 2012-08-16 07:30 pm (UTC)
From: [identity profile] victorgr.livejournal.com
Так за это и деньги платят :)

Date: 2012-08-16 07:38 pm (UTC)
From: [identity profile] blackyblack.livejournal.com
Эм. Ну и давно ты свой алгоритм сортировки придумывал? Или хотя бы разбирался в существующей реализации?

Date: 2012-08-16 07:49 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Да хотя бы toposort с петлями портировать с хаскеля на F# - уже ебнутся можно :)

Date: 2012-08-16 07:55 pm (UTC)
From: [identity profile] aamonster.livejournal.com
Я вот несколько лет назад с удивлением открыл для себя кучи (пирамиды). До того почем-то думал, что heap sort - это сваливание всего в двоичное дерево и вываливание обратно в массив.

Date: 2012-08-16 08:20 pm (UTC)
From: [identity profile] familom.livejournal.com
Месяцев 9 назад разбирался с Timsort.

Date: 2012-08-16 07:27 pm (UTC)
From: [identity profile] raydac.livejournal.com
значит тебя загомосячат на собеседованиях вопросами про сложность

Date: 2012-08-16 07:32 pm (UTC)

Date: 2012-08-16 07:35 pm (UTC)
From: [identity profile] blackyblack.livejournal.com
Знать алгоритмы, в общем, полезно. Можно внезапно освоить нишу рынка, просто грамотно применив нужный алгоритм. Другое дело, что работа это разовая и в развитых странах для этого применяют мозговой штурм и высокооплачиваемых консультантов™.
Если же нужно просто в работе что-нибудь заоптимизировать, без выпендрежа, то применяется поиск в гугле и реализация алгоритма оттуда же. Дешево и сердито.

Date: 2012-08-16 08:16 pm (UTC)
From: [identity profile] nivanych.livejournal.com
Вот чиста любопытно, вот например, алгоритм Дейкстры тоже так прочитался?

Date: 2012-08-16 08:28 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Ага. Чтобы понять, какой алгоритм надо применять, надо сначала решить задачу. А потом выясняется, что улучшения и ускорения в конечном итоге ничего не дадут.

Date: 2012-08-16 09:16 pm (UTC)
From: [identity profile] nicka-startcev.livejournal.com
Дональд Кнут, Искусство погромирования. Один из томов посвящен именно что классическим алгоритмам и их плюсам/минусам.

сортировка, ГСЧ, итп.

Date: 2012-08-16 09:28 pm (UTC)
From: [identity profile] jakobz.livejournal.com
Кнут - пожалуй самое хреновое на рынке чтиво на эту тему. Там он какой-то свой язык изобретает долго и муторно. Потом структуры и алгоритмы все простые и известные.

Видал книжки гораздо ловчее.

Date: 2012-08-16 09:42 pm (UTC)
From: [identity profile] theiced.livejournal.com
кнут - убогость.

Date: 2012-08-17 06:02 am (UTC)
From: [identity profile] inhate.livejournal.com
Я прочёл первый том и расхотел программировать.

Date: 2012-08-16 10:13 pm (UTC)
From: [identity profile] divine-assass1n.livejournal.com
На coursera.org начался курс по алгоритмам принстонского университета, недели не прошло. Вчера поимел fun с первым programming assignmet.

Date: 2012-08-17 12:04 am (UTC)
From: [identity profile] theiced.livejournal.com
я тоже решил его посмотреть но что то мне кажется что слишком простой.

Date: 2012-08-17 05:28 am (UTC)
From: [identity profile] familom.livejournal.com
Бери natural language processing — сделан хорошо и практические таски отличные, местами брутальные.
Курс не слишком простой и на него есть смысл тратить время.

Date: 2012-08-17 08:09 am (UTC)
From: [identity profile] divine-assass1n.livejournal.com
пока простоват, да.

Date: 2012-08-17 07:51 am (UTC)
From: [identity profile] freiksenet.livejournal.com
Корман - тоненькая книжка на 500 страниц. Вполне себе можете прочитать и все базовые алгоритмы у вас будут.

Date: 2012-08-17 03:59 pm (UTC)
From: [identity profile] bydl0coder.livejournal.com
Чего? В нем 1300 страниц заполненных матаном.

Date: 2012-08-17 05:08 pm (UTC)
From: [identity profile] freiksenet.livejournal.com
И правда больше чем 500.

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

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 31st, 2025 01:34 am
Powered by Dreamwidth Studios