当前位置: 首页 > news >正文

网络公司 建站 官方网站电商广告推广

网络公司 建站 官方网站,电商广告推广,饮食中心网站建设方案,人力资源信息管理平台# 数组的常见算法 - 查找算法 1. 基本查找/顺序查找 2. 二分查找/折半查找 3. 插值查找 4. 分块查找 5. 哈希查找 6. 树表查找 7. 斐波那契查找 - 排序算法#xff08;顾名思义#xff0c;就是把没有顺序的…# 数组的常见算法     - 查找算法        1. 基本查找/顺序查找        2. 二分查找/折半查找        3. 插值查找        4. 分块查找        5. 哈希查找        6. 树表查找        7. 斐波那契查找             - 排序算法顾名思义就是把没有顺序的数据进行从小到大/从大到小排序        1. 冒泡排序        2. 选择排序 ## 基本查找/顺序查找         - 核心思路就是从数组的0索引开始依次往后查找            * 如果找到了就会返回数据对应的索引            * 如果没找到就会返回-1 #includestdio.hint order(int arr[], int len, int needFindNum) {for (int i 0; i len; i){if (arr[i] needFindNum){return i;}}return -1;}int main() {//1. 定义数组int arr[] {11,22,33,44,55};int len sizeof(arr) / sizeof(arr[0]);//2. 定义一个变量表示要查找的数据int num 55;//3. main函数外定义一个方法进行顺序查找int index order(arr,len,num);printf(%d\n, index);return 0;} ## 二分查找/折半查找         - 前提条件数组里得数据必须是有序的         - 核心逻辑每次排除一半的查找范围         - 默认刚开始min是索引为0的值max是索引为最大的那个值         - 核心思路            1. min和max表示当前要查找的范围            2. min是min和max中间的            3. 如果要查找的值在mid的左边缩小范围时min不变max等于mid - 1            4. 如果要查找的值在mid的右边缩小范围时max不变min等于mid 1              * 如果找到了就会返回数据对应的索引              * 如果没找到就会返回-1 #includestdio.hint binarySearch(int arr[], int len, int needFindNum) {//1确定要查找的范围int min 0;int max len - 1;//注意min,max,mid都是指索引while (min max) {int mid min (max - min)/ 2;//确定中间位置if (arr[mid] needFindNum){min mid 1;}else if (arr[mid] needFindNum){max mid - 1;}else {return mid;}}return -1;}int main() {//折半查找/二分查找int arr[] {11,22,33,44,55};int len sizeof(arr) / sizeof(arr[0]);int num 33;int index binarySearch(arr, len, num);printf(要查找的值所在索引为%d\n,index);return 0;} ## 插值查找         - 要求数据要有序且数据分布尽可能得均匀分布一些         - 优势满足要求效率比二分查找快否则反而会更慢。         - 和二分查找相比mid尽可能得靠近要查找的数据但是要求数据尽可能的分布均匀。         - 代码和二分查找无异就是把mid (min max)/2;  替换成        int mid min (needFindNum - arr[min]) / (arr[max] - arr[min]) * (max - min); ## 分块查找         - 分块的原则1前一块中的最大数据小于后一块中所有的数据块内无序快间有序         - 分块的原则2块数数量一般等于数字的个数开根号比如16个数字一般分为4块左右         - 核心思路先确定要查找的元素在哪一块然后块内挨个查找          * 面对无规律的数据在进行分块时确保每块数字无交集哈希查找 ## 哈希查找         - 在分块查找的核心思路上面对的是无规律的数据在进行分块时确保每块数字无交集 ## 冒泡排序         - 核心逻辑相邻的数据两两比较小的放前面大的放后面         - 核心思路              1. 相邻的元素两两比较大的放右边小的放左边。默认排成从小到大              2. 第一轮比较完毕之后最大值就已经确定第二轮以此类推。              3. 如果数据中有n个数据总共我们只要执行n-1轮的代码就可以了    #includestdio.hvoid bubbleSort(int arr[] , int len) {for (int j 0; j len - 1; j){for (int i 0; i len - 1 - j; i) {if (arr[i] arr[i1]){int temp arr[i];arr[i] arr[i 1];arr[i 1] temp;}}}}int main() {int arr[] {55,56,33,11,22};int len sizeof(arr) / sizeof(arr[0]);bubbleSort(arr, len);//遍历排完序后的数组for (int i 0; i len; i){printf(%d ,arr[i]);}return 0;}## 选择排序         - 核心逻辑从0索引开始拿着每一个索引上的元素跟后面的元素依次比较小的放前面大的放后面以此类推。         - 核心思想           1. 从0索引开始跟后面的元素进行一一比较           2. 小的放前面大的放后面           3. 第一轮循环从0索引开始比较结束后最小的数据已经确定           4. 第二轮……以此类推        #includestdio.hvoid selectSort(int arr[] ,int len) {for (int j 0; j len - 1; j){for (int i j 1; i len ;i) {if (arr[j] arr[i]){int temp arr[j];arr[j] arr[i];arr[i] temp;}}}}int main() {int arr[] { 55,56,33,11,22 };int len sizeof(arr) / sizeof(arr[0]);selectSort(arr,len);//遍历排好序的数组for (int i 0; i len; i){printf(%d ,arr[i]);}return 0;}
http://www.hkea.cn/news/14379519/

相关文章:

  • 四川省建设厅网站为什么打不开自已做好的网站怎么做后台
  • 崇明做网站公司wordpress无法上传主题
  • 建设校园网站的意义wordpress 建网站视频
  • 一个新的网站怎么做优化网站被黑是什么原因
  • 建设网站美海房地产全球十大跨境电商平台排行榜前十名
  • 岳阳网站定制开发设计青岛网站互联网公司
  • 做网站 每月赚 钱建设银行E路航如何自动进入网站
  • 设计工作网站好七牛云服务
  • 网站建设中 敬请期待 源码传奇网页游戏网
  • 网站建设名牌网站建设保障措施
  • 个人网站主页设计模板wordpress能接口
  • IP网站登记陇西网站建设 室内设计
  • 江苏专业的网站建设注册查询官方网站
  • 网站组成部分小程序开发需要什么基础
  • 开一家网店沈阳网站建设优化
  • 邯郸高端网站建设价格wordpress 固定链接插件
  • 关键词智能优化排名长沙网站seo推广
  • 网站建设与管理题目泰安直聘网官网
  • 网站变成手机网站做公司网站 需要注意什么
  • 网站建设人员需求专业的google推广公司
  • 常州seo建站seo排名软件哪个好
  • 做电商怎么入门百度关键词怎么优化
  • 检察院门户网站建设情况邢台短视频优化
  • 网站建设视频技术论坛wordpress在线咨询
  • 网站平台运营方案校园兼职网站建设
  • 北京网站建设学习月夜直播下载
  • 如何创业做网站公司展厅
  • 对网站备案的认识网站建设账务处理
  • 静态网站提交表单怎么做国内大型游戏外包公司
  • 昆明网站制作推荐网站备份了怎么恢复