网站开发的项目实战/长春百度快速优化

网站开发的项目实战,长春百度快速优化,网站留言系统是怎么做的,wordpress 开场# 数组的常见算法 - 查找算法 1. 基本查找/顺序查找 2. 二分查找/折半查找 3. 插值查找 4. 分块查找 5. 哈希查找 6. 树表查找 7. 斐波那契查找 - 排序算法(顾名思义,就是把没有顺序的…

# 数组的常见算法
    - 查找算法
       1. 基本查找/顺序查找
       2. 二分查找/折半查找
       3. 插值查找
       4. 分块查找
       5. 哈希查找
       6. 树表查找
       7. 斐波那契查找
       
    - 排序算法(顾名思义,就是把没有顺序的数据进行从小到大/从大到小排序)
       1. 冒泡排序
       2. 选择排序


## 基本查找/顺序查找
        - 核心思路:就是从数组的0索引开始,依次往后查找
           * 如果找到了,就会返回数据对应的索引
           * 如果没找到,就会返回-1

    #include<stdio.h>int 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

 #include<stdio.h>int 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轮的代码就可以了
  

#include<stdio.h>void 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[i+1]){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. 第二轮……以此类推
      

 #include<stdio.h>void 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.mzph.cn/pingmian/71201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SyntaxError: positional argument follows keyword argument

命令行里面日常练手爬虫不注意遇到的问题&#xff0c;报错说参数位置不正确 修改代码后&#xff0c;运行如下图&#xff1a; 结果&#xff1a; 希望各位也能顺利解决问题&#xff0c;祝你好运&#xff01;

drawDB:一款免费数据库设计工具

drawDB 是一款基于 Web 的免费数据库设计工具&#xff0c;通过拖拽、复制、粘贴等方式进行数据库建模设计&#xff0c;同时可以生成相应的 SQL 脚本。 功能特性 drawDB 目前可以支持 MySQL、MariaDB、PostgreSQL、SQL Server 以及 SQLite 数据库&#xff0c;核心功能包括&…

FPGA开发,使用Deepseek V3还是R1(9):FPGA的全流程(详细版)

以下都是Deepseek生成的答案 FPGA开发&#xff0c;使用Deepseek V3还是R1&#xff08;1&#xff09;&#xff1a;应用场景 FPGA开发&#xff0c;使用Deepseek V3还是R1&#xff08;2&#xff09;&#xff1a;V3和R1的区别 FPGA开发&#xff0c;使用Deepseek V3还是R1&#x…

Hive-05之查询 分组、排序、case when、 什么情况下Hive可以避免进行MapReduce

一、目标 掌握hive中select查询语句中的基本语法掌握hive中select查询语句的分组掌握hive中select查询语句中的join掌握hive中select查询语句中的排序 二、要点 1. 基本查询 注意 SQL 语言大小写不敏感SQL 可以写在一行或者多行关键字不能被缩写也不能分行各子句一般要分行…

人工智能之数学基础:矩阵的范数

本文重点 在前面课程中,我们学习了向量的范数,在矩阵中也有范数,本文来学习一下。矩阵的范数对于分析线性映射函数的特性有重要的作用。 矩阵范数的本质 矩阵范数是一种映射,它将一个矩阵映射到一个非负实数。 矩阵的范数 前面我们学习了向量的范数,只有当满足几个条…

I2C驱动(十一) -- gpio模拟的i2c总线驱动i2c-gpio.c分析

相关文章 I2C驱动(一) – I2C协议 I2C驱动(二) – SMBus协议 I2C驱动(三) – 驱动中的几个重要结构 I2C驱动(四) – I2C-Tools介绍 I2C驱动(五) – 通用驱动i2c-dev.c分析 I2C驱动(六) – I2C驱动程序模型 I2C驱动(七) – 编写I2C设备驱动之i2c_driver I2C驱动(八) – 编写I2C…

(KTransformers) RTX4090单卡运行 DeepSeek-R1 671B

安装环境为&#xff1a;ubuntu 22.04 x86_64 下载模型 编辑文件vim url.list 写入如下内容 https://modelscope.cn/models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00001-of-00009.gguf https://modelscope.cn/models/unsloth/Dee…

海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)

1.首先说了一下为什么要用ISUP协议来取流 ISUP主要就是用来解决摄像头没有公网ip的情况,如果摄像头或者所在局域网的路由器有公网ip的话&#xff0c;其实采用rtsp直接取流是最方便也是性能最好的&#xff0c;但是项目的摄像头没有公网IP所以被迫使用ISUP&#xff0c;ISUP是海康…

SpringBoot原理-03.自动配置-方案

一.自动配置原理 探究自动配置原理&#xff0c;就是探究spring是如何在运行时将要依赖JAR包提供的配置类和bean对象注入到IOC容器当中。我们当前准备一个maven项目itheima-utils&#xff0c;这里面定义了bean对象以及配置类&#xff0c;用来模拟第三方提供的依赖&#xff0c;首…

高频 SQL 50 题(基础版)_2356. 每位教师所教授的科目种类的数量

高频 SQL 50 题&#xff08;基础版&#xff09;_2356. 每位教师所教授的科目种类的数量 select teacher_id ,count(distinct(subject_id)) as cnt from Teacher group by teacher_id

神经网络之词嵌入模型(基于torch api调用)

一、Word Embedding&#xff08;词嵌入&#xff09;简介 Word Embedding&#xff08;词嵌入&#xff09;&#xff1a; 词嵌入技术是自然语言处理&#xff08;NLP&#xff09;领域的一项重大创新&#xff0c;它极大地推动了计算机理解和处理人类语言的能力。 通过将单词、句子甚…

SpringBoot @Value 注解使用

Value 注解用于将配置文件中的属性值注入到Spring管理的Bean中。 1. 基本用法 Value 可以直接注入配置文件中的属性值。 配置文件 (application.properties 或 application.yml) 配置文件定义需要注入的数据。 consumer:username: lisiage: 23hobby: sing,read,sleepsubje…

Redis面试常见问题——使用场景问题

目录 Redis面试常见问题 如果发生了缓存穿透、击穿、雪崩&#xff0c;该如何解决&#xff1f; 缓存穿透 什么是布隆过滤器&#xff1f; 缓存击穿 缓存雪崩 双写一致性&#xff08;redis做为缓存&#xff0c;mysql的数据如何与redis进行同步呢&#xff1f;&#xff09; …

在Ubuntu 22.04 LTS 上安装 MySQL两种方式:在线方式和离线方式

Ubuntu安装MySQL 介绍&#xff1a; Ubuntu 是一款基于Linux操作系统的免费开源发行版&#xff0c;广受欢迎。它以稳定性、安全性和用户友好性而闻名&#xff0c;适用于桌面和服务器环境。Ubuntu提供了大量的软件包和应用程序&#xff0c;拥有庞大的社区支持和活跃的开发者社区…

用Java编写sql

1.概念 通过Java代码操作mysql数据库 数据库编程&#xff0c;是需要数据库服务器&#xff0c;提供一些API&#xff0c;供程序员调用的 2.安装 2.1下载 在程序中操作mysql需要先安装mysql的驱动包 并且要把驱动包引入到项目中 在中央仓库可以下载到驱动包(mvnrepository.…

Redis数据结构-List列表

1.List列表 列表类型适用于存储多个有序的字符串&#xff08;这里的有序指的是强调数据排列顺序的重要&#xff0c;不是升序降序的意思&#xff09;&#xff0c;列表中的每个字符串称为元素&#xff08;element&#xff09;&#xff0c;一个列表最多可以存储2^32-1个元素。在R…

Linux实操——在服务器上直接从百度网盘下载(/上传)文件

Linux Linux实操——在服务器上直接从百度网盘下载&#xff08;/上传&#xff09;文件 文章目录 Linux前言一、下载并安装bypy工具二、认证并授权网盘账号三、将所需文件转移至目的文件夹下四、下载文件五、上传文件六、更换绑定的百度云盘账户 前言 最近收到一批很大的数据&…

题解 | 牛客周赛82 Java ABCDEF

目录 题目地址 做题情况 A 题 B 题 C 题 D 题 E 题 F 题 牛客竞赛主页 题目地址 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 做题情况 A 题 判断字符串第一个字符和第三个字符是否相等 import java.io.*; import java.math.*; import java.u…

基金 word-->pdf图片模糊的解决方法

1. 首先需要Adobe或福昕等pdf阅读器。 2. word中 [文件]--[打印]&#xff0c;其中打印机选择pdf阅读器&#xff0c;例如此处我选择福昕阅读器。 3. 选择 [打印机属性]--[编辑]--[图像]&#xff0c;将所有的采样、压缩均设置为 关闭。点击[另存为]&#xff0c;保存为 基金报告…

基于RKNN的嵌入式深度学习开发(2)

上一个章节我们介绍的RKNN模型的模型转换和模型的推理&#xff0c;这一章节我们将介绍模型的量化和评估部分。 2.3 RKNN模型的量化 量化就是将浮点转换为定点运算的过程&#xff0c;或者训练后由rknn来量化。量化模型使用较低精度&#xff08;如int8/uint8/int16&#xff09;保…