数据检索算法是指从数据集合(数组、表、哈希表等)中检索指定的数据项。
数据检索算法是所有算法的基础算法之一。
本文提供跳跃搜索的源代码。
1 文本格式
using System;
namespace Legalsoft.Truffer.Algorithm
{
public static class ArraySearch_Algorithm
{
///
///
///
///
///
public static int Jump_Search(int[] arr, int x)
{
int n = arr.Length;
int step = (int)Math.Sqrt(n);
int prev = 0;
while (arr[Math.Min(step, n) – 1] < x)
{
prev = step;
step += (int)Math.Sqrt(n);
if (prev >= n)
{
return -1;
}
}
while (arr[prev] < x)
{
prev++;
if (prev == Math.Min(step, n))
{
return -1;
}
}
if (arr[prev] == x)
{
return prev;
}
return -1;
}
}
}
代码不重要,思路最重要。
2 代码格式
using System;namespace Legalsoft.Truffer.Algorithm{ public static class ArraySearch_Algorithm {/// /// 跳跃搜索/// /// /// /// public static int Jump_Search(int[] arr, int x){ int n = arr.Length; int step = (int)Math.Sqrt(n); int prev = 0; while (arr[Math.Min(step, n) - 1] = n){ return -1;} } while (arr[prev] < x) {prev++;if (prev == Math.Min(step, n)){ return -1;} } if (arr[prev] == x) {return prev; } return -1;}}}