当前位置: 首页 > news >正文

嵌入式开发学习———Linux环境下数据结构学习(五)

折半查找(二分查找)

适用于已排序的数组,通过不断缩小查找范围定位目标值。

int binarySearch(int arr[], int size, int target) {int left = 0, right = size - 1;while (left <= right) {int mid = left + (right - left) / 2;if (arr[mid] == target) return mid;if (arr[mid] < target) left = mid + 1;else right = mid - 1;}return -1; // 未找到
}

插入排序

将未排序元素逐个插入已排序部分的正确位置。

void insertionSort(int arr[], int size) {for (int i = 1; i < size; i++) {int key = arr[i], j = i - 1;while (j >= 0 && arr[j] > key) {arr[j + 1] = arr[j];j--;}arr[j + 1] = key;}
}

快速排序

通过分治策略选取基准值,将数组分为左右两部分递归排序。

void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;
}int partition(int arr[], int low, int high) {int pivot = arr[high];int i = low - 1;for (int j = low; j < high; j++) {if (arr[j] < pivot) {i++;swap(&arr[i], &arr[j]);}}swap(&arr[i + 1], &arr[high]);return i + 1;
}void quickSort(int arr[], int low, int high) {if (low < high) {int pi = partition(arr, low, high);quickSort(arr, low, pi - 1);quickSort(arr, pi + 1, high);}
}

关键点

  • 折半查找要求数组有序,时间复杂度为 O(log n)。
  • 插入排序适合小规模数据,时间复杂度为 O(n²)。
  • 快速排序平均时间复杂度为 O(n log n),需注意基准值选择。

 

http://www.lryc.cn/news/604341.html

相关文章:

  • 服务器与电脑主机的区别,普通电脑可以当作服务器用吗?
  • 从结构到交互:HTML5进阶开发全解析——语义化标签、Canvas绘图与表单设计实战
  • MCP提示词工程:上下文注入的艺术与科学
  • 【机器学习11】“分类算法“评估矩阵:从对数损失、AUC和ROC、混淆矩阵与分类报告等角度来评估算法
  • 小架构step系列30:多个校验注解
  • Mysql事务基础
  • LeetCode Hot 100:15. 三数之和
  • 大模型赋能:台风“竹节草”精细化路径预测实践
  • 硬件电路设计(基本元器件)
  • 深入理解C++编译器优化:从O0到O3及构建模式详解
  • 【从零实践Onvif】01、Onvif详细介绍(从Onvif客户端开发的角度认识Onvif、Web Servies、WSDL、SOAP)
  • 压测合格标准
  • 智能体产品化的关键突破:企业智能化转型的“最后一公里”如何迈过?
  • 【刷题】东方博宜oj 1307 - 数的计数
  • 亮数据MCP智能服务助力数据服务
  • AD域设计与管理-批量创建域用户
  • Java 14 新特性解析与代码示例
  • 力扣刷题日常(7-8)
  • day 40 打卡-装饰器
  • 让科技之光,温暖银龄岁月——智绅科技“智慧养老进社区”星城国际站温情纪实
  • 品牌侵权查询怎么查?跨境电商怎样查品牌是否侵权?
  • 笔记本电脑开机慢系统启动慢怎么办?【图文详解】win7/10/11开机慢
  • Apache Ignite 中如何配置和启用各类监控指标
  • T113-i Linux系统完整构建指南:从SDK开箱到内核镜像量产烧录全流程
  • 计算机网络1-3:三种交换方式
  • 【38】WinForm入门到精通 ——WinForm平台为AnyCPU 无法切换为x64,也无法添加 x64及其他平台
  • 15.10 单机8卡到千卡集群!DeepSpeed实战调参手册:A100训练效率翻倍,百万成本优化实录
  • 文心大模型4.5开源:国产AI的破茧时刻与技术普惠实践
  • 工作笔记-----FreeRTOS中的lwIP网络任务为什么会让出CPU
  • 24串高边BMS全套设计方案!