news 2026/5/8 11:36:02

C语言数组常见算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言数组常见算法

1.基本查找/顺序查找

1.核心思路:从数组0索引开始,依次往后查找,若找到就会返回数据对应索引,若没找到,返 回-1

实操实例:

2.二分查找/折半查找

1.前提条件:数组中的数据必须是有序的

2.核心逻辑:每次排除一半查找范围

3.步骤

1.定义min和max为最小索引和最大索引

2.min和max表示当前要查找的范围

3.定义mid为min和max的平均数

4.要查找的元素在mid左边,缩小范围时,min不变,max=mid+1

5.要查找的元素在mid的右边,缩小范围时,max不变,min=mid+1

实操实例:

3.插值查找

1.本质:二分查找改进

2.公式

3.要求:数据要有序,且数据分布尽可能均匀一点

4.优势:满足要求:效率比二分查找快,否则反而会更慢

4.分块查找

1.原则

1.前一块中最大的数据,小于后一块中所有的数据(块内无序,块间有序)

2.快数数量一般等于数字的个数开根号

2.核心思路:先确定要查找的元素在那一块,然后再块内挨个查找

5.冒泡排序

1.核心思想:相邻的两数据比较,小的放前面,大的放后面

2.思路:

6.选择排序

1.从0索引开始,拿着每一个索引上的元素跟后面的元素依次比较,小的放前面,大的放后面, 依次类推

2.思路:

实操实例:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 10:39:16

GitHub Wiki文档编写规范|Miniconda-Python3.10案例示范

GitHub Wiki文档编写规范|Miniconda-Python3.10案例示范 在人工智能和数据科学项目中,一个常见的痛点是:“代码能跑,但环境配不起来。” 哪怕模型精度再高、逻辑再严谨,如果别人无法复现你的运行环境,整个项…

作者头像 李华
网站建设 2026/5/5 0:06:26

AI 不想取代播客主播,因为播客根本不赚钱|编码人声

「编码人声」是由「RTE开发者社区」策划的一档播客节目,关注行业发展变革、开发者职涯发展、技术突破以及创业创新,由开发者来分享开发者眼中的工作与生活。 别再问「AI 会不会取代播客主播」了——AI 根本懒得动你,因为你这个赛道压根不赚钱…

作者头像 李华
网站建设 2026/5/6 14:17:04

Leetcode 189.轮转数组 JavaScript (Day 7)

js一刷法一 var rotate function(nums, k) {let ans[];const nnums.length;kk%n;if(k>0){for(let i n-k;i<n-1;i){ans.push(nums[i]);}for(let in-k-1;i>0;i--){nums[ik]nums[i];}for(let i0 ;i<k;i){nums[i]ans[i];}}};js一刷法二var rotate function(nums, k)…

作者头像 李华
网站建设 2026/5/1 3:02:13

特斯拉为何死磕纯视觉?成本、数据与安全冗余的自动驾驶路线之争

在自动驾驶感知技术路线中&#xff0c;以激光雷达为核心的多传感器融合方案已成为行业主流。然而&#xff0c;特斯拉却始终坚持仅使用摄像头的纯视觉方案。这一选择背后&#xff0c;是成本控制、数据驱动与第一性原理思维的综合考量。本文将剖析特斯拉坚持纯视觉方案的核心逻辑…

作者头像 李华