Борьба за призовые места сейчас в самом разгаре, так что у вас еще есть шанс побороться за призы! Продолжаем серию наших "любимых" задача на двоичные деревья!
Продолжаем турнир задач! Вы ещё можете присоединиться к борьбе за призы! 💥 На очереди крутая задача на сравнение номеров версий! Вроде звучит просто, что ж, дерзайте!
🐇 Knock, knock. Время выбирать свой путь. На бесплатных демо-уроках онлайн-курсов «IoT-разработчик», «Алгоритмы и структуры данных» и «Подготовка к сертификации Oracle Java Programmer (OCAJP)»:
📌«Общие положения Интернета вещей»:https://otus.pw/FzB7/ Рассмотрим базовые принципы IoT, его вариации. Вспомним историю развития Интернета вещей, обсудим его возможное будущее, планы и прогнозы внедрения. Коснемся вопросов безопасности и проблем распространения IoT.
📌«Три алгоритма поиска шаблона в тексте»:https://otus.pw/nP4U/ Рассмотрим три популярных алгоритма поиска шаблона в тексте: Бойера-Мура, Кнута-Морриса-Пратта и Ахо-Корасика. Сравним их эффективность и решим олимпиадную задачу.
📌«Типы данных Java: Идентификаторы и примитивы»:https://otus.pw/oHf6/ Разберёмся с идентификаторами и примитивами в Java. Набьём руку на примерах, решив множество задач, аналогичных экзаменационным.
Регистрируйтесь сейчас — напомним в день вебинара!
Симметричный обход дерева весьма важный алгоритм. Он используется при решении многих задач. Например, с его помощью любое дерево поиска выводится в отсортированном порядке.
Итак, можно сначала удвоить число, а потом зачеркнуть последнюю цифру. А можно сделать наоборот - сначала зачеркнуть последнюю цифру, а уже потом удвоить число. Использую первый подход, можно удваивать число до тех пор, пока 1я цифра не станет равна 7. Дальше зачеркиваем все цифры, кроме первой и удваиваем. Например: 458, 916, 1832, 3664, 7328, 732, 73, 7, 14.
"Если ваша ошибка обошлась вашей компании в $10 000? Непрофессионал пожмет плечами, скажет: «Всякое бывает». Профессионал должен выписать своей компании чек на $10 000!"
● Не навреди функциональности: функциональность программ страдает от ошибок. Поэтому, одним из признаков профессионализма должно быть написание программ с минимальным количеством ошибок.
● Тестировщики не должны найти баг в вашем коде: непрофессионально передавать тестировщикам заведомо дефектный код. А какой код является заведомо дефектным? Любой, в качестве которого вы не уверены!
● Вы должны быть уверены в том, что ваш код работает: протестируйте код. Потом протестируйте еще раз.
● Автоматизированный контроль качества: какая часть кода должна тестироваться этими автоматизированными модульными тестами? Весь код! Весь. Без исключения.
● Не навреди структуре: добавление функциональности в ущерб структуре — последнее дело. Внесение изменений не должно приводить к непомерным затратам.