Введение в алгоритм C ++
Конечный набор последовательных шагов, который служит руководством для решения любой проблемы. Это слово алгоритма c ++ особенно используется в информатике для определения процедуры решения сложных задач. Архитектура решения может быть разной для разных алгоритмов. Наиболее эффективным является алгоритм, который обеспечивает решение за меньшее время и потребляет меньше памяти по сравнению с другими алгоритмическими решениями. В заголовке C ++ содержатся функции, предназначенные для работы с диапазонами номеров. Эти функции работают с числом, но не делают никаких манипуляций с данными. Это просто работает, итерируя или указывая на числа, не касаясь его данных.
Некоторые функции-члены под заголовком:
- алгоритма :: apart_find (): указывает на первое вхождение двух одинаковых последовательных чисел.
- алгоритма :: all_of (): возвращает true, если числа лежат в диапазоне первого и последнего элементов.
- алгоритма :: binary_search (): проверяет, присутствует ли «значение для поиска» в отсортированной последовательности или нет.
- алгоритм :: копировать (): эта функция помогает копировать диапазон элементов из одного места в новое.
- алгоритма :: count_if (): эта функция возвращает количество вхождений определенных элементов, если выполняется условие, упомянутое в «условии if».
- алгоритм :: equal (): эта функция проверяет, равны ли два набора элементов. Существует множество похожих функций, предопределенных в C ++, которые могут использоваться программистами в интересах их бизнеса.
Объяснение алгоритма C ++
C ++ предоставляет версии этих алгоритмов в пространстве имен std :: range. Алгоритмы - это обширная тема, которая охватывает темы от поиска, сортировки до мин / макс куч. Они могут быть классифицированы как:
1. Куча: в таких типах мы строим кучу, чтобы узнать максимальное или минимальное значение последовательности. При этом использовалась структура данных деревьев для достижения результата.
2. Двоичный поиск: этот алгоритм C ++ итеративно делит всю последовательность на две части, пока не найдет фактическое значение, которое мы ищем из целевой последовательности. Это очень эффективный алгоритм, поскольку он сокращает время вдвое. Предварительным условием использования этого алгоритма C ++ является то, что предоставленная ему последовательность должна быть отсортирована в любом порядке.
3. Сортировка. Существуют различные типы сортировки, которые можно использовать для генерации отсортированной последовательности. Это сортировка вставкой, сортировка по пузырькам, сортировка по выбору, сортировка по куче, быстрая сортировка, сортировка по слиянию. Некоторые из этих алгоритмов работают по принципу «разделяй и властвуй», таким как слияние и быстрая сортировка. Они быстрые и эффективные по сравнению с другими, хотя используют больше памяти в своих операциях.
4. Простые операции над последовательностью. Алгоритмы могут использоваться для выполнения простых операций, таких как замена, удаление, реверсирование чисел в последовательности. Есть много способов достичь этого результата, используя разные алгоритмы, все нацеленные на достижение того же результата.
5. Немодифицирующие операции: некоторые операции, такие как поиск, поиск, подсчет количества элементов в последовательности. Эти операции не изменяют значения данных элемента, а функционируют вокруг этих элементов.
Пример алгоритмов с шагами
Вот несколько примеров алгоритма C ++ с шагами, объясненными ниже:
Пример № 1
Написать алгоритм C ++, чтобы написать программу для добавления двух чисел.
Алгоритм
Шаги приведены ниже:
- Начало
- Принять № 1, № 2
- Sum = num1 + num2
- Показать сумму
- Стоп
Пример № 2
Напишите алгоритм C ++, чтобы определить, является ли студент успешным или нет, основываясь на оценках. Оценки - это среднее количество баллов, полученных по всем предметам.
Алгоритм
Шаги приведены ниже:
- Начало
- Ввод Marks1, Marks2, Marks3, Marks4
- Оценка = (Оценка1 + Оценка2 + Оценка3 + Оценка4) / 4
- Если (класс <50), то
- Распечатать «Fail»
- еще
- Распечатать «Pass»
- Конец, если
- Стоп
Пример № 3
Bubble sort - это алгоритм C ++ для сортировки числовой последовательности в порядке возрастания или убывания. Он сравнивает ближайшие два числа и помещает маленькое перед большим числом, если сортирует по возрастанию. Этот процесс продолжается до тех пор, пока мы не достигнем последовательности, в которой мы находим все числа, отсортированные в последовательности.
Временная сложность этого алгоритма составляет O (n), поскольку элементы управления должны пройти через все количество элементов в последовательности, а затем проверить, отсортированы ли 2 соседних числа. Если нет, то он сортирует и перемещается к двум другим смежным парам в серии.
Реализация вышеупомянутого алгоритма C ++
Вот пример алгоритма C ++ с реализацией кода, приведенного ниже:
Код:
#include
void swap(int *p1, int *p2)
(
int temp = *p1;
*p1 = *p2;
*p2 = temp;
)
// This is an optimised code for the bubble sort
void bSort(int arrnumbers(), int n)
(
int i, j;
bool check;
for (i = 0; i < n-1; i++)
(
check = false;
for (j = 0; j < ni-1; j++)
(
if (arrnumbers(j) > arrnumbers(j+1))
(
swap(&arrnumbers(j), &arrnumbers(j+1));
check = true;
)
)
// We are breaking from the loop in case two elements were not swapped by inner loop.
if (check == false)
break;
)
)
//This function is to print the array sequence as final output after sorting
void print(int arrnumbers(), int sizeofarray)
(
int i;
for (i=0; i < sizeofarray; i++)
printf("%d ", arrnumbers(i));
)
// This the main program from where the execution will start
int main()
(
int arrnumbers() = (5, 6, 1, 0, 2, 9);
int n = sizeof(arrnumbers)/sizeof(arrnumbers(0));
bSort(arrnumbers, n);
printf("Sorted array: \n");
print(arrnumbers, n);
return 0;
)
Выход:
Вывод
Алгоритм C ++ представляет собой подробное пошаговое общее руководство по решению, которое разработано с акцентом на обеспечение наиболее эффективного и менее трудоемкого решения любой поставленной проблемы. Существует много инструментов для проверки эффективности алгоритмов, таких как большие обозначения Oh, Omega или Gama, которые полезны для определения эффективности алгоритмов. Каждый алгоритм имеет свои привилегии и преимущества, и мы выбираем правильное решение в соответствии с постановкой задачи. Это играет решающую роль, когда мы разрабатываем решение проблемы, так как оно становится основой производительности конечного продукта.
Рекомендуемые статьи
Это руководство по алгоритму C ++. Здесь мы обсуждаем введение и подробное объяснение алгоритма C ++ вместе с различными примерами и реализацией кода. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
- 3D-массивы в C ++
- Руст против С ++
- Абстрактный класс в C ++
- Перегрузка и переопределение в C ++
- Объявление абстрактного класса в C # с примером