目录
作者简介:大家好我是小唐同学(๑><๑),大家可以叫我小唐
个人主页:小唐同学(๑><๑)的博客主页
系列专栏:数据结构
博友们如果也是新手入门数据结构我希望大家可以多加练习 数据结构题库在牛客网就有已经给大家附上链接,可以直接点击跳转:刷题点这里
牛客网支持ACM模式哦,刷算法题也很推荐哦!!!
下面上文章------》
数据结构概念:
数据结构大家一定不陌生,但是说到概念大多数人应该也是不知道具体的,下面给大家补充数据结构的概念
算法经常会和数据结构一起出现 刚开始我还问小山猪大佬(本次活动算法赛道导师)会讲数据结构吗?小山猪大佬说算法和数据结构是不分家的。
这是为什么那?
因为对于同一个问题(如:排序),使用不同的数据结构来存储数据,对应的算法可能千差万别,所以在我们的日常学习过程中也会涉及到各种数据结构的使用。
(如:数组,堆,栈,队列,链表,树,图等)
算法效率:
在设计算法过程中还需要对算法执行情况进行评估,要从运行时间和资源的消耗进行评估
对这两种方面进行评估我们会使用到两种概念
1)时间复杂度
时间复杂度主要是对程序的运行时间进行估算找出运行次数最多表达式
2)空间复杂度
程序从开始到结束所需的内存容量
注:以上均为个人理解,若有误差请评论指正
顺序查找:
查找也被称为检索,算法主要目的是在某种数据结构中找出满足给定条件的元素(等值匹配)
顺序查找是最简单的查找算法,就是把给定值从某一个集合的开始一直比较,找到指定值才停止或者找到集合末尾结束(表示查找失败)
代码实现:
# include <stdio.h> int main() { int y; scanf("%d",&y); int a[5]; int i=0; for(i=0;i<5;i++) { scanf("%d",&a[i]); } for(i=0;i<5;i++) { if(y==a[i]) { printf("%d",i); } } if(i==5) { printf("没有找到"); } }