当前位置:网站首页>【21天学习挑战赛】顺序查找
【21天学习挑战赛】顺序查找
2022-08-04 04:07:00 【Alex抱着爆米花】
活动地址:CSDN21天学习挑战赛
怕什么真理无穷,进一步有一份的欢喜。
【21天学习挑战赛】顺序查找
我为什么参与挑战赛
1,机缘
读到研一了,暑假器件打开私信发现这个挑战赛就鼓起勇气参加了。
2,期待的收获
A, 本人在华南理工大学攻读专硕,目前研究方向是图像恢复,从事深度学习相关工作,目标是从事Java后端开发。
B, 期待您的反馈,如果有什么不对的地方,欢迎指正!
C, 期待认识志同道合的领域同行或技术交流。
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦
什么是查找?
在计算机科学中定义为:在一些(有序的/无序的)数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程叫做查找。也就是说,我们是出于某种目的,给算法传入比如key(序号,别名等)或者value(具体的值),返回给我们想要的数据类型,那就是查找了。
顺序查找的定义
查找一个指定元素,遍历整个数据结构(比如表,树,集合等),来查找是否存在指定元素。存在则查找成功,扫描结束未找到指定元素则查找失败。
顺序查找的优劣
优势
简单,以一维数组为例,我就是从前往后一个for循环就解决了简单粗暴。顺序排序更适合于无序的小的数据量的数据结构。
劣势
时间复杂度高,以一维数据为例,顺序查找的时间效率是O(n),二维数组顺序查找的时间效率是O(n^2)
️ 算法实现
public class SequentalSearch {
public static void main(String[] args) {
int[] arr = {
1, 4, 6, 7, 11};
int key = 3;
int value = 11;
Integer search = Search(arr, null, 11);
if (search!=null) {
System.out.println("查找到的值: "+search);
}else {
System.out.println("没找到!");
}
}
/** * @param arr 输入数组 * @param key 如果不为空,返回对应value * @param value 如果不为空,返回对应key */
public static Integer Search(int[] arr, Integer key, Integer value) {
if (key == null && value == null) {
System.out.println("请输入key或value");
}
if (key != null && value != null) {
System.out.println("不可以同时输入key和value");
}
//输入key
if (key != null) {
for (int i = 0; i < arr.length; i++) {
if (i == key) {
return arr[i];
}
}
}
//输入value
if (value != null) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == value) {
return i;
}
}
}
//没有找到
return null;
}
}
如果觉得对你有帮助的话:
点赞,你的认可是我创作的动力!
️ 收藏,你的青睐是我努力的方向!
️ 评论,你的意见是我进步的财富!
边栏推荐
- new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解
- FFmpeg —— 录制麦克风声音(附源码)
- unity框架之缓存池
- typescript type 和 interface 的区别
- 基于 SSE 实现服务端消息主动推送解决方案
- 初识Numpy
- 图像处理之Bolb分析(一)
- 【源码】使用深度学习训练一个游戏
- Metaverse "Drummer" Unity: Crazy expansion, suspense still exists
- Significant differences between Oracle and Postgresql in PLSQL transaction rollback
猜你喜欢
if,case,for,while
帮助企业实现数字化转型成功的八项指导原则
千兆2光8电管理型工业以太网交换机WEB管理X-Ring一键环网交换机
sql注入一般流程(附例题)
4-way two-way HDMI integrated business high-definition video optical transceiver 8-way HDMI high-definition video optical transceiver
7-2 LVS+DR概述与部署
Polygon zkEVM network node
一个属于程序员的七夕节!
基于 SSE 实现服务端消息主动推送解决方案
manipulation of file contents
随机推荐
Eight guiding principles to help businesses achieve digital transformation success
Embedded database development programming MySQL (full)
出现504怎么办?由于服务器更新导致的博客报504错误[详细记录]
FFmpeg —— 录制麦克风声音(附源码)
JVM笔记
SQL interview Questions
JVM的内存模型简介
系统设计.如何设计一个秒杀系统(完整版 转)
drools从下载到postman请求成功
"Introduction to nlp + actual combat: Chapter 8: Using Pytorch to realize handwritten digit recognition"
用户与用户互发红包/支付宝C2C/B2C现金红包php源码示例/H5方式/兼容苹果/安卓
自定义通用分页标签01
7-2 LVS+DR概述与部署
文件内容的操作
【源码】使用深度学习训练一个游戏
什么是数字孪生智慧城市应用场景
SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropri
2003. 每棵子树内缺失的最小基因值 DFS
[Medical Insurance Science] To maintain the safety of medical insurance funds, we can do this
[Ryerson emotional speaking/singing audiovisual dataset (RAVDESS)]