Бренда справилась быстро. Взяла мел и написала белым по зеленому примитивный пузырьковый алгоритм на Паскале. Всё по ТЗ, как по мне.
– Сэр, прежде чем вы что-то скажете, я хочу поймать вас на слове – речь шла о простейшем алгоритме, мисс Бойл его и продемонстрировала. На мой взгляд – безупречно.
Толстушка посмотрела на меня с благодарностью. Вот как чувствует себя Лео, выступая в суде, наверное.
– Конечно, на ваш взгляд, вы же эксперт, – рассмеялся Гарланд.
Расисты-сексисты из зала охотно подхватили. Уроды.
– Позвольте, я докажу свой уровень компетентности, – не удержался я от хищной улыбки. – Мисс Бойл, передайте мне мел.
Глава 15
Ох не зря я вспоминал алгоритм быстрой сортировки, когда начинал играться с Си. Его и воспроизвел на доске, собственно, на языке, созданном Деннисом Ритчи. Си не умрёт никогда – так и знай, на нас работы хватит, не переживай.
Квиксорт – самая-самая классика задач упорядочивания массива. Он и в новейшем времени актуален, но уже не совсем в чистом виде.
Никаких революций и фурора написанный мной на доске алгоритм совершить не должен, его придумали еще в какие-то лохматые времена, чуть ли не в шестидесятых, но вот доказать мою собственную компетентность безупречный код на Сях обязан. И утереть нос расисту-аспиранту, да. Пусть весь мой опыт и говорит о том, что так легко “белый господин” обезьянку из гетто за равного не признает. Но с тем же Миллером в итоге удалось контакт наладить.
Группа поддержки из зала притихла. Когда какой-то там унтерменьш вдруг начинает демонстрировать неожиданные навыки, они всегда затыкаются. Сэм смотрел на мой код с прищуром и недоверием.
– Для чего нужно вот это условие? – ткнул он подобранной со стола указкой в третье ключевое ветвление.
– Проверка на то, что элемент равен опорному. Без нее будет медленно работать на массивах с большим количеством повторяющихся чисел.
– В классическом варианте быстрой сортировки нет проверки на равенство, только на больше и меньше. Вы сами придумали модификацию?
Конечно, не сам. Квиксорт ведь до моего рождения изобрели. Мы его в нашем политехе досконально разбирали и я за каждую строчку поручиться готов. Между прочим, мне есть, как алгоритм улучшить. На коротких массивах до десяти чисел лучше использовать простую сортировку подстановкой, поэтому доцент говорил нам иметь две функции и вызывать ту, что сработает быстрее.
– По большей части да, мы придумали этот алгоритм вместе с мисс Джулай, когда она обучала меня языку Си, – вспомнилась старая отмазка.
Очень не хочется прослыть плагиатором, но если вдруг какой-нибудь умный дядька, тот же самый, что придумал доработку в реальности, вдруг уже изобрел то же самое, то объясню тем, что мысли у умных людей сходятся. Моральная сторона вопроса еще остаётся. Я, получается, какого-то академика обокрал. Может, даже кого-то уровня Вирта или Дейкстры.
– Вы должны понимать, что дополнительное ветвление – это накладные расходы, – еще раз посмотрел на доску Гарланд.
– Все зависит от исходных данных, сэр. Мы с мисс Джулай пришли к выводу, что в большинстве реальных случаев доработанная нами версия покажет себя лучше.
– Да кто она вообще такая?
– Мисс Джулай – это наша соседка из Лос-Анджелеса. Она научила меня играть в шахматы и программировать. Моя наставница, если угодно. Так мы с мисс Бойл доказали нашу состоятельность?
– Да-да, конечно, давайте ваши бланки, – рассеянно пробормотал Гарланд. По его лицу видно, что он уже мысленно в компьютере, вбивает мой код в терминал и оценивает эффективность.
Оба мы получили свои подписи в заявлениях о приёме на курс. Теперь придется вернуться в канцелярию и потратить сто баксов за сомнительную честь продолжить посещать курсы по языку, и так мне превосходно известному.
– Парень… Колон, – заглянул в бланк аспирант, – твой алгоритм выглядит любопытно, я пойду проверю его на стенде, на следующем занятии скажу результаты.
– Он называется джулайсорт, в честь моей наставницы, – поправил я его.
– Ага, как скажешь, твоё право назвать, как угодно, – совсем по-дружески хихикнул парень.
Вся прежняя враждебность Сэма куда-то ушла. Как же приятно ставить на место этих расистов, прямо хоть в МЕЧА вступай ради одного этого. Но это дурной путь, не мой. Да и для предвзятости могут иметься вполне разумные основания.
– Дождись меня, хорошо? Есть разговор, – сказал я Бренде, когда она собралась уходить и получил утвердительный кивок.
Блондинка поджидала меня у выхода из учебного класса.