在嵌入式系统中执行搜索算法对于高效的数据检索至关重要. Linear和二进制搜索是两种常见的方法,它们取决于数据结构和系统限制,本指南为在嵌入式环境中执行两种算法提供了分步指示.

线性搜索执行

线性搜索按顺序扫描列表中的每个元素,直到找到目标值或列表结束。对于小的或未排序的数据集来说,它简单而有效。

执行线性搜索的步骤 :

  • 初始化一个环路,通过数组进行直线化。
  • 将每个元素与目标值进行比较。
  • 如果找到匹配,请返回索引。
  • 如果循环完成时没有匹配,则返回未找到元素的提示.

示例代码片段 :

C:]

{} {} { {} { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { {

二进制搜索执行

二进制搜索需要排序的数组,并将搜索间隔分成每套的半个。它比大型数据集的线性搜索要快。

执行二进制搜索的步骤 :

  • 设定初始低指数和高指数。
  • 计算中间索引。
  • 将中间元素与目标进行比较.
  • 如果相等,则返回中间指数。
  • 如果目标较小,则调整高到中-1。
  • 如果目标较大,则调整低到中+1.
  • 重复到发现目标或低度超过高点为止.

示例代码片段 :

C:]

{} {} 英寸 双元Search( int arr[ ], int 大小, int 目标){ 英寸 低= 0; 英寸 高= 大小 - 1; 而( 低 < = 高){ 英寸 中= 低 + ( 高 - 低) / 2; 如果( ar[ mid] = { 中 ; { { ar[ mid] & lt; 目标}{ { 低= 中 + 1;}{ { { { 高 中 { { }} 返回 - 1;/ / 未找到}}

选择右侧搜索方法

线性搜索和二进制搜索之间的选择取决于数据组织和大小。对小数据或未分类数据使用线性搜索。二进制搜索适合对性能至关重要的大型排序数据集。