嵌入式开发-lesson8-什么是算法

简介: 什么是算法 算法 + 数据结构 = 程序 算法就是解决问题的步骤和方法 经典的列子:计算1+2+3+。。。。。+100 1) step1: 1+2--->sum  step2: sum+3--->sum    step3: sum+4--->sum  .

什么是算法

算法 + 数据结构 = 程序

算法就是解决问题的步骤和方法

经典的列子:计算1+2+3+。。。。。+100

1) step1: 1+2--->sum

 step2: sum+3--->sum  

 step3: sum+4--->sum

 ....

 step99:sum+100--->sum

2) step1: 1--->num

 step2: 0--->sum

 step3: num+sum--->sum

 step4: num+1--->num

 step5: 如果num返回step3,否则step6

 step6:退出

3)step1: 1+100--->sum

 step2: sum x 50--->sum

 step3: 退出

不同的做法虽然结果一样,但是耗费的精力却不同

 

练习一下

1、    计算1x2x3x4...x100

step1: 1--->num

 step2: 1--->sum

 step3: num x sum--->sum

 step4: num + 1--->num

 step5: 如果num返回step3,否则step6

 step6:退出

2、    打印出2000-2500之间的闰年

首先来分析一下什么是闰年?

1)能被4整除但是不能被100整除的年份

2)能被400整除的年份

 

流程:

 step1: 2000--->year

 step2: 如果year不能被4整除,不是闰年,跳转step5

 step3: 如果year能被4整除,不能被100整除,那么打印year,跳转step5

 step4: 若果year能被400整除,打印year,跳转step5

 step5: year + 1--->year

 step6:如果year大于2500,退出

3、    3个数a,b,c打印出其中最大的

step1: 如果a>b,  a--->temp,否则b--->temp

step2:如果c>temp c--->temp

step3: 输出temp

相关文章
|
7月前
|
机器学习/深度学习 运维 算法
大模型开发:描述一种用于异常检测的技术或算法。
LOF算法是一种无监督异常检测技术,通过比较数据点局部密度识别离群点。它计算每个点的局部离群因子得分,得分高则异常可能性大。主要步骤包括:距离度量、k近邻搜索、计算局部可达密度和LOF得分,然后设定阈值识别异常点。适用于入侵检测、故障检测等场景,Python中可使用scikit-learn库实现。
103 1
|
7月前
|
机器学习/深度学习 算法
大模型开发:解释随机森林算法以及它是如何做出决策的。
随机森林是集成学习方法,利用多棵决策树提升性能。通过随机抽样和特征选择创建弱分类器,减少模型相关性。每个决策树基于子数据集和特征子集构建,预测时集成所有决策树结果,分类问题采用投票,回归问题取平均值。这种方法降低过拟合风险,提高准确性和稳定性,对噪声和异常值容忍度高,广泛应用。
95 0
|
7月前
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
在本教程中,您将学习在阿里云交互式建模平台PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理,实现文本驱动的图像编辑功能单卡即可完成AIGC图片风格变化、背景变化和主体变化等功能。让我们一同开启这场旅程,为您的图像编辑添上无限可能性的翅膀吧。
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
|
1月前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
41 3
|
4月前
|
算法 NoSQL 中间件
go语言后端开发学习(六) ——基于雪花算法生成用户ID
本文介绍了分布式ID生成中的Snowflake(雪花)算法。为解决用户ID安全性与唯一性问题,Snowflake算法生成的ID具备全局唯一性、递增性、高可用性和高性能性等特点。64位ID由符号位(固定为0)、41位时间戳、10位标识位(含数据中心与机器ID)及12位序列号组成。面对ID重复风险,可通过预分配、动态或统一分配标识位解决。Go语言实现示例展示了如何使用第三方包`sonyflake`生成ID,确保不同节点产生的ID始终唯一。
114 0
go语言后端开发学习(六) ——基于雪花算法生成用户ID
|
4月前
|
数据采集 前端开发 算法
基于朴素贝叶斯算法的新闻类型预测,django框架开发,前端bootstrap,有爬虫有数据库
本文介绍了一个基于Django框架和朴素贝叶斯算法开发的新闻类型预测系统,该系统具备用户登录注册、后台管理、数据展示、新闻分类分布分析、新闻数量排名和新闻标题预测等功能,旨在提高新闻处理效率和个性化推荐服务。
|
6月前
|
算法 Java API
记录我第一次在Android开发图像处理算法的经历
记录我第一次在Android开发图像处理算法的经历
40 1
|
7月前
|
算法 前端开发 Android开发
Android文字基线Baseline算法的使用讲解,Android开发面试题
Android文字基线Baseline算法的使用讲解,Android开发面试题
Android文字基线Baseline算法的使用讲解,Android开发面试题
|
7月前
|
JavaScript 算法 前端开发
【专栏】前端开发中的slot算法和shadow DOM,两者提供更灵活、高效和模块化的开发方式
【4月更文挑战第29天】本文探讨了前端开发中的slot算法和shadow DOM,两者提供更灵活、高效和模块化的开发方式。slot算法允许在组件中定义插槽位置,实现内容的灵活插入和复用,提高代码可读性和维护性。shadow DOM则通过封装DOM子树,实现样式和事件的隔离,增强组件独立性和安全性。这两种技术常应用于组件开发、页面布局和主题定制,但也面临兼容性、学习曲线和性能优化等挑战。理解并掌握它们能提升开发效率和用户体验。
110 2
|
7月前
|
存储 算法 PHP
开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?
开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?
43 1
开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?