Определения базовые Flashcards
Что такое динамический массив?
Массив, который способен изменять свой размер во время выполнения программы и дает возможность более гибкой работы с данными (позволяет не составлять прогноз объемов данных, а регулировать размер в зависимости от требуемых объемов)
Что такое обработка исключений?
Алгоритм обработки ошибок, которые возникают в функции и с которыми она самостоятельно не может справиться (функция выбрасывает исключение, заставляя центральный процессор обратиться к ближайшему блоку кода, обрабатывающему исключение этого типа)
Что такое глобальные переменные?
Переменные, объявленые вне блока. Они создаются при запуске программы и уничтожаются после ее завершения. Их можно использовать в любом месте файла, после их обьявления
что такое алгоритм?
Строго определенный порядок действий/система правил/набор инструкция, предназначенных для решения определенной задачи
Что такое базы данных?
Информация, структурированная и хранимая в виде, который позволяет ей управлять и получать доступ.
Перечислите свойства алгоритмов
Массовость, дискретность, результативность, определенность, понятность, формальность, завершенность
Что такое сортировка?
Процесс упорядочивания элементов в некоторой последовательности по определенному критерию.
Какие существуют виды сортировок?
Виды сортировок:
1. Сортировка вставками
2. Сортировка выбором
3. Сортировка пузырьком
4. Быстрая сортировка
5. Сортировка слиянием
6. Сортировка кучей
7. Шейкерная сортировка
Что такое файл?
Упорядоченная коллекция данных, которые хранятся на носителе информации (например, на жестком диске) и могут быть обработаны компьютерной программой.
Что такое рекурсия?
Процесс, при котором функция вызывает саму себя в своем теле. Таким образом, функция может решать задачи, которые могут быть разбиты на более мелкие подзадачи.
Что такое шаг рекурсии?
Один из последовательных вызовов функции в процессе рекурсии. Каждый шаг рекурсии выполняется с новыми значениями аргументов функции и может иметь свой результат. Шаги рекурсии продолжаются до тех пор, пока не будет достигнут базовый случай, который остановит рекурсивный процесс.
Какие существуют виды рекурсивных функций?
Виды:
1) Прямая (обычная) рекурсия — вызывает саму себя;
int factorial (int n) {
if (n == 0) {
return 1; // базовый случай
}
else {
return n * factorial(n-1); // рекурсивный случай
}
}
2) Косвенная (непрямая) рекурсия — функция вызывает другую функцию, которая затем вызывает первоначальную функцию.
int function2(int n) {
if (n == 0) {
return 1; // базовый случай
}
else {
return function1(n-1); // вызов другой функции
}
}
int function1(int n) {
if (n == 0) {
return 0; // базовый случай
}
else {
return function2(n-1); // вызов первоначальной функции
}
}
3) Двоичная рекурсия — функция вызывает саму себя дважды в каждом ее вызове. Этот тип рекурсии часто используется при обходе деревьев
void traverse(node* n) {
if (n == nullptr) {
return;
}
else {
traverse(n->left);
traverse(n->right); // два вызова
}
}
4) Взаимная рекурсия — несколько функций вызывают друг друга. Этот тип рекурсии может быть полезен при решении задач, которые могут быть выражены в терминах нескольких взаимосвязанных функций.
void function1();
void function2() {
function1(); // вызов первой функции
}
void function1() {
function2(); // вызов второй функции
}
5) Кольцевая рекурсия — функция вызывает сама себя циклически. Этот тип рекурсии может привести к переполнению стека и проблемам с памятью, поэтому его следует избегать.
void function(int n) {
if (n == 0) {
return;
}
else {
function(n); // вызов самой себя
}
}
Что такое динамическая библиотека?
Это библиотека, содержащая код и данные, которые могут использоваться несколькими программами одновременно.
Что такое пространство имен?
Декларативная область, в рамках которой определяются различные индентификаторв