C/C++基础知识复习(52)

1. ​选择排序 & 冒泡排序

选择排序:
void selectionSort(int arr[], int n) {
    for (int i = 0; i < n-1; i++) {
        int minIdx = i;
        for (int j = i+1; j < n; j++) {
            if (arr[j] < arr[minIdx]) minIdx = j;
        }
        std::swap(arr[i], arr[minIdx]);
    }
}
  • 时间复杂度:O(n²)
  • 空间复杂度:O(1)
  • 稳定性:不稳定
冒泡排序:
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]) std::swap(arr[j], arr[j+1]);
        }
    }
}
  • 时间复杂度:O(n²)
  • 空间复杂度:O(1)
  • 稳定性:稳定

2. ​MySQL架构

MySQL是一个关系型数据库管理系统,其架构包括连接层、查询缓存、解析器、优化器和存储引擎等组件。

通俗解释:

MySQL就像一个大工厂,分为多个部门,每个部门负责不同的任务。

  • 连接层:接待客户。
  • 查询缓存:存储常用的查询结果。
  • 解析器:理解客户的需求。
  • 优化器:优化生产流程。
  • 存储引擎:实际存储和管理数据。

你可能感兴趣的:(c语言,c++)