Рубрика «список»

Структура данных — это способ организации данных в компьютере, позволяющий прогерам эффективно и удобно их использовать. Структур данных существует достаточно много, и мы с Вами познакомимся с большинством из них — но пока будем двигаться с по порядку.

Список — это абстрактный тип данных, хранящий в себе упорядоченный набор значений. Обозначается через квадратные скобки [].

Способы инициализации

Список можно создавать разными способами — от прямого задания в исходном коде до использования функции list() или ввода данных с клавиатуры.

1. Пустой список

arr = []

Читать полностью »

Речь пойдет конечно же о списках с виртуализацией.

Немного теории

В классическом исполнении, списки включают в себя все элементы из коллекции. Другими словами, те элементы, которые не видны пользователю (находятся за пределами вьюпорта) все равно присутствуют в DOM дереве. А теперь представим, если список состоит допустим из 1 000 000 элементов, как это повлияет на производительность и ресурсоемкось? Ответ очевиден, пропорционально объёму коллекции будет расти ресурсопотребление и снижаться общая производительность.

Читать полностью »

Роскомнадзор опубликовал первую версию открытого списка интернет-страниц, на которых регулярно под видом достоверных сообщений распространяется заведомо недостоверная общественно значимая информация.

В первый список РКН были включены двадцать семь информационных источников, включая отдельные блоги, группы в социальных сетях (Facebook, ВКонтакте, Мой мир), а также каналы на видеохостинг YouTube. Каждый источник в составе списка два или более раз был упомянут в исполнительных документах Генеральной прокуратуры РФ, направленных в Роскомнадзор (РКН) с целью исполнения положений ст. 15.3 Федерального закона №149-ФЗ «Об информации, информационных технологиях и защите информации» (в части, касающейся распространения недостоверной общественно значимой информации).
Читать полностью »

Почему рейтингам Amazon (и прочих) нельзя доверять - 1

Многие интернет-магазины к Рождеству и Новому году делают подборки своих самых популярных товаров. Они призваны помочь пользователю выбрать подходящий товар. Особенно часто ими руководствуются родители, покупая подарки детям. Так проще понять, чем вообще сейчас интересуется молодое поколение.

Что уж там, мы и сами проводили анализ самых продаваемых продуктов на Amazon. И видели, что потом такие вещи через нас действительно стали заказывать чаще.

Так вот, таким подборкам, оказывается, верить нельзя.Читать полностью »

Открытый список PHP-событий, спикеров и организаторов на GitHub - 1

Думаем, вы заметили, что Skyeng активно участвует в жизни PHP-сообщества России. Но даже с нашими возможностями и ресурсами организовать или принять участие в мероприятии не в Москве или Питере бывает затруднительно. Еще сложнее приходится тем, кому есть чем поделиться с сообществом, но он просто не знает о существовании PHP-тусовки в своем городе или регионе.

Так что мы решили сделать полезную вещь: календарь мероприятий, связанных с PHP, а к нему приложить перечень площадок, заинтересованных компаний и спикеров в виде открытого репозитория на GitHub. Зачем нам это? Мы твердо знаем, что IT-жизнь есть и за пределами МКАД и КАД — в регионах — так что решили поделиться этой информацией со всеми желающими!
Читать полностью »

Привет! Я инди-разработчик и автор канала о разработке игр. Решил поделиться с вами интересными геймдев ресурсами в Телеграме, которые сам регулярно читаю. За последние 3 года появилось много классных сообществ и авторских блогов о разработке, которые раньше были только в ВК. Надеюсь, будет полезно!

Телеграм-каналы о разработке игр - 1

Читать полностью »

Художественные детские книги про социнжиниринг - 1

Привет!
Я три года назад читал в детском лагере лекцию про социнжиниринг, троллил детей и немного бесил вожатых. В итоге испытуемые спросили, что почитать. Мой дежурный ответ про две книги Митника и две книги Чалдини, вроде, убедителен, но только для примерно восьмиклассника и старше. Если младше — то надо сильно чесать голову.

В общем, ниже — очень короткий список самых обычных художественных произведений. Лёгких, простых, детских. Но про социальную инженерию. Потому что в каждой культуре есть персонаж-джокер, который немного психопат, немного шут и немного эффективный специалист. Список неполный, и я хочу попросить вас его продолжить. Читать полностью »

Приветствую вас!
После изучения коллекций, а именно такие реализации List, как ArrayList и LinkedList, возникла идея, а почему бы не объединить эти структуры данных в одну и посмотреть, что из этого получится.

Зачем это нужно?

  • Проблема ArrayList — у него есть начальный размер по умолчанию DEFAULT_CAPACITY или заданный размер initialCapacity, при превышении этого размера, создается новый массив большего размера, при этом туда копируются данные из старого массива, что по времени очень затратно и именно это дает в наихудшем случае алгоритмическую сложность O(n)
  • Проблема LinkedList — здесь наоборот, добавить новый элемент, это всего лишь добавить новую связь (создать еще одну Node и добавить ссылку на неё), но операция получения элемента по индексу очень затратна, т.к. нужно будет пройтись по всему списку от начала, что очень затратно и дает O(n)

Решение

Что если создать такую структуру данных, при которой вставка и получение любого элемента будет за константное время. Буду использовать технологию ArrayList без пересоздания массива, что конечно же проигрывает по памяти, но выигрывает в скорости, т.к. память дешевая и её очень много, выигрыш в производительности считаю приоритетным.
Для того чтобы связать их между собой, буду использовать двусвязный список:
Что будет если объединить ArrayList и LinkedList? - 1

Читать полностью »

+500 бесплатных инструментов для запуска вашего стартапа в 2017 году - 1

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

С другой стороны, в начале пути важно минимизировать издержки и внимательно следить за своими платными подписками. В конце месяца они могут незаметно вылиться в огромные накладные расходы.

Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку. Читать полностью »

Часть 1 Часть 2 Часть 3 Часть 4

imageЗаключительная часть моего цикла, посещенного работе с коллекциями. Данная статья самостоятельная, может изучаться и без предварительного изучения предыдущих.

Эта статья глубже и детальней предыдущих и поэтому может быть интересна не только новичкам, но и достаточно опытным Python-разработчикам.

imageБудут рассмотрены: выражения-генераторы, генераторы списка, словаря и множества, вложенные генераторы (5 вариантов), работа с enumerate(), range().
А также: классификация и терминология, синтаксис, аналоги в виде циклов и примеры применения.

Python: коллекции, часть 4-4: Все о выражениях-генераторах, генераторах списков, множеств и словарей - 3Я постарался рассмотреть тонкости и нюансы, которые освещаются далеко не во всех книгах и курсах, и, в том числе, отсутствуют в уже опубликованных на HabraHabr статьях на эту тему.

Оглавление:

1. Определения и классификация.
2. Синтаксис.
3. Аналоги в виде цикла for и в виде функций.
4. Выражения-генераторы.
5. Генерация стандартных коллекций.
6. Периодичность и частичный перебор.
7. Вложенные циклы и генераторы.
8. Использование range().
9. Приложение 1. Дополнительные примеры.
10. Приложение 2. Ссылки по теме.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js