From 4d96a07c4e89f5fa060ff8d86de670b915904a8d Mon Sep 17 00:00:00 2001 From: sh1buya <92878896+sh1buya@users.noreply.github.com> Date: Mon, 17 Jun 2024 22:52:23 +0000 Subject: [PATCH 1/7] delete unsed files --- doc/topic1(question 6, 7, 8).md | 97 +++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 doc/topic1(question 6, 7, 8).md diff --git a/doc/topic1(question 6, 7, 8).md b/doc/topic1(question 6, 7, 8).md new file mode 100644 index 00000000..3eae8177 --- /dev/null +++ b/doc/topic1(question 6, 7, 8).md @@ -0,0 +1,97 @@ +# Стеки, Очереди, Деки (C++) + +## Стек + +### Определение + +Стеком (англ. stack) называется хранилище данных, в котором можно работать только с одним элементом: тем, который был добавлен в стек последним. Стек должен поддерживать следующие операции: + +- `push`: Добавить (положить) в конец стека новый элемент. +- `pop`: Извлечь из стека последний элемент. +- `back`: Узнать значение последнего элемента (не удаляя его). +- `size`: Узнать количество элементов в стеке. +- `clear`: Очистить стек (удалить из него все элементы). + +### Структура данных Stack + +- stack(); // Конструктор +- ~stack(); // Деструктор +- void push(int d); // Добавить в стек новый элемент +- int pop(); // Удалить из стека последний элемент и вернуть его значение +- int back(); // Вернуть значение последнего элемента +- int size(); // Вернуть количество элементов в стеке +- void clear(); // Очистить стек + + +## Очередь + +### Определение + +Очередью (англ. queue) называется структура данных, в которой элементы кладутся в конец, а извлекаются из начала. Первым из очереди будет извлечен тот элемент, который будет добавлен раньше других. + +### Структура данных Queue + +- queue(); // Конструктор +- ~queue(); // Деструктор +- void push(int d); // Добавить в очередь новый элемент +- int pop(); // Удалить из очереди первый элемент и вернуть его значение +- int front(); // Вернуть значение первого элемента +- int size(); // Вернуть количество элементов в очереди +- void clear(); // Очистить очередь + +## Дек + +### Определение + +Деком (англ. deque – аббревиатура от double-ended queue, двухсторонняя очередь) называется структура данных, в которую можно удалять и добавлять элементы как в начало, так и в конец. + +### Структура данных Deque + +- push_front Добавить (положить) в начало дека новый элемент +- push_back Добавить (положить) в конец дека новый элемент +- pop_front Извлечь из дека первый элемент +- pop_back Извлечь из дека последний элемент +- front Узнать значение первого элемента (не удаляя его) +- back Узнать значение последнего элемента (не удаляя его) +- size Узнать количество элементов в деке +- clear Очистить дек (удалить из него все элементы) + + +## Упражнения + +### Упражнение A - Простой стек + +- Реализуйте структуру данных "стек", реализовав все указанные методы. +- Напишите программу (функцию main), содержащую описание стека и моделирующую работу стека. + +### Упражнение B - Стек с обработкой ошибок + +- Аналогично предыдущему заданию, только снимается ограничение на корректность вызовов методов back и pop. + +### Упражнение C - Стек без ограничения на размер + +- Реализуйте стек динамического размера, то есть ограниченный только объемом свободной оперативной памяти. + +### Упражнение D - Простая очередь + +- Реализуйте простейшую очередь, размер которой не превосходит 100 элементов. + +### Упражнение E - Очередь с обработкой ошибок + +- Аналогично заданию B, но для очереди. + +### Упражнение F - Очередь без ограничений на размер + +- Аналогично заданию C, но для очереди. + +### Упражнение G - Простой дек + +- Аналогично заданиям A и D, но для дека. + +### Упражнение H - Дек с обработкой ошибок + +- Аналогично заданиям B и E, но для дека. + +### Упражнение I - Дек неограниченного размера + +- Аналогично заданию C и F, но для дека. From 6384edf6b1c07fdae5c93201f3261bd46c81f030 Mon Sep 17 00:00:00 2001 From: sh1buya <92878896+sh1buya@users.noreply.github.com> Date: Mon, 17 Jun 2024 22:59:07 +0000 Subject: [PATCH 2/7] additional tasks --- additional_tasks/task1(math).md | 41 +++++++++++++++++++++++++++++++++ additional_tasks/task2(dp).md | 21 +++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 additional_tasks/task1(math).md create mode 100644 additional_tasks/task2(dp).md diff --git a/additional_tasks/task1(math).md b/additional_tasks/task1(math).md new file mode 100644 index 00000000..f9d99a99 --- /dev/null +++ b/additional_tasks/task1(math).md @@ -0,0 +1,41 @@ +# Артем (Гостев) и красивые пары троек + +## Задача +Артему (Гостеву) подарили массив `a` из `n` целых чисел. Ему очень нравятся тройки чисел, поэтому для каждого `j` (`1≤j≤n−2`) он выписал тройку из элементов `[aj,aj+1,aj+2]`. + +Артем (Гостев) считает пару из троек `b` и `c` красивой, если они различаются ровно в одной позиции, то есть выполняется одно из следующих условий: +- `b1≠c1` и `b2=c2` и `b3=c3` +- `b1=c1` и `b2≠c2` и `b3=c3` +- `b1=c1` и `b2=c2` и `b3≠c3` + +Найдите количество красивых пар троек среди выписанных троек `[aj,aj+1,aj+2]`. + +## Входные данные + +Первая строка каждого набора содержит одно целое число `n` (`3≤n≤2⋅10^5`) — длину массива `a`. + +Вторая строка каждого набора содержит `n` целых чисел `a1,a2,…,an` (`1≤ai≤10^6`) — элементы массива. + +## Выходные данные + +Выведите одно целое число — количество красивых пар троек среди пар вида `[aj,aj+1,aj+2]`. + +### Входные данные + +Первая строка содержит одно целое число `n` (`3≤n≤2⋅10^5`) — длину массива `a`. + +Вторая строка содержит `n` целых чисел `a1,a2,…,an` (`1≤ai≤10^6`) — элементы массива. + +## Пример + +- 5 +- 3 2 2 2 3 + +## Примечание + +В примере `a=[3,2,2,2,3]`, Поликарп выпишет следующие тройки: +- `[3,2,2]` +- `[2,2,2]` +- `[2,2,3]` + +Красивыми парами являются тройка 1 с тройкой 2 и тройка 2 с тройкой 3. \ No newline at end of file diff --git a/additional_tasks/task2(dp).md b/additional_tasks/task2(dp).md new file mode 100644 index 00000000..1308304c --- /dev/null +++ b/additional_tasks/task2(dp).md @@ -0,0 +1,21 @@ +# Ход конем + +## Формулировка задачи + +Дана прямоугольная доска размером `n x m` (н строк и m столбцов). В левом верхнем углу находится шахматный конь, который должен быть перемещен в правый нижний угол доски. Конь может двигаться только на две клетки вниз и на одну клетку вправо, или на две клетки вправо и на одну клетку вниз. Необходимо определить, сколько существует различных маршрутов, которые позволяют коню дойти от левого верхнего угла до правого нижнего. + +## Формат входных данных + +Первая строка входного файла содержит два натуральных числа `n` и `m`, разделенные пробелом (`1 <= n, m <= 50`) - размеры доски. + +## Формат выходных данных + +Вывести одно целое число - количество способов добраться конём до правого нижнего угла доски. + +## Пример + +**Ввод:** +- 4 4 + +**Вывод:** +- 2 \ No newline at end of file From 9dfdc25d1cb8105ec07347f0762e93d24d388e43 Mon Sep 17 00:00:00 2001 From: sh1buya <92878896+sh1buya@users.noreply.github.com> Date: Mon, 17 Jun 2024 23:07:51 +0000 Subject: [PATCH 3/7] fix --- additional_tasks/task1(math).md | 41 -------------- additional_tasks/task2(dp).md | 21 ------- doc/topic1(question 6).md | 34 ++++++++++++ doc/topic1(question 6, 7, 8).md | 97 --------------------------------- doc/topic1(question 7).md | 27 +++++++++ doc/topic1(question 8).md | 29 ++++++++++ 6 files changed, 90 insertions(+), 159 deletions(-) delete mode 100644 additional_tasks/task1(math).md delete mode 100644 additional_tasks/task2(dp).md create mode 100644 doc/topic1(question 6).md delete mode 100644 doc/topic1(question 6, 7, 8).md create mode 100644 doc/topic1(question 7).md create mode 100644 doc/topic1(question 8).md diff --git a/additional_tasks/task1(math).md b/additional_tasks/task1(math).md deleted file mode 100644 index f9d99a99..00000000 --- a/additional_tasks/task1(math).md +++ /dev/null @@ -1,41 +0,0 @@ -# Артем (Гостев) и красивые пары троек - -## Задача -Артему (Гостеву) подарили массив `a` из `n` целых чисел. Ему очень нравятся тройки чисел, поэтому для каждого `j` (`1≤j≤n−2`) он выписал тройку из элементов `[aj,aj+1,aj+2]`. - -Артем (Гостев) считает пару из троек `b` и `c` красивой, если они различаются ровно в одной позиции, то есть выполняется одно из следующих условий: -- `b1≠c1` и `b2=c2` и `b3=c3` -- `b1=c1` и `b2≠c2` и `b3=c3` -- `b1=c1` и `b2=c2` и `b3≠c3` - -Найдите количество красивых пар троек среди выписанных троек `[aj,aj+1,aj+2]`. - -## Входные данные - -Первая строка каждого набора содержит одно целое число `n` (`3≤n≤2⋅10^5`) — длину массива `a`. - -Вторая строка каждого набора содержит `n` целых чисел `a1,a2,…,an` (`1≤ai≤10^6`) — элементы массива. - -## Выходные данные - -Выведите одно целое число — количество красивых пар троек среди пар вида `[aj,aj+1,aj+2]`. - -### Входные данные - -Первая строка содержит одно целое число `n` (`3≤n≤2⋅10^5`) — длину массива `a`. - -Вторая строка содержит `n` целых чисел `a1,a2,…,an` (`1≤ai≤10^6`) — элементы массива. - -## Пример - -- 5 -- 3 2 2 2 3 - -## Примечание - -В примере `a=[3,2,2,2,3]`, Поликарп выпишет следующие тройки: -- `[3,2,2]` -- `[2,2,2]` -- `[2,2,3]` - -Красивыми парами являются тройка 1 с тройкой 2 и тройка 2 с тройкой 3. \ No newline at end of file diff --git a/additional_tasks/task2(dp).md b/additional_tasks/task2(dp).md deleted file mode 100644 index 1308304c..00000000 --- a/additional_tasks/task2(dp).md +++ /dev/null @@ -1,21 +0,0 @@ -# Ход конем - -## Формулировка задачи - -Дана прямоугольная доска размером `n x m` (н строк и m столбцов). В левом верхнем углу находится шахматный конь, который должен быть перемещен в правый нижний угол доски. Конь может двигаться только на две клетки вниз и на одну клетку вправо, или на две клетки вправо и на одну клетку вниз. Необходимо определить, сколько существует различных маршрутов, которые позволяют коню дойти от левого верхнего угла до правого нижнего. - -## Формат входных данных - -Первая строка входного файла содержит два натуральных числа `n` и `m`, разделенные пробелом (`1 <= n, m <= 50`) - размеры доски. - -## Формат выходных данных - -Вывести одно целое число - количество способов добраться конём до правого нижнего угла доски. - -## Пример - -**Ввод:** -- 4 4 - -**Вывод:** -- 2 \ No newline at end of file diff --git a/doc/topic1(question 6).md b/doc/topic1(question 6).md new file mode 100644 index 00000000..3ad1cd20 --- /dev/null +++ b/doc/topic1(question 6).md @@ -0,0 +1,34 @@ +## Стек + +### Определение + +Стеком (англ. stack) называется хранилище данных, в котором можно работать только с одним элементом: тем, который был добавлен в стек последним. Стек должен поддерживать следующие операции: + +- `push`: Добавить (положить) в конец стека новый элемент. +- `pop`: Извлечь из стека последний элемент. +- `back`: Узнать значение последнего элемента (не удаляя его). +- `size`: Узнать количество элементов в стеке. +- `clear`: Очистить стек (удалить из него все элементы). + +### Структура данных Stack + +- stack(); // Конструктор +- ~stack(); // Деструктор +- void push(int d); // Добавить в стек новый элемент +- int pop(); // Удалить из стека последний элемент и вернуть его значение +- int back(); // Вернуть значение последнего элемента +- int size(); // Вернуть количество элементов в стеке +- void clear(); // Очистить стек + +### Упражнение A - Простой стек + +- Реализуйте структуру данных "стек", реализовав все указанные методы. +- Напишите программу (функцию main), содержащую описание стека и моделирующую работу стека. + +### Упражнение B - Стек с обработкой ошибок + +- Аналогично предыдущему заданию, только снимается ограничение на корректность вызовов методов back и pop. + +### Упражнение C - Стек без ограничения на размер + +- Реализуйте стек динамического размера, то есть ограниченный только объемом свободной оперативной памяти. diff --git a/doc/topic1(question 6, 7, 8).md b/doc/topic1(question 6, 7, 8).md deleted file mode 100644 index 3eae8177..00000000 --- a/doc/topic1(question 6, 7, 8).md +++ /dev/null @@ -1,97 +0,0 @@ -# Стеки, Очереди, Деки (C++) - -## Стек - -### Определение - -Стеком (англ. stack) называется хранилище данных, в котором можно работать только с одним элементом: тем, который был добавлен в стек последним. Стек должен поддерживать следующие операции: - -- `push`: Добавить (положить) в конец стека новый элемент. -- `pop`: Извлечь из стека последний элемент. -- `back`: Узнать значение последнего элемента (не удаляя его). -- `size`: Узнать количество элементов в стеке. -- `clear`: Очистить стек (удалить из него все элементы). - -### Структура данных Stack - -- stack(); // Конструктор -- ~stack(); // Деструктор -- void push(int d); // Добавить в стек новый элемент -- int pop(); // Удалить из стека последний элемент и вернуть его значение -- int back(); // Вернуть значение последнего элемента -- int size(); // Вернуть количество элементов в стеке -- void clear(); // Очистить стек - - -## Очередь - -### Определение - -Очередью (англ. queue) называется структура данных, в которой элементы кладутся в конец, а извлекаются из начала. Первым из очереди будет извлечен тот элемент, который будет добавлен раньше других. - -### Структура данных Queue - -- queue(); // Конструктор -- ~queue(); // Деструктор -- void push(int d); // Добавить в очередь новый элемент -- int pop(); // Удалить из очереди первый элемент и вернуть его значение -- int front(); // Вернуть значение первого элемента -- int size(); // Вернуть количество элементов в очереди -- void clear(); // Очистить очередь - -## Дек - -### Определение - -Деком (англ. deque – аббревиатура от double-ended queue, двухсторонняя очередь) называется структура данных, в которую можно удалять и добавлять элементы как в начало, так и в конец. - -### Структура данных Deque - -- push_front Добавить (положить) в начало дека новый элемент -- push_back Добавить (положить) в конец дека новый элемент -- pop_front Извлечь из дека первый элемент -- pop_back Извлечь из дека последний элемент -- front Узнать значение первого элемента (не удаляя его) -- back Узнать значение последнего элемента (не удаляя его) -- size Узнать количество элементов в деке -- clear Очистить дек (удалить из него все элементы) - - -## Упражнения - -### Упражнение A - Простой стек - -- Реализуйте структуру данных "стек", реализовав все указанные методы. -- Напишите программу (функцию main), содержащую описание стека и моделирующую работу стека. - -### Упражнение B - Стек с обработкой ошибок - -- Аналогично предыдущему заданию, только снимается ограничение на корректность вызовов методов back и pop. - -### Упражнение C - Стек без ограничения на размер - -- Реализуйте стек динамического размера, то есть ограниченный только объемом свободной оперативной памяти. - -### Упражнение D - Простая очередь - -- Реализуйте простейшую очередь, размер которой не превосходит 100 элементов. - -### Упражнение E - Очередь с обработкой ошибок - -- Аналогично заданию B, но для очереди. - -### Упражнение F - Очередь без ограничений на размер - -- Аналогично заданию C, но для очереди. - -### Упражнение G - Простой дек - -- Аналогично заданиям A и D, но для дека. - -### Упражнение H - Дек с обработкой ошибок - -- Аналогично заданиям B и E, но для дека. - -### Упражнение I - Дек неограниченного размера - -- Аналогично заданию C и F, но для дека. diff --git a/doc/topic1(question 7).md b/doc/topic1(question 7).md new file mode 100644 index 00000000..f74cdc4f --- /dev/null +++ b/doc/topic1(question 7).md @@ -0,0 +1,27 @@ +## Очередь + +### Определение + +Очередью (англ. queue) называется структура данных, в которой элементы кладутся в конец, а извлекаются из начала. Первым из очереди будет извлечен тот элемент, который будет добавлен раньше других. + +### Структура данных Queue + +- queue(); // Конструктор +- ~queue(); // Деструктор +- void push(int d); // Добавить в очередь новый элемент +- int pop(); // Удалить из очереди первый элемент и вернуть его значение +- int front(); // Вернуть значение первого элемента +- int size(); // Вернуть количество элементов в очереди +- void clear(); // Очистить очередь + +### Упражнение D - Простая очередь + +- Реализуйте простейшую очередь, размер которой не превосходит 100 элементов. + +### Упражнение E - Очередь с обработкой ошибок + +- Аналогично заданию B, но для очереди. + +### Упражнение F - Очередь без ограничений на размер + +- Аналогично заданию C, но для очереди. diff --git a/doc/topic1(question 8).md b/doc/topic1(question 8).md new file mode 100644 index 00000000..bff7ed05 --- /dev/null +++ b/doc/topic1(question 8).md @@ -0,0 +1,29 @@ +## Дек + +### Определение + +Деком (англ. deque – аббревиатура от double-ended queue, двухсторонняя очередь) называется структура данных, в которую можно удалять и добавлять элементы как в начало, так и в конец. + +### Структура данных Deque + +- push_front Добавить (положить) в начало дека новый элемент +- push_back Добавить (положить) в конец дека новый элемент +- pop_front Извлечь из дека первый элемент +- pop_back Извлечь из дека последний элемент +- front Узнать значение первого элемента (не удаляя его) +- back Узнать значение последнего элемента (не удаляя его) +- size Узнать количество элементов в деке +- clear Очистить дек (удалить из него все элементы) + + +### Упражнение G - Простой дек + +- Аналогично заданиям A и D, но для дека. + +### Упражнение H - Дек с обработкой ошибок + +- Аналогично заданиям B и E, но для дека. + +### Упражнение I - Дек неограниченного размера + +- Аналогично заданию C и F, но для дека. From 63d0be6f625e9fb2327df7e7bfff90326fe7d5a9 Mon Sep 17 00:00:00 2001 From: sh1buya <92878896+sh1buya@users.noreply.github.com> Date: Mon, 17 Jun 2024 23:21:48 +0000 Subject: [PATCH 4/7] fixed --- doc/topic1(question 5).md | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 doc/topic1(question 5).md diff --git a/doc/topic1(question 5).md b/doc/topic1(question 5).md new file mode 100644 index 00000000..dd16b35a --- /dev/null +++ b/doc/topic1(question 5).md @@ -0,0 +1,46 @@ +# Связный список + +Связный список является простейшим типом данных динамической структуры, состоящей из элементов (узлов). + +## Структура узла + +Каждый узел включает в себя в классическом варианте как минимум два поля: + +- **данные** (в качестве данных может выступать переменная, объект класса или структуры и т. д.) +- **указатель на следующий узел в списке** (указателей может быть несколько). + +Элементы связанного списка можно помещать и исключать произвольным образом. + +Доступ к списку осуществляется через указатель, который содержит адрес первого элемента списка, называемый корнем списка. + +## Классификация списков + +По количеству полей указателей различают списки: + +- **однонаправленный (односвязный)** +- **двунаправленный (двусвязный)** + +### Односвязный и двусвязный списки + +- **Односвязный список**, содержащий только один указатель на следующий элемент. +- **Двусвязный список**, содержащий два поля указателя – на следующий элемент и на предыдущий. + +По способу связи элементов различают линейные и циклические списки. + +## Виды списков + +Таким образом, различают 4 основных вида списков: + +- **Односвязный линейный список (ОЛС)**. Каждый узел ОЛС содержит 1 поле указателя на следующий узел. Поле указателя последнего узла содержит нулевое значение (указывает на NULL). +- **Односвязный циклический список (ОЦС)**. Каждый узел ОЦС содержит 1 поле указателя на следующий узел. Поле указателя последнего узла содержит адрес первого узла (корня списка). +- **Двусвязный линейный список (ДЛС)**. Каждый узел ДЛС содержит два поля указателей: на следующий и на предыдущий узел. Поле указателя на следующий узел последнего узла содержит нулевое значение (указывает на NULL). Поле указателя на предыдущий узел первого узла (корня списка) также содержит нулевое значение (указывает на NULL). +- **Двусвязный циклический список (ДЦС)**. Каждый узел ДЦС содержит два поля указателей: на следующий и на предыдущий узел. Поле указателя на следующий узел последнего узла содержит адрес первого узла (корня списка). Поле указателя на предыдущий узел первого узла (корня списка) содержит адрес последнего узла. + +## Сравнение массивов и связных списков + +- **Выделение памяти**: Массив - выделение памяти осуществляется единовременно под весь массив до начала его использования. Список - выделение памяти осуществляется по мере ввода новых элементов. +- **Удаление/добавление элемента**: Массив - при удалении/добавлении элемента требуется копирование всех последующих элементов для осуществления их сдвига. Список - удаление/добавление элемента осуществляется переустановкой указателей, при этом сами данные не копируются. +- **Занимаемая память**: Массив - для хранения элемента требуется объем памяти, необходимый только для хранения данных этого элемента. Список - для хранения элемента требуется объем памяти, достаточный для хранения данных этого элемента и указателей (1 или 2) на другие элементы списка. +- **Доступ к элементам**: Массив - доступ к элементам может осуществляться в произвольном порядке. Список - возможен только последовательный доступ к элементам. + +Как видим, каждый тип данных обладает своими достоинствами и недостатками. Выбор в пользу того или иного типа данных будет зависеть от решаемой задачи. From a1275ba943092cbadd30313ca9fb043b4e8530bf Mon Sep 17 00:00:00 2001 From: sh1buya <92878896+sh1buya@users.noreply.github.com> Date: Mon, 17 Jun 2024 23:27:59 +0000 Subject: [PATCH 5/7] fixed --- doc/topic1(question 13).md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 doc/topic1(question 13).md diff --git a/doc/topic1(question 13).md b/doc/topic1(question 13).md new file mode 100644 index 00000000..73c16e08 --- /dev/null +++ b/doc/topic1(question 13).md @@ -0,0 +1,31 @@ +# Куча (Heap) + +Куча (англ. heap) — абстрактная структура данных, поддерживающая следующие операции: + +- Нахождение минимума. +- Удаление минимума. +- Добавление нового элемента в кучу. + +Другое название, лучше отражающее функциональность — очередь с приоритетами (англ. priority queue). + +## Устройство двоичной кучи + +Двоичная куча (пирамида, сортирующее дерево, англ. binary heap) — реализация очереди с приоритетами, использующая корневое дерево, для которого выполнены три условия: + +- Значение в любой вершине не больше, чем значения её потомков. +- У любой вершины не более двух сыновей. +- Слои заполняются последовательно сверху вниз и слева направо, без «дырок». + +### Двоичная куча для максимума + +Обозначим высоту дерева как \(h\). Так как куча всегда состоит из нескольких слоев заполненных полностью и одного заполненного частично, и каждый следующий слой содержит в два раза больше вершин, чем предыдущий, то высота дерева будет \(\Theta(\log{n})\). + +Как и любая очередь с приоритетами, двоичная куча должна уметь выполнять операции: + +- Нахождение минимума за \(O(1)\). +- Удаление минимума за \(O(h)\). +- Добавление нового элемента в кучу за \(O(h)\). + +### Реализация + +Хранить кучу будем в виде массива \(t\), где у корня индекс равен \(1\), а у вершины \(k\) индексы её детей равны \(2k\) и \(2k+1\). Нулевая ячейка массива при этом остается пустой. From 543c798901d13970faee6cd31549135a544f3248 Mon Sep 17 00:00:00 2001 From: sh1buya <92878896+sh1buya@users.noreply.github.com> Date: Mon, 17 Jun 2024 23:50:07 +0000 Subject: [PATCH 6/7] fix --- doc/{topic1(question 13).md => topic1/question13.md} | 0 doc/{topic1(question 5).md => topic1/question5.md} | 0 doc/{topic1(question 6).md => topic1/question6.md} | 0 doc/{topic1(question 7).md => topic1/question7.md} | 0 doc/{topic1(question 8).md => topic1/question8.md} | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename doc/{topic1(question 13).md => topic1/question13.md} (100%) rename doc/{topic1(question 5).md => topic1/question5.md} (100%) rename doc/{topic1(question 6).md => topic1/question6.md} (100%) rename doc/{topic1(question 7).md => topic1/question7.md} (100%) rename doc/{topic1(question 8).md => topic1/question8.md} (100%) diff --git a/doc/topic1(question 13).md b/doc/topic1/question13.md similarity index 100% rename from doc/topic1(question 13).md rename to doc/topic1/question13.md diff --git a/doc/topic1(question 5).md b/doc/topic1/question5.md similarity index 100% rename from doc/topic1(question 5).md rename to doc/topic1/question5.md diff --git a/doc/topic1(question 6).md b/doc/topic1/question6.md similarity index 100% rename from doc/topic1(question 6).md rename to doc/topic1/question6.md diff --git a/doc/topic1(question 7).md b/doc/topic1/question7.md similarity index 100% rename from doc/topic1(question 7).md rename to doc/topic1/question7.md diff --git a/doc/topic1(question 8).md b/doc/topic1/question8.md similarity index 100% rename from doc/topic1(question 8).md rename to doc/topic1/question8.md From f832b9af8aebeacfab97aa7665f5f332d93bd902 Mon Sep 17 00:00:00 2001 From: sh1buya <92878896+sh1buya@users.noreply.github.com> Date: Tue, 18 Jun 2024 00:02:10 +0000 Subject: [PATCH 7/7] filan changes --- doc/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/README.md b/doc/README.md index 0221d4d5..302fa1b0 100644 --- a/doc/README.md +++ b/doc/README.md @@ -16,16 +16,16 @@ - Динамический массив. - Амортизационный анализ. Метод потенциалов. Метод монето - Амортизированное (учетное) время добавления элемента в динамический массив. -- Двусвязный и односвязный список. Операции. Объединение списков. -- Стек. -- Очередь. -- Дек. +- [Двусвязный и односвязный список. Операции. Объединение списков.](topic1/question5.md) +- [Стек.](topic1/question6.md) +- [Очередь.](topic1/question7.md) +- [Дек.](topic1/question8.md) - Хранение стека, очереди и дека в массиве. Циклическая очередь в массиве. - Хранение стека, очереди и дека в списке. - Поддержка минимума в стеке. - Представление очереди в виде двух стеков. Время извлечения элемента. - Поддержка минимума в очереди. -- Двоичная куча. АТД “Очередь с приоритетом”. +- [Двоичная куча. АТД “Очередь с приоритетом”.](topic1/question13.md) # ТЕМА 2. СОРТИРОВКИ И ПОРЯДКОВЫЕ СТАТИСТИКИ