Найти в Дзене
Введение в связанные списки в Python
Связанный список (linked list) – это структура данных, представляющая собой линейную последовательность элементов, каждый из которых содержит данные и ссылку на следующий элемент списка. В отличие от массивов или встроенных типов данных Python, таких как списки (list) или кортежи (tuple), элементы связанного списка не располагаются последовательно в памяти компьютера; вместо этого они связаны друг с другом через указатели. Существует несколько видов связанных списков: 1️⃣Односвязные (singly linked lists): Каждый узел хранит ссылку только на следующий узел...
2 месяца назад
Сложность списков в Python
Во многих языках программирования есть такая структура данных - массив. В Python это список. Все им пользуются он удобен и прост. Основная суть данной структуры - последовательное хранение определенного набора элементов. Это как большая коробка, которая хранит в себе предметы поменьше. list_example: list[int] = [1, 2, 3, 4] Если брать память - то это набор ячеек в которые мы можем поместить какие-то данные. И вот тут как раз таки появляется проблема, о которой мало кто задумывается, используя списки...
2 месяца назад
Как угадать число от 1 до 100 за 7 шагов (максимум)
Я вам обещал,что покажу как угадать число от 1 до 100 всего за 7 шагов (в самом худшем случае). Если вы читали пост выше - то уже знаете ответ на данный вопрос. С помощью бинарного поиска мы каждый раз уменьшаем диапазон чисел в 2 раза. Давайте представим самый плохой сценарий - пользователь может говорить больше или меньше загаданное число названного нами. Загадываем 100. Если помните - основная суть, называть число из середины диапазона (номер указывает на количество попыток): 1. Начнем с 50 (пользователь говорит больше) 2...
2 месяца назад
Сложность бинарного поиска
Недавно мы рассмотрели алгоритм линейного поиска. Он заключается в последовательном переборе элементов до нахождения нужного. Однако этот метод имеет существенный недостаток: если нужно найти число в большом списке, придется проверить каждый элемент. Например, при поиске миллиона в списке из миллиона чисел потребуется выполнить миллион итераций. Но что, если каждый раз отсекать половину списка? Тогда на поиск уйдет значительно меньше шагов. Для этого используется бинарный поиск. Его суть в том, что на каждом этапе выбирается средний элемент списка...
2 месяца назад
Сложность простого поиска
В программировании есть концепция сложности алгоритмов. Она показывает, сколько операций потребуется в наихудшем случае для достижения результата. Принятое обозначение O() [о большое] Сравнивая сложность двух алгоритмов, можно выбрать наиболее подходящий для конкретной задачи. Давайте рассмотрим пример простого поиска перебором: def simple_search(digit_list: list[int], need_digit: int) -> tuple[int | None, int]: """ Простой поиск вхождения числа перебором. Если значения нет -None ...
2 месяца назад
Урок 4. Гипертекст. Структура HTML
это язык разметки, специально разработанный для создания гипертекстовых документов. Он определяет структуру и содержание веб-страниц, делая их доступными и навигируемыми. В этом определении есть термин «гипертекст», который может вызвать затруднения в понимании. это текст, содержащий интерактивные элементы, называемые гиперссылками. Эти ссылки позволяют пользователям мгновенно переходить между различными документами или разделами внутри одного документа. Гипертекст встречается не только в интернете, но и в документах Word...
2 месяца назад
Урок 3. Веб-страница, веб-сайт, тег, элемент, атрибут
Представьте, что веб-страница — это как отдельный лист бумаги в очень большой книге, которая называется Интернет. На этом листе может быть написан текст, нарисованы картинки, или даже быть кнопки, по которым можно кликнуть. Эта "бумага" — на самом деле, файл с текстом и специальным кодом (HTML). Чтобы увидеть, что на ней написано или нарисовано, вам нужна специальная программа — браузер. Это может быть Chrome, Firefox, Safari или любой другой. Браузер читает код и показывает вам красивую картинку...
3 месяца назад
Урок 2. Программирование. Языки. BackEnd, FrontEnd и Full Stack
Программирование — это фундаментальная основа, на которой построен весь цифровой мир. Существует более 700 активных языков программирования, и в 2023 году насчитывалось более 28,5 миллионов разработчиков по всему миру. Рынок услуг по разработке программного обеспечения оценивается в 433 миллиарда долларов. это как инструкция для компьютера, написанная на понятном ему и человеку языке. Представь, что компьютер — это очень исполнительный, но очень глупый робот. Он не понимает человеческую речь, жесты или намёки...
3 месяца назад
Урок 1. Установка программ
Интерпретатор языка Python. Позволяет писать код и исполнять его из консоли или других инструментов разработки Важно при установки установить 2 галочки. Если не поставить нижнюю (добавление в переменные среды окружения), это можно будет сделать через свойства ПК - Переменные среды окружения. СУБД PostgreSQL позволяет создавать, управлять и работать с базо данных. Ссылка на загрузку видна не с первого раза! Необходимо убрать галочку с пункта "Stack Builder". Важно запомнить пароль, введенный на данном этапе...
3 месяца назад
Переход к безкодовому и низкокодовому программированию
🚀 В последние годы все большее значение приобретает разработка платформ для безкодовового и низкокодовового программирования. Эти платформы позволяют создавать различные приложения и информационные системы без необходимости глубоких знаний в области программирования, что значительно ускоряет процесс разработки и расширяет участие в создании технологий для wider аудитории. 🏁 В результате, переход к безкодовому...
4 месяца назад
Взаимодействие человека и машины — будущее интерфейсов
Современные технологии постоянно развиваются, и одним из ключевых направлений является создание более естественных и интуитивных методов взаимодействия с программным обеспечением. Традиционные интерфейсы, основанные на клавиатуре и мыши, все реже соответствуют потребностям пользователей, особенно в эпоху мобильных устройств и умных систем. Появление новых способов взаимодействия включает: Из-за развития технологий распознавания речи и искусственного интеллекта голосовые ассистенты (например, Siri,...
4 месяца назад
Функциональное программирование (ФП)
это парадигма программирования, основанная на использовании математических функций, избегая состояния и побочных эффектов. Она делает акцент на чистых функциях, иммутабельности данных и декларативном стиле. Рассмотрим основные преимущества и области применения в современных проектах. 🗼 Функциональное программирование...
4 месяца назад