插入排序算法优化
一 插入排序概述
插入排序是稳定的原地排序算法,核心思想是逐步构建有序序列。对于未排序部分的每个元素,在已排序序列中从后向前扫描,找到合适位置插入。时间复杂度为:
最优:O(n)(已有序)
最差:O(n^2)(完全逆序)
平均:O(n^2)
二  二分查找优化(减少比较次数)
 1 核心思想
        在寻找插入位置时,使用二分查找代替顺序查找,将比较次数从O(n)降低到O(log n)。  
 2  适用场景
数据规模较大且比较操作代价较高(例如复杂对象比较) 。
3 时间复杂度
比较次数O(n log n),移动次数仍为O(n^2)→ 整体O(n^2),但常数更小 。
4  c++代码
 void insertionSortOptimized(int arr[], int n) {
 
     for (int i = 1; i < n; i++) {
 
         int temp = arr[i];
         int left = 0, right = i - 1;
         // 二分查找插入位置
   
