当前位置:网站首页>【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)
如果觉得对你有帮助的话:
点赞,你的认可是我创作的动力!
🧡 收藏,你的青睐是我努力的方向!
️ 评论,你的意见是我进步的财富!
边栏推荐
- Navicat for mysql cracked versions installed
- H5网页播放器EasyPlayer.js播放器界面的加载效果无法消失是什么原因?
- golang源码分析(3):thrift
- 小心 transmittable-thread-local 的这个坑
- executeScript异步执行的时候没有返回值的原因
- FPGA 20个例程篇:10.遍历DDR3内存颗粒读写循环校验
- Numpy those things
- 蔚来杯2022牛客暑期多校训练营5 ABCDFGHK
- Summary of CNN classic models [easy to understand]
- C语言中的一系列操作符
猜你喜欢
随机推荐
golang源码分析(7):chan
Mysql——字符串函数
DeepMind 首席科学家 Oriol Vinyals 最新访谈:通用 AI 的未来是强交互式元学习
Informatica旗下PowerCenter的元数据库解析
蔚来杯2022牛客暑期多校训练营5 ABCDFGHK
npm install报错Fix the upstream dependency conflict, or retry
Gartner发布,年度Challenger!
Arduino hardware programming introduction to language learning
一篇文章带你搞定BFC~
LeetCode·76.最小覆盖子串·滑动窗口
每日优鲜倒了,叮咚买菜的春天在哪?
Coordinate knowledge in digital twin campus scenarios
Kubernetes:(七)优化大法(江湖失传已久的武林秘籍)
Nacos interview questions
【C语言刷题】指针入门三题|字符串长度、字符串复制、两数交换
Pytest study notes
Switch 块、Switch 表达式、Switch 模式匹配,越来越好用的 Switch
QACTION_QAWiki
SQL语句基础
【电子器件笔记7】MOS管参数和选型