在查找一個元素是否存在的時候,我們最常使用的方式是甚麼呢?答案是 for 或者是 while 迴圈,恭喜你!已經學習完 Linear Search 了!
概念
線性搜尋 (Linear Search):這個演算法會訪問每個元素
,確認元素在陣列中的哪個位置,如果找不到元素則會回傳 -1。
複雜度
- 時間複雜度: O(n)
- 空間複雜度: O(1)
範例
Go
package main
import "fmt"
func linearSearch(list []int, target int) int {
for i := 0; i < len(list); i++ {
if list[i] == target {
return i
}
}
return -1
}
func main() {
fmt.Println(linearSearch([]int{1, 2, 3, 4, 5}, 3)) // 2
fmt.Println(linearSearch([]int{1, 2, 3, 4, 5}, 6)) // -1
}
C#
class Algorithm
{
public static int linearSearch(int[] list, int target)
{
for (var i = 0; i < list.Length; i++)
{
if (list[i] == target)
{
return i;
}
}
return -1;
}
public static void Main(String[] args)
{
Console.WriteLine(linearSearch(new int[] {1, 2, 3, 4, 5}, 3)); // 2
Console.WriteLine(linearSearch(new int[] {1, 2, 3, 4, 5}, 6)); // -1
}
}
歡迎到我的 Facebook Alan 的筆記本 留言,順手給我個讚吧!你的讚將成為我持續更新的動力,感謝你的閱讀,讓我們一起學習成為更好的自己。