查找算法实现 java
时间: 2024-12-21 19:29:37 浏览: 12
查找算法在 Java 中通常用于数据结构如数组、列表或集合中搜索特定元素。这里我会简述几种常见的查找算法:
1. **顺序查找(Linear Search)**:这是最基础的查找,从第一个元素开始逐个比较,直到找到目标值或遍历完整个序列。例如,在一个整数数组中查找特定数值:
```java
public int linearSearch(int[] array, int target) {
for (int i = 0; i < array.length; i++) {
if (array[i] == target) {
return i;
}
}
return -1; // 如果未找到,则返回 -1 表示不存在
}
```
2. **二分查找(Binary Search)**:适用于有序数组,通过每次将搜索范围减半的方式提高效率。如果目标不在范围内,中间位置的索引即为结果。在 Java 中:
```java
public int binarySearch(int[] sortedArray, int target) {
int left = 0, right = sortedArray.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (sortedArray[mid] == target) {
return mid;
} else if (sortedArray[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1; // 未找到
}
```
3. **哈希表查找(Hashing)**:对于无序的数据,可以使用 HashMap 或 HashSet 进行查找,平均时间复杂度为 O(1),但在极端情况下的性能取决于哈希函数的质量。
阅读全文