Вступ до алгоритму С ++
Кінцевий набір кроків, розташованих послідовно, виконує роль керівництва для вирішення будь-якої проблеми. Це слово алгоритму c ++ особливо використовується в інформатиці для визначення процедури вирішення складних задач. Архітектура рішення може бути різною для різних алгоритмів. Найбільш ефективний алгоритм - це той, який забезпечує рішення за менший час і витрачає менше пам'яті порівняно з іншими алгоритмічними рішеннями. У заголовку C ++ містяться функції, призначені для роботи в діапазонах чисел. Ці функції працюють на кількість, але не здійснюють жодних маніпуляцій із даними. Він просто працює під час ітерації або вказівки на числа, не торкаючись його даних.
Деякі функції члена під заголовком:
- алгоритм :: adjacent_find (): вказує на перше виникнення двох однакових послідовних чисел.
- алгоритм :: all_of (): Повертає істину, якщо числа лежать під діапазоном першого та останнього елементів.
- алгоритм :: binary_search (): Перевіряє, чи є значення, яке потрібно шукати, у відсортованій послідовності чи ні.
- алгоритм :: copy (): Ця функція допомагає скопіювати діапазон елементів з одного місця на нове місце.
- алгоритм :: count_if (): Ця функція повертає кількість входів окремих елементів, якщо виконується умова, зазначена у "якщо умова".
- алгоритм :: рівний (): Ця функція перевіряє, чи є два набори елементів рівними чи ні. У C ++ визначено багато подібних функцій, які можуть подати в суд на кодери на користь свого бізнесу.
Пояснення алгоритму С ++
C ++ надає версії цих алгоритмів у просторі імен std :: range. Алгоритми - це велика тема, яка охоплює теми від пошуку, сортування до міні / макси купи. Вони можуть бути класифіковані як:
1. Купа: У таких типах ми побудуємо купу, щоб дізнатись значення максимуму або мінуса послідовності. Це використовувало структуру даних дерев для досягнення її результатів.
2. Бінарний пошук: Цей алгоритм C ++ розділяє всю послідовність на дві частини ітеративно, поки не знайде фактичне значення, яке ми шукаємо, із цільової послідовності. Це високоефективний алгоритм, оскільки скорочує час вдвічі. Попередня умова використання цього алгоритму C ++ полягає в тому, що послідовність, що надається йому, повинна бути сортована в будь-якому порядку.
3. Сортування: Існують різні типи сортування, які можна використовувати для генерації відсортованої послідовності. Вони є сортуванням вставки, сортування міхурів, сортування вибору, сортування купи, швидке сортування, сортування злиття. Деякі з цих алгоритмів працюють за принципом "ділити і правити", як об'єднання та швидке сортування. Вони швидкі та ефективніші порівняно з іншими, хоча використовують більше пам'яті у своїх операціях.
4. Прості операції над послідовністю: Алгоритми можна використовувати для виконання простих операцій, таких як заміна, видалення, повернення чисел у послідовності. Існує багато способів досягти цього результату за допомогою різних алгоритмів, які спрямовані на досягнення одного і того ж результату.
5. Операції, що не змінюють: Деякі операції, такі як пошук, пошук, підрахунок кількості елементів у послідовності. Ці операції не змінюють значення даних елемента, але функціонують навколо цих елементів.
Приклад алгоритмів із кроками
Ось кілька прикладів алгоритму C ++ із описаними нижче кроками:
Приклад №1
Напишіть алгоритм С ++, щоб написати програму, щоб додати два числа.
Алгоритм
Кроки наведені нижче:
- Старт
- Прийміть число1, число 2
- Сума = число1 + число2
- Відображати суму
- Стій
Приклад №2
Напишіть алгоритм С ++, щоб визначити, чи студент проходить чи не відповідає на основі оцінок. Оцінки - це середнє значення загальної оцінки, отриманої з усіх предметів.
Алгоритм
Кроки наведені нижче:
- Старт
- Вхідні позначки1, позначки2, позначки3, позначки4
- Оцінка = (позначки1 + позначки2 + позначки3 + позначки4) / 4
- Якщо (клас <50), то
- Роздрукувати "Не вдалося"
- Інше
- Роздрукувати "Pass"
- Кінець, якщо
- Стій
Приклад №3
Сортування бульбашок - Це алгоритм С ++ для сортування послідовності чисел у порядку зростання чи зменшення. Він порівнює найближчі два числа і ставить мале перед більшим числом, якщо сортувати у порядку зростання. Цей процес триває, поки ми не досягнемо послідовності, де ми знайдемо всі числа, відсортовані за послідовністю.
Складність часу цього алгоритму становить O (n), оскільки елементи керування повинні пройти всю кількість елементів, що знаходяться в послідовності, а потім перевірити, чи впорядковано 2 сусідніх числа. Якщо ні, то він сортує та переміщується до двох інших сусідніх пар у серії.
Впровадження вищевказаного алгоритму С ++
Ось приклад алгоритму 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 ++ - це детальний покроковий посібник із загального рішення, який розроблений з урахуванням уваги, щоб забезпечити найбільш ефективне та менш трудомістке рішення будь-якої заданої проблеми. Існує багато інструментів для перевірки ефективності таких алгоритмів, як великі нотації O, Omega або Gama, які корисні для пошуку ефективності алгоритмів. Кожен алгоритм має свої привілеї та переваги, і ми вибираємо правильне відповідне рішення відповідно до постановки проблеми. Це відіграє вирішальну роль, коли ми розробляємо рішення проблеми, оскільки це стає основою ефективності кінцевого продукту.
Рекомендовані статті
Це посібник з алгоритму С ++. Тут ми обговорюємо введення та детальне пояснення алгоритму C ++ разом з різними прикладами та реалізацією коду. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- 3D-масиви в C ++
- Іржа проти C ++
- Анотація класу на C ++
- Перевантаження і перезавантаження в C ++
- Оголошення абстрактного класу в C # з прикладом