(十六)查詢演算法
阿新 • • 發佈:2021-07-14
1.查詢演算法介紹
在 java 中,我們常用的查詢有四種:
- 順序(線性)查詢
- 二分查詢/折半查詢
- 插值查詢
- 斐波那契查詢
2.線性查詢演算法
有一個數列: {1,8, 10, 89, 1000, 1234} ,判斷數列中是否包含此名稱【順序查詢】 要求: 如果找到了,就提示找到,並給出下標值。
- 程式碼實現
public class SeqSearch { public static void main(String[] args) { int arr[] = { 1, 9, 11, -1, 34, 89 };// 沒有順序的陣列 int index = seqSearch(arr, -11); if(index == -1) { System.out.println("沒有找到到"); } else { System.out.println("找到,下標為=" + index); } } /** * 這裡我們實現的線性查詢是找到一個滿足條件的值,就返回 * @param arr * @param value * @return */ public static int seqSearch(int[] arr, int value) { // 線性查詢是逐一比對,發現有相同值,就返回下標 for (int i = 0; i < arr.length; i++) { if(arr[i] == value) { return i; } } return -1; } }