Skip to content

ArtLkv/struct_mirea

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Сделано

Задача 1 - Selection Sort

Мы берем первый элемент массива, и бегаем по всему оставшемуся массиву в поисках числа меньше нашего первого элемента. Когда мы пробегаем весь массив, если меньшее число найдено — меняем его местами с первым элементом.

Задача 2 - Quick Sort

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

Задача 3 - Merge Sort (узнать простая или естественная)

Сначала делим список на кусочки (по 1 элементу), затем сравниваем каждый элемент с соседним, сортируем и объединяем. В итоге, все элементы отсортированы и объединены вместе.

Задача 4 - Barrier Search

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

Задача 5 - Binary Search

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

Задача 6 - Simple String Searching

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

Задача 7.1

Реализовать однонаправленный список со след функциями:

  • Узел списка с информационной частью int
  • Добавление узла(Push)
  • Вывод списка(PrintSequence) Реализация варианта 1:
  • Создать на основе алгоритма два списка L1 и L2(наполняем содержимым, я наполнил рандомным)
  • Создать на основе алгоритма список L, включим в него по одному разу элементы двух предыдущих списков.

Задача 7.2

Реализовать двунаправленный список со след функциями:

  • Узел списка с динамачиеской информационной частью(Для узла списка надо использовать struct)
  • Вывод списка в двух направлениях
  • Поиск вхождений в списке(возвращает указатель)
  • Добавление элемента в список
  • Удаление элемента из списка
  • Программа должна отдельно выводить выполнения всех требуемых операций(Вывод, Поиск) и выполнять вариант задания Реализация варианта 1:
  • Добавление элемента по номеру зачетной книжки(id)
    • Если такой id имеется, то вставить перед первый элементов с таким же id
    • Если такого id нет, то вставить перед элементом с большим id
    • Если такого id нет и id всех элементов меньше, то ничего не делать
  • Удаление элемента по группе(или по оценке)
  • Сформировать новый список из оценок 'неуд'

Задача 8

Реализовать стек со следующими функциями:

  • Узел стека с динамачиеской информационной частью
  • Добавить элемент в стек
  • Убрать элемент из стека
  • Получить значение узла стека
  • Проверить пуст ли стек Реализация варианта 2:
  • Реализовать решение задачи со стеком
  • Реализовать решение задачи без стека

About

MIREA Course: Structures and Algorithms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages