iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
自我挑戰組

C++ AI 起步:編程進入智能世界系列 第 10

排序演算法 : 氣泡排序法

  • 分享至 

  • xImage
  •  

繼前面介紹的C++基礎知識後,本文將會專注於一個具體的算法—氣泡排序法。排序是計算機科學中最基礎的問題之一,且在AI和數據分析中也經常會用到。理解排序算法的工作原理可以幫助我們更好地掌握複雜算法的基本概念。

氣泡排序法簡介
氣泡排序法(Bubble Sort)是一種簡單的排序演算法。這種方法的主要思想是反覆遍歷數列,比較相鄰的兩個元素,並在需要時交換它們。過程會重複進行,直到整個數列有序為止。

C++實現
以下是使用C++實現的氣泡排序法:

#include <iostream>

void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                // 交換 arr[j] 和 arr[j+1]
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main() {
    int arr[] = {64, 34, 25, 12, 22, 11, 90};
    int n = sizeof(arr) / sizeof(arr[0]);

    bubbleSort(arr, n);

    std::cout << "Sorted array: ";
    for (int i = 0; i < n; i++) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}

性能考慮
氣泡排序法的時間複雜度在最壞的情況和平均情況下都是https://chart.googleapis.com/chart?cht=tx&amp;chl=O(n%5E2),其中https://chart.googleapis.com/chart?cht=tx&amp;chl=n 是數列的大小。儘管它不是最有效的排序演算法,但由於其簡單性,它經常被用作教學工具。

在AI中的應用
雖然在實際的AI應用中,我們可能會選擇更高效的排序演算法,但通過實現氣泡排序法,我們可以建立對更複雜演算法概念的基本理解,例如迭代、比較和數據交換。


上一篇
vector、list & map
下一篇
排序演算法 : 選擇排序法
系列文
C++ AI 起步:編程進入智能世界32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言