A

Jan 04, 2020 08:23

Вчера мне надо было сдать программное задание третьей недели курса. В приципе, программные задания на каждой неделе достаточно непростые (в отличие от квизов, где просто галочки проставить), но вот вчерашнее было совсем край: требовалось написать quicksort, но не абы как, а в точности как объяснял профессор на видео (тут надо уточнить, что он объяснял только половину решения, а до второй половины мы вроде как должны сами додуматься), потом отсортировать массив из 100 тысяч элементов и посчитать количество сравнений, выполненных твоей программой, причем в трех вариантах: если пивот первый элемент, последний элемент и median of three.

Существует громадное множество разных вариантов квиксорта, в каждом из которых немного отличаются детали, плюс это еще от языка зависит. Например, на питоне никак нельзя заменять элементы прямо в списке, не создавая при этом новых копий списка. А в джаваскрипте вот можно сделать swap in place, поэтому я и решала на джаваскрипте (в отличие от всех остальных заданий, которые решала на питоне).

Но в общем, главная засада была в том, что моя программа сортировала список корректно, но выдавала неверное количество сравнений. Меня это бесило - просто жуть! Квиксорт написан? написан! Список отсортирован? отсортирован! Ну какое значение в реальном мире имеет точное количество сравнений, затребованное в задании?! Вот почему я не хочу возвращаться в учебу. В какой-то момент формализм неизбежно заменяет собой суть, и если это воспринимается в целом нормально, когда тебе 16-20 лет, то в 35 уже бесит. Особенно когда очень мало времени и так жалко его тратить на подгон своего ответа под достаточно субъективные требования курса.

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



В общем, этот курс я конечно же закончу, но на полноценное второе высшее нафиг не пойду :) Этих нескольких недель мне вполне хватило, гг. 13 января надо сдать последнее программное задание, получить сертификат, с гордостью повесить его на линкедин и - back to work.

курсера, программирование, учеба

Previous post Next post
Up