当前位置:网站首页>【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)
如果觉得对你有帮助的话:
点赞,你的认可是我创作的动力!
🧡 收藏,你的青睐是我努力的方向!
️ 评论,你的意见是我进步的财富!
边栏推荐
- npm install报gyp info it worked if it ends with ok
- js商品总价格、最高价格商品、排除重复商品[初版]
- 融云「 IM 进阶实战高手课」系列直播上线
- sql2008 database suspicious solution _sqlserver2008 database suspicious
- 接入网学习笔记
- Navicat for mysql cracked versions installed
- 动力电池扩产潮,宁德时代遭围剿
- Inconsistency between oracle and mysql statement results
- RAID存储级别分类
- 持续交付(一)JenkinsAPI接口调用
猜你喜欢
随机推荐
融云「 IM 进阶实战高手课」系列直播上线
golang刷leetcode动态规划(8)盈利计划
DeepMind 首席科学家 Oriol Vinyals 最新访谈:通用 AI 的未来是强交互式元学习
Navicat for mysql cracked versions installed
Kubernetes:(六)Pod重启策略和状态解释
Switch 块、Switch 表达式、Switch 模式匹配,越来越好用的 Switch
常用软件静默安装参数
navicat premium 15 下载安装详细教程
What is an APS system?What should I pay attention to when importing APS?Worth watching again and again
什么是APS系统?导入APS要注意什么?值得反复观看
MySQL常用的日期时间函数
MYSQL下载及安装完整教程
金仓数据库KingbaseES安全指南--6.12. BSD身份验证
Locking and Concurrency Control (4)
NAACL 2022 | 具有元重加权的鲁棒自增强命名实体识别技术
创新云集技术咖,工赋汇聚实战派:2022工赋开发者峰会
npm install 时,卡住不动,五种解决方法
oracle 和mysql 语句结果不一致问题
Nacos环境隔离
Smart Contract Security - delegatecall (1)