說明
搜尋的目的,是在「已排序的資料」中尋找指定的資料,而當中循序搜尋是最基本的搜尋法,只要從資料開頭尋找到最後,看看是否找到資料即可。
解法
初學者看到循序搜尋,多數都會使用以下的方式來進行搜尋:
while(i < MAX) {
if(number[i] == k) {
printf("找到指定值");
break;
}
i++;
}
這個方法基本上沒有錯,但是可以加以改善,可以利用設定衛兵的方式,省去if判斷式,衛兵通常設定在數列最後或是最前方,假設設定在列前方好了(索引0的位置),我們從數列後方向前找,如果找到指定的資料時,其索引值不是0,表示在數列走訪完之前就找到了,在程式的撰寫上,只要使用一個while迴圈就可以了。
下面的程式為了配合衛兵的設置,自行使用快速排序法先將產生的數列排序,然後才進行搜尋,若只是數字的話,通常您可以使用程式語言函式庫所提供的搜尋函式。
public class Search {
public static int linear(int[] number, int des) {
int[] tmp = new int[number.length + 1];
for(int i = 1; i < tmp.length; i++) {
tmp[i] = number[i-1];
}
tmp[0] = des;
int i = number.length;
while(tmp[i] != tmp[0])
i--;
return i - 1;
}
public static void main(String[] args) {
int[] number = {1, 2, 3, 4, 6, 7, 8};
int find = Search.linear(number, 3);
System.out.println(find >= 0 ? "找到數值於索引" + find : "找不到數值");
}
}
分享到:
相关推荐
### C经典算法之循序搜寻法(使用卫兵) #### 概述 在计算机科学领域,搜索算法是数据结构与算法中一个重要的组成部分。它主要用于查找特定元素或记录的位置,以便于后续处理如更新、删除等操作。本文将重点介绍一...
� 排序 得分排行 选择、插入、气泡排序 ...循序搜寻法(使用卫兵) 二分搜寻法(搜寻原则的代表) 插补搜寻法 费氏搜寻法 � 矩阵 稀疏矩阵 多维矩阵转一维矩阵 上三角、下三角、对称矩阵 奇数魔方阵......
循序搜寻法(使用卫兵) 二分搜寻法(搜寻原则的代表) 插补搜寻法 费氏搜寻法 堆叠 - 使用阵列实作 堆叠 - 使用链结实作(C 语言动态记忆体宣告) 堆叠 - 使用 Java 作物件封装 佇列(队列) - 使用阵列实作 ...
老掉牙 河内塔 费式数列 巴斯卡三角形 三色棋 老鼠走迷官(一) 老鼠走迷官(二) 骑士走棋盘 八个皇后 八枚银币 生命游戏 ...背包问题(Knapsack Problem) ...循序搜寻法(使用卫兵) 二分搜寻法(搜
循序搜寻法(使用卫兵) 二分搜寻法(搜寻原则的代表) 插补搜寻法 费氏搜寻法 矩阵 稀疏矩阵 多维矩阵转一维矩阵 上三角、下三角、对称矩阵 奇数魔方阵 4N 魔方阵 2(2N+1) 魔方阵 对C语言的学习非常...
老掉牙 河内塔 巴式数列 ...循序搜寻法(使用卫兵) 二分搜寻法(搜寻原则的代表) 插补搜寻法 费氏搜寻法 矩阵 稀疏矩阵 多维矩阵转一维矩阵 上三角、下三角、对称矩阵 奇数魔方阵 4N 魔方阵 2(2N+1) 魔方阵
循序搜寻法(使用卫兵) 二分搜寻法(搜寻原则的代表) 插补搜寻法 费氏搜寻法 矩阵 稀疏矩阵 多维矩阵转一维矩阵 上三角、下三角、对称矩阵 奇数魔方阵 4N 魔方阵 2(2N+1) 魔方阵
C语言经典几十个经典案例,都有详尽 河内塔 费式数列 巴斯卡三角形 三色棋 老鼠走迷官(一) 老鼠走迷官(二) 骑士走棋盘 八个皇后 八枚银币 生命游戏 ...背包问题(Knapsack Problem...循序搜寻法(使用卫兵)
循序搜寻法(使用卫兵) 二分搜寻法(搜寻原则的代表) 插补搜寻法 费氏搜寻法 矩阵 稀疏矩阵 多维矩阵转一维矩阵 上三角、下三角、对称矩阵 奇数魔方阵 4N 魔方阵 2(2N+1) 魔方阵 堆叠、伫列 堆叠 ...
循序搜寻法(使用卫兵) 二分搜寻法(搜寻原则的代表) 插补搜寻法 费氏搜寻法 矩阵 稀疏矩阵 多维矩阵转一维矩阵 上三角、下三角、对称矩阵 奇数魔方阵 4N 魔方阵 2(2N+1) 魔方阵 堆叠、伫列 堆叠 ...
循序搜寻法(使用卫兵) 二分搜寻法(搜寻原则的代表) 插补搜寻法 费氏搜寻法 矩阵 稀疏矩阵 多维矩阵转一维矩阵 上三角、下三角、对称矩阵 奇数魔方阵 4N 魔方阵 2(2N+1) 魔方阵 堆叠、伫列 堆叠 ...
循序搜寻法(使用卫兵) 二分搜寻法(搜寻原则的代表) 插补搜寻法 费氏搜寻法 矩阵 稀疏矩阵 多维矩阵转一维矩阵 上三角、下三角、对称矩阵 奇数魔方阵 4N 魔方阵 2(2N+1) 魔方阵 堆叠、伫列 堆叠 ...
基数排序法 102 42.Algorithm Gossip: 循序搜寻法(使用卫兵) 104 43.Algorithm Gossip: 二分搜寻法(搜寻原则的代表) 106 44.Algorithm Gossip: 插补搜寻法 109 45.Algorithm Gossip: 费氏搜寻法 ...
- **定义**: 循序搜寻法,使用卫兵简化边界条件。 - **应用场景**: 数据搜索。 ### 42. 二分搜寻法(搜寻原则的代表) #### 说明 - **定义**: 二分搜寻是一种高效的搜索算法,尤其适用于已排序数组。 - **应用场景...
“超长整数运算”、“长PI”、“阿姆斯壮数”、“最大访客数”、“中序式...循序搜寻法(使用卫兵)”、“二分搜寻法(搜寻原则的代表)”、“插补搜寻法”、“费氏搜寻法”、“多维矩阵转一维矩阵”、“上三角、下三角...
循序搜寻法(使用卫兵) - **概述**:循序搜寻是一种简单但效率较低的线性搜索算法。 #### 40. 二分搜寻法(搜寻原则的代表) - **概述**:二分搜索是在有序数组中查找特定元素的有效方法。 #### 41. 插补搜寻法 ...