当前位置:网站首页>【21天学习挑战赛学习打卡】顺序查找
【21天学习挑战赛学习打卡】顺序查找
2022-08-02 16:59:00 【_刘小雨】
作者简介:C/C++ 、Golang 领域耕耘者,创作者
个人主页:作者主页
活动地址:CSDN21天学习挑战赛
如果感觉博主的文章还不错的话,还请关注 、点赞 、收藏🧡三连支持一下博主哦~~~
机缘
暑假期间打开csdn私信发现这个挑战赛, 感觉奖励挺丰富的,就参加了,这几年c站了一直出了很多有意思的活动
🧡 收获(期待)
丰富自己写作技巧,同时也期待更多同领域志同道合的朋友,一起交流~~~
学习计划
1. 目标
预计在这个活动期间 发布9篇相关内容文章
2. 内容
从基本的算法定义,分析,到最后算法实现
3. 时间
每周3篇内容
4. 产出
博客内容产出
代码进行总结
顺序查找
1. 定义
在一个已知无序(或有序)的队列中找出与给定的关键字相同的数的具体位置。 其原理是让关键字与队列中的数从开始一个一个地往后逐个比较,直到找到与给定的关键字相同的数。 当然,顺序查找绝不仅限于对数字、字符的查找,也适用于前缀、对象信息的关键信息的匹配等。
简单来说就是,按照顺序对一个数据结构进行查找指令的关键字,属于基础算法。
2. 具体问题
给定你一个长度为 n 的整数数列,求出关键字 key
值在数列中的位置
3. 分析
比较基础,只需一步
- 直接进行for 进行一重循环遍历, 将数组中的元素与
key
依次比对,相等则返回数组下标,不相等则继续下一次对比
4. 算法实现
for (int i = 0; i < n; i++)
{
if (key == arr[i])
{
cout << "key 出现的位置为: " << i << endl;
break;
}
}
5. 时间复杂度分析
最优情况:当
key
在数列中的第一个位置时, 只用查找1次, 时间复杂度为O(1)最坏情况:当
key
在数列中的最后一个位置时, 需要查找n次, 时间复杂度为O(n)平均情况:当
key
在数列中的中间位置时, 时间复杂度为O(n / 2)
因为时间复杂度只用考虑n 的指数, 这里是1次, 所以这题的算法时间复杂度为O(n)
如果觉得对你有帮助的话:
点赞,你的认可是我创作的动力!
🧡 收藏,你的青睐是我努力的方向!
️ 评论,你的意见是我进步的财富!
边栏推荐
猜你喜欢
随机推荐
小心 transmittable-thread-local 的这个坑
阿里云关系型数据库RDS是干嘛额?
H5网页播放器EasyPlayer.js播放器界面的加载效果无法消失是什么原因?
LeetCode·76.最小覆盖子串·滑动窗口
Inconsistency between oracle and mysql statement results
什么是APS系统?导入APS要注意什么?值得反复观看
年轻人接棒大妈,金价跌回“4字头”,七夕迎黄金消费小热潮
nacos集群配置详解
Nacos的基本配置
sql2008 database suspicious solution _sqlserver2008 database suspicious
Mysql开启binlog
常用软件静默安装参数
Nacos配置中心用法详细介绍
MYSQL一站式学习,看完即学完
Continuous integration (4) Jenkins configuration alarm mechanism
周末看点回顾|亚马逊将于2023年底关闭Amazon Drive网盘服务;千寻位置发布时空智能六大底层自研技术…
持续集成(五)Jenkins配置父子job
RAID存储级别分类
Default username and password (SQL)
MySQL常见面试题汇总(建议收藏!!!)