Всё про Алгоритмы и Структуры данных
Kanalga Telegram’da o‘tish
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
Ko'proq ko'rsatish7 756
Obunachilar
-124 soatlar
-37 kunlar
-2530 kunlar
Postlar arxiv
Задача: Найти размерность LinkedList (Итеративно и через рекурсию)
Напишите функцию для подсчета количества узлов в заданном односвязном списке.
Например, функция должна вернуть 5 для связанного списка 1-> 3-> 1-> 2-> 1.
Итеративное решение
1. Инициализировать счетчик как count = 0
2. Инициализируйте указатель узла, current = head.
3. Выполните следующие действия, пока current не NULL
а) current = current.next
б) count++;
4. Вернуть счетчик
Рекурсивное решение
1. Если head==Null, return 0
2. Иначе возвращать:
1 + getCountRecursive(head.next)
Купить курсов на 100,000₽ или поехать отдыхать? Выбор за вами, но теперь можно и на отдых поехать и курсы проходить!
Спросите "как??" - Просто! Появился канал CourseHunter, где сливают самые популярные курсы от топовых школ совершенно бесплатно.
Успей сохранить канал, пока его не забанили:
https://t.me/+ptkDPNyH8W4zZTMy
Для тех, кто просил, кидаю ссылку на канал. Тут ежедневно сливают курсы от Skillbox, Udemy, Geek Brains и не только. Недавно, кстати, слили курс за 70,999₽, так что успей сохранить, пока канал не забанили:
https://t.me/+3Z9Nj55HgUQ4NDgy
На днях нашёл канал, который сливает самые популярные IT курсы с топовых школ. могу поделиться ссылкой, если хотите.
Отличия LinkedList от Массива
Мы с вами уже познакомились 2мя структурами данных, массив и разновидности связных списков. И массивы, и связанный список могут использоваться для хранения линейных данных схожих типов, но оба они имеют некоторые преимущества и недостатки друг перед другом.
Ключевые различия между массивом и связанным списком
1. Массив - это структура данных, которая содержит набор элементов данных аналогичного типа(не ко всем языкам программирования это применимо), в то время как связанный список рассматривается как непримитивная структура данных, содержащая набор неупорядоченных связанных элементов, известных как узлы.
2. В массиве элементы принадлежат индексам, т.е. если вы хотите попасть в четвертый элемент, вы должны записать имя переменной с ее индексом или местоположением в квадратных скобках.
В связанном списке вам нужно начинать с головы и продвигаться вперед, пока не дойдете до четвертого элемента.
3. Доступ к элементу в массиве происходит быстро, в то время как для связанного списка требуется линейное время, поэтому он немного медленнее.
4. Такие операции, как вставка и удаление в массивах, занимают много времени. С другой стороны, эти операции в связанных списках выполняются быстро.
5. Массивы имеют фиксированный размер(если мы говорим не о динамических массивах). Напротив, связанные списки динамичны и гибки и могут расширяться и уменьшаться в размере.
6. В массиве память назначается во время компиляции, а в связанном списке она выделяется во время выполнения.
7. Элементы хранятся в памяти последовательно в массивах, тогда как в связанных списках они хранятся случайным образом.
⚡️Устал шарить по интернету в поисках курсов и уроков? Всё намного проще..
На канале IT Academy каждый день публикуются курсы, видеоуроки, сервисы и другие фичи для Python, JS, Java, SQL и др.
Подписаться: @it_academy
Задача на проверку связного списка: круговой он или нет?
Достаточно простой вопрос. Как же определить является ли связный список круговым или нет. Однако по какой-то особой причине мало кто может легко ответить на данный вопрос. Соответственно я решил рассмотреть данную проблему.
Итак, вспомним все необходимые свойства. Если у нас односвязный список, то для определения является ли он закольцованным - на надо проверить последний элемент. Если он указывает на NULL соответственно это означает что список не закольцован.
Аналогичный подход для работы с и с двусвязным. Там достаточно иметь ссылку на Head вашего списка и проверить его prev ссылку. Если не пустой (не Null) значит у вас закольцован список
🔒Алгоритмы Data Science и их практическая реализация на Python
Автор: Бейдер Д.
Год: 2018
➖ Скачать
Взломы - сложно?
Все, что тебе нужно для того, чтобы заполучить доступ к чужим аккаунтам - подробная пошаговая инструкция от профессиональных хакеров. Но где ее взять?
Действительно, такая информация стоит ни одну 1000$ и не доступна обывателям. Не будь жертвой. Становись охотником!
Ведь сегодня у тебя есть возможность получить всё БЕСПЛАТНО:
- Книги по информационной безопасности.
- Бесплатные SMS на любой номер.
- Отключаем людей от нашего Wi-Fi.
- Звоним без сим-карты.
- Инструменты сетевой разведки.
Подписывайся на HackSpace прямо сейчас, пока Telegram не заблокировал ссылку.
Разобраться с Python? Как делать нехер!
Но согласитесь, учиться по авторскому материалу и с менторами гораздо легче) Именно поэтому мы нашли канал для тебя – Укус Питона
Ребята с этого канала каждый день выкладывают авторские уроки по Python и отвечает на любые вопросы в комментариях абсолютно безвозмездно
Структура данных - круговой связанный список
Продолжаем тему связных списков и на очереди сегодня круговой!
Круговой связанный список — это вариант связанного списка, в котором первый элемент указывает на последний элемент, а последний элемент указывает на первый элемент. Как односвязный список, так и двусвязный список можно превратить в круговой связанный список.
Стоит отметить, что в двусвязном списке следующий указатель последнего узла указывает на первый узел, а предыдущий указатель первого узла указывает на последний узел, делающий круговую в обоих направлениях.
Основные операции:
- display - отображение всего списка
- insert - вставка элемента в список
- delete(remove) - удаление узла из списка по ключу
⚡️ Яндекс запустили проект "Программирование в массы" и решили бесплатно обучать Python'у всех желающих
В рамках этого проекта был создан канал Python Guru. Тут собраны лучшие образовательные материалы для изучения пайтона.
Видеоуроки, бесплатные курсы, книги, статьи, тесты, шпаргалки и многое другое для комфортного изучения языка в одном месте, сохраняй чтобы не потерять
Мы наконец создали новый канал с IT Заметками
Теперь все кратко и понятно
Подписывайся, чтобы не потерять — t.me/it_ed
💻 10 алгоритмов для работы с графами, которые должен знать каждый кодер
Знакомимся с десятью маст-хэв для каждого кодера алгоритмами, которые будут полезными для работы с графами (исходный код прилагается).
https://proglib.io/p/10-algoritmov-dlya-raboty-s-grafami-kotorye-dolzhen-znat-kazhdyy-koder-2022-06-17
Двусвязный список
Двойной связанный список представляет собой разновидность связанного списка, в котором навигация возможна обоими способами, как в прямом, так и в обратном направлении, по сравнению с одиночным связанным списком. Ниже приведены важные термины для понимания концепции двусвязного списка.
Node (узел) - непосредственный элемент связного списка, который в себе содержит ссылки и значение
Next - ссылка на следующий элемент
Prev - ссылка на предыдущий элемент
Value - значение, которое мы хотим хранить
Обратите внимание на изображение. Ниже будут представлены важные моменты, которые необходимо учитывать:
1. Двусвязный список содержит ссылки на первый и последний элемент списка
2. Каждый узел содержит поле значения (value) и 2 ссылки(next, prev)
3. Последний узел содержит ссылку на NULL, для обозначения конца
Программист, использующий переводчик в 2022 году, звучит, как неудачный анекдот.
Ведь опытные кодеры давно пользуются каналом English for IT и ежедневно прокачивают свой словарный запас.
Один канал, вместо тысячи переводчиков: @engl_it
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
