单片机上实现二分查找+线性插值计算
项目中需要在现有数据表格里面搜索数据,并做线性插值计算。
线性插值计算原理简单,即两点之间近似为直线,求直线上的某一点坐标即可。
已知点(x0,y0)、(x1,y1)求取插值点x处的y。
( y-y0)/(x-x0)=(y1-y0)/(x1-x0),就可以求出该点坐标
考虑超出表格范围的数据也做线性插值计算。
二分查找法实质上是不断地将有序数据集进行对半分割,并检查每个分区的中间元素,复杂度:O(lg n),n为要查找的元素个数。
二分查找的时间复杂度取决于查找过程中分区数可能的最大值。对于一个有n个元素的数据集来说,最多可以进行lg n次分区。对于二分查找,这表示最终可能在最坏的情况下执行的检查的次数:例如,在没有找到目标时。所以二分查找的时间复杂度为O(lg n)。
二分查找代码如下。
根据自己的需求,插值计算还可以是对数插值,指数插值,抛物线插值等等。
下一篇:C++程序性能调优
相关文章
- Spring Boot中对接Twilio以实现发送验证码和验证短信码
- Spring Boot 3.5:这次更新让你连配置都不用写了,惊不惊喜?
- Spring Boot+Pinot实战:毫秒级实时竞价系统构建
- SpringBoot敏感配置项加密与解密实战
- SpringBoot 注解最全详解,建议收藏!
- Spring Boot 常用注解大全:从入门到进阶
- SpringBoot启动之谜:@SpringBootApplication如何让配置化繁为简
- Springboot集成Kafka原理_spring集成kafka的原理
- Spring Boot中@Data注解的深度解析与实战应用
- 大佬用1000字就把SpringBoot的配置文件讲的明明白白!
