学习回顾算法(顺序查找算法)
来源:互联网 发布: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
阅读全文
0 0
- 学习回顾算法(顺序查找算法)
- 学习回顾算法(二分法查找)
- 学习回顾算法(插值查找算法)
- 算法学习之查找算法:静态查找表(1)顺序表查找
- 算法 - 顺序查找(C#)
- java查找算法(一)--顺序查找
- 查找算法(一)顺序查找
- 查找算法(一):顺序查找
- 学习算法手记【原】- 顺序查找
- 学习回顾算法(归并排序算法)
- 学习回顾算法(快速排序算法)
- 学习回顾算法(堆排序算法)
- 学习回顾算法(希尔排序算法)
- 学习回顾算法(基数排序算法)
- 基础算法系列(一)查找算法之顺序查找
- 索引顺序表查找算法(分块查找算法)
- //顺序查找算法
- 顺序表查找算法
- Linux内核同步机制之completion
- json 数组的增加
- MySQL引擎
- Mac上安装MySQL服务与创建数据库
- HTML-img
- 学习回顾算法(顺序查找算法)
- 一款由React Native编写的开源App--Gank
- 给你一个字符串s和一个长度相同的单词列表。 找出s中所有子字符串的起始索引,这些字符串中的每个单词只是一个字符串,没有任何中介字符。
- spring boot版本演进
- RESTful
- Spring AOP日志配置以及注意事项
- 服务器(6)--Nginx实现HTTPS网站设置
- pyspark 实践汇总1
- 用virsh读xml文件启动domain时出现错误 libvirt error: cannot execute binary ......