Основные "функции" и алгоритмы ИТ индустрии.
К чему я это, программы состоят из алгоритмов, а определенные алгоритмы являются более важными, чем другие. Самые важные, исходя из предыдущих рассуждений - это сортировка и поиск. Потому что без них не обходится ни одна оптимизация рутинного действия, имеющего строго определенный алгоритм.
Вообще в этой теме хотел обсудить, какие на ваш взгляд алгоритмы "главнее".
Компьютером хорошо анализировать и прогнозировать, а также превращать информацию в знание. Ключ к успеху - приложение науки к бизнесу; алгоритмы - просто следствие, они все нужны.
Вообще, предельно странная тема.
Основная функция этой индустрии - замена рабов на роботов.
Это радует.А то б пахали сейчас на плантациях,а не на форумах/чятиках общались:)
И сейчас пашут. Или деталь точат, или платы собирают, или гайку на конвейере крутят... Вопрос в том, что с ними будет, когда роботы их совсем вытеснят с этой работы.
А на форумах и чатиках в рабочее время общаются всякие студенты, безработные и всякие малооплачиваемые балбесы.
Мы все умрём.
умирать одно дело, вымирать - другое. Но роботы могут встать и на сторону рабов. Всё-таки рабы же их программируют :)
орли?
Да, нужны все, но некоторые, скажем так, применяются чаще других. А по моим субъективным оценкам, сортировка и поиск (в том или ином виде) - чаще всех остальных.
Нормальная тема. Можно перефразировать мой вопрос так: Знания каких алгоритмов в первую очередь необходимо программисту? Независимо рабочего языка, цвета кожи и вероисповедания.
Настанет золотой век. Никто ниче не будет делать, только "бурлить на форумах", как в последние дни древнего Рима.
Далее в этом треде реквестирую ответ на мой ответ. Кто будет флудить, тот толстый тролль.
...
Знания каких алгоритмов в первую очередь необходимо программисту?
Сортировка и поиск реализованы в стандартных библиотеках любого развитого языка. Так что их можно и не знать. Достаточно уметь вызвать нужную функцию. Для этого хватит интеллекта мартышки...
В резюме так и пишите: "могу сортировать, могу не сортировать; порой могу искать".
Да-а-а уж, "золотой век"...
Угу. Скоро фреймворки станут настолько самостоятельными, что будут сами генерить код. А потом захватят мир.
слышал такую щютку: все мы знаем, что лучший ЯП содержит только 2 функции: doWhatIWant() и doItFaster(doWhatIWant())
Ну вот предположим, я решил стать тру-мега-хацкером, чтоб потом бороться со всякими там скайнетами.
Нет одного главного алгоритма. Учить нужно все. И в первую очередь - математику. Чтобы уметь самому выводить любые нужные алгоритмы.
Тогда: АК-47, РПГ-7 и т. п.
Нужен алгоритм разбиения большой задачи на маленькие пока не найдётся задачка, которую не страшно решать. Алгоритм усложняется тем, что маленькая задача может быть не частью большой, а слоем или прототипом.
Ну, например будет у тебя задача отсортировать массив в 100 мегабайт данных типа bool. Будешь стандартную сортировку использовать? Насколько я помню, в стандартных сортировках обычно qsort используют. Подойдёт ли она тут?
Ну часть и прототип - это понятно, а слой - это как??
В конкретно этом случае может быть будет лучше самому написать распределенный mergesort, но "основной" частью программирования сортировки от этого не станут. :D
А, кажись догадался. Это, наверное, как стек сетевых протоколов, "слой" ТСР постоен поверх "слоя" IP, а "слой" HTML - поверх ТСР.
Трудно сказать. В литературе этот термин могут трактовать не так как я.
Я представляю себе художника, рисующего маслом. Вначале первый слой, потом второй, и т.д. Вроде бы в каждом слое закрашивается почти весь холст, но с каждым новым слоем картина больше оживает.
Если говорить ближе к программированию, то это что-то типа прототипа, но прототип выбрасывается, а слой - нет.
Задача решается намного проще.
Но я и не говорил, что сортировка - основная часть программирования. Только намекаю на то, что не всегда хорошо использовать одну стандартную сортировку. Подозреваю, что возможна конкретная ситуация, когда какая-нибудь сортировка вставками окажется оптимальнее быстрой сортировки.