Giter Site home page Giter Site logo

redb0 / aads Goto Github PK

View Code? Open in Web Editor NEW
18.0 18.0 16.0 8.02 MB

Algorithms and data structures

License: MIT License

Cython 0.06% Jupyter Notebook 99.94%
algorithm algorithms algorithms-and-data-structures computer-science data-structures practice-programming programming python python-algorithms teaching

aads's People

Contributors

arud3nko avatar electro98 avatar frootin avatar infern397 avatar kuwairo avatar redb0 avatar teenjuna avatar waffflezz avatar zzarryadd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

aads's Issues

Хеш-функция в практической работе №3

В практической работе №3 в варианте с алгоритмом Рабина-Карпа заменить использование встроенной хеш-функции на реализацию полиномиального кольцевого хеша

Тесты для ПР №1 на время выполнения метода insert

Для практической работы №1 добавить тесты на время выполнения метода insert. Сравнение проводить со стандартной реализаций insert в модуле array.

Для минимизации влияния сдвига последовательно удалять последний элемент.

Тест необходим для проверка перевыделения памяти.

Тесты для ЛР1 на время выполнения метода remove

Для практической работы №1 добавить тесты на время выполнения метода remove. Сравнение проводить со стандартной реализаций remove в модуле array.

Для минимизации влияния сдвига последовательно удалять последний элемент.

Тест необходим для проверка перевыделения памяти.

Тесты для ЛР№1 на время выполнения метода pop

Для практической работы №1 добавить тесты на время выполнения метода pop. Сравнение проводить со стандартной реализаций pop в модуле array.

Для минимизации влияния сдвига удалять последний элемент.

Тест необходим для проверка перевыделения памяти.

Дополнительные тесты для массива

Необходимо добавить тесты для следующих случаев:

  • remove - удаление элемента, которого нет в массиве, должно возбуждать ValueError
  • append - при добавлении элемента неподходящего типа, например 1.5 в массив типа i или 'qwe', должно возбуждать TypeError
  • Индексация a[1.5] или a['qwe'] должна возбуждать исключение TypeError
  • append со значением 999999999999999 должно возбуждать OverflowError при этом массив должен остаться неизменным
  • Выражение a[0] = 99999999999999999999999999 должно возбуждать OverflowError при этом массив должен остаться неизменным
  • Метод pop без аргумента должен удалять последний элемент

Тесты для бинарного поиска

В практической работе №1 добавить тест для бинарного поиска следующего плана:

  • входные данные: [1, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4]
  • выходные данные: 3

Уменьшить константу времени выполениния метода `append`

В тестах метода append к практической работе №1 уменьшить константу поправки времени выполнения с 2.5 до 2.

Связано с тем, что иногда время выполнения все таки удовлетворяет требованиям при перевыделении памяти на 1 ячейку больше.

Тесты для массива

В практической работе №1 добавить следующие тесты для массива:

  1. Метод remove (тест на удаление именно первого вхождения):
  • входные данные: [1, 2, 3, 2, 1, 2], удаляется 2
  • результат: [1, 3, 2, 1, 2]
  1. Создание массива без инициализации:
  • тест на создание массива только с указанием типа данных, без передачи коллекции для инициализации
  1. Тест на дробный индекс в __setitem__ - должен возбуждать исключение TypeError

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.