Ответы пользователя по тегу Алгоритмы
  • Чем плоха вставка в массив в заданную позицию?

    @ddd329
    Приветствую!

    Если отвечать прямо на поставленный вопрос, то это плохо тем, что в среднем половину элементов придется сдвигать.

    Вопрос почти философский, и есть ли алгоритмы более лучше чем которые я описал?

    Если вам необходимо поддерживать данный массив в отсортированном виде, то здесь нужен не алгоритм, а другая структура данных - двоичное (бинарное) дерево. Там вам быстрый поиск и вставка обеспечена.

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

    В .Net Framework над массивом реализован абстрактный тип данных (АТД) - список, т.е. List. Так вот там при создании пустого списка, массив имеет длину 4 элемента, если необходимо будет вставить 5-ый элемент, то длина массива просто увеличивается в 2 раза, и станет равна 8-ми. Вставишь 9-ый элемент, то размер увеличиться до 16 и т.д.
    Ответ написан
    Комментировать
  • Литературу или курсы по алгоритмам?

    @ddd329
    Очень хорошая книга по алгоритмам которую я видел - это "Структуры данных и алгоритмы в Java" Лафоре Роберт. Пусть вас не смущает что написано "в Java", там этот язык только для примера дан. Лучшей книги пока что не видел.

    Про книгу "Грокаем алгоритмы" могу сказать что это дерьмо собачье, непонятно откуда столько хвалебных отзывов, книга наполнена какими-то дебильными и не связными рисунками, я понимаю что автор хотел, но у него это плохо получилось.
    Ответ написан
    Комментировать