学习回顾算法(顺序查找算法)

来源:互联网 发布:it企业 编辑:程序博客网 时间:2024/05/22 10:30

顺序查找算法概述

顺序查找算法是在一个已知无序(或有序)队列中找出关键字相同的数的具体位置。

顺序查找算法原理
让关键字和队列中的数从最后一个开始逐个比较,直到找出与给定关键字相同的数为止。如果扫描结束已让没有找到关键字,表示查找失败。

顺序查找算法分析
时间复杂度:
平均:假设每个数据元素的概率相等 (n + 1)/2
查找不成功:n+1
复杂度:O(n)

实现

1、golang实现(元素为int类型版本)

package mainimport (    "fmt")func SeqSearch(values []int, key int) int {    if len(values) == 0 {        return -1    }    for i, val := range values {        v := val        ret := i        if v == key {            return ret        }    }    return -1}func main() {    values := []int{2, 4, 7, 5, 8, 1, 3, 6, 6}    fmt.Println(values)    index := SeqSearch(values, 5)    fmt.Println(index)    index = SeqSearch(values, 100)    fmt.Println(index)    return}

结果

[2 4 7 5 8 1 3 6 6]3-1
原创粉丝点击