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

算法学习01:排序二分

算法学习01:排序&&二分


文章目录

  • 算法学习01:排序&&二分
  • 前言
  • 需要记忆的模版:
    • 快速排序
    • 归并排序:
    • 整数二分:
    • 浮点数二分
  • 一、排序
    • 1.快速排序
    • 2.归并排序:
  • 二、二分
    • 1.整数
    • 2.浮点数
  • 总结


前言

在这里插入图片描述

需要记忆的模版:

快速排序

void quick_sort(int q[], int l, int r)
{if(l >= r) return;int x = q[l]; i = l - 1; j = r + 1; while(l < r) {do i++; while(q[i] < x);//注意1:do_while至少执行一次 do j--; while(q[j] > x);//直到不满足条件才出来 }quick_sort(q, l, j);quick_sort(q, j + 1, r);	
}

归并排序:

void merge_sort(int q[] , int l, int r)
{if(l >= r) return;int mid = l + r >> 2;merge_sort(q, l, mid);merge_sort(q, mid + 1, r);int k = 0, i = l, j = mid + 1;while(i <= mid && j <= r) if(q[i] <= q[j]) temp[k ++ ] = q[i ++ ];else temp[k ++ ] = q[j ++ ];while(i <= mid) temp[k ++ ] = q[i ++ ];//注意1:考虑有多有少的情况 while(j <= r) temp[k ++ ] = q[j ++ ];//注意2:将temp数组复制到原数组q for(int i = l, j = 0; i <= r; i++, j++) q[i] = temp[j];	} 

整数二分:

int l = 0, r = n - 1; 
while(l < r)
{int	mid = (l + r) / 2;if(q[mid] >= x) r = mid;//右边 else l = mid + 1;
}while(l < r)
{int mid = (l + r + 1) / 2;//注意:需要+1if(q[mid] <= x) l = mid;//左边else r = mid - 1;
}

浮点数二分

double l = 0, r = x;
while(r - 1 > le-8)//注意1:精度问题 
{double mid = (l + r) / 2;if(mid * mid >= x) r = mid;else l = mid;//注意不是mid + 1} 

提示:以下是本篇文章正文内容:

一、排序

1.快速排序

在这里插入图片描述



2.归并排序:

在这里插入图片描述



二、二分

1.整数

在这里插入图片描述



2.浮点数


总结

提示:这里对文章进行总结:
记忆模版!!!

相关文章:

算法学习01:排序二分

算法学习01&#xff1a;排序&&二分 文章目录 算法学习01&#xff1a;排序&&二分前言需要记忆的模版&#xff1a;快速排序归并排序&#xff1a;整数二分&#xff1a;浮点数二分 一、排序1.快速排序2.归并排序&#xff1a; 二、二分1.整数2.浮点数 总结 前言 需要…...

OpenAI (ChatGPT)中国免费试用地址

GitHub - click33/chatgpt---mirror-station-summary: 汇总所有 chatgpt 镜像站&#xff0c;免费、付费、多模态、国内外大模型汇总等等 持续更新中…… 个人能力有限&#xff0c;搜集到的不多&#xff0c;求大家多多贡献啊&#xff01;众人拾柴火焰高&#xff01;汇总所有 cha…...

IOS面试题object-c 11-20

11、解释self [super init]方法&#xff1f; 容错处理, 当父类初始化失败,会返回一个nil, 表示初始化失败。 由于继承的关系, 子类是需要拥有父类的实例和行为, 因此, 我们必须先初始化父类,然后再初始化子类 12、简述使用block有什么优点&#xff1f;代码紧凑&#xff0c;传值…...

北斗导航 | 十四种抗差稳健估计(抗差M估计)方法(算法公式)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 稳健估计(M估计) 1、Huber法2、残差绝对和最小法3、L1-L2法...

【JavaEE】_Spring MVC项目使用数组与集合传参

目录 1. 使用数组传参 1.2 传递单个参数 1.3 传递多个名称相同的参数 1.3.1 关于urlencode 2. 使用集合传参 1. 使用数组传参 创建一个Spring MVC项目&#xff0c;其中 .java文件内容如下&#xff1a; package com.example.demo.controller;import com.example.demo.Per…...

Centos 9 安装 k8s

为了尽可能契合生产环境的部署情况&#xff0c;这里用kubeadm安装集群&#xff0c;同时方便跟随笔记一步步实践的过程&#xff0c;也更加了解k8s的一些特性和基础知识。 先决条件 这里将通过虚拟机安装3台centos stream 9服务器&#xff0c;并组成kubeneters集群&#xff08;…...

WiFi模块助力少儿编程:创新学习与实践体验

随着科技的飞速发展&#xff0c;少儿编程已经成为培养孩子们创造力和问题解决能力的重要途径之一。在这个过程中&#xff0c;WiFi模块的应用为少儿编程领域注入了新的活力&#xff0c;使得学习编程不再是单一的代码教学&#xff0c;而是一个充满创新与实践的综合性体验。 物联网…...

最新:Selenium操作已经打开的Chrome(免登录)

最近重新尝试了一下&#xff0c;之前写的博客内容。重新捋了一下思路。 目的就是&#xff0c;selenium在需要登录的网站面前&#xff0c;可能就显得有些乏力&#xff0c;因此是不是有一种东西&#xff0c;可以操作它打开我们之前打开过的网站&#xff0c;这样就不用登录了。 …...

三色标记过程

可达性分析 GC过程中需要对对象图遍历做可达性分析。使用了三色标记法进行分析。 什么三色&#xff1f; 白色&#xff1a;尚未访问过。 黑色&#xff1a;本对象已访问过&#xff0c;而且本对象 引用到 的其他对象 也全部访问过了。 灰色&#xff1a;本对象已访问过&#xff0…...

记录汇川:IO隔离编程

IO隔离&#xff1a;方便程序修改 无论是输入点坏了还是输出点坏了&#xff0c;或者人为接错线&#xff0c;或者对调点&#xff0c;我们只需要更改IO隔离得输入输出就可以了。方便。 停止按钮外接常闭&#xff0c;里面也使用常闭&#xff0c;为了断线检测功能(安全)&#xff…...

【Docker】容器的生态系统

Docker提供了一整套技术支持&#xff0c;包括核心技术、平台技术、支持技术。 核心技术 容器核心技术是指能让Container&#xff08;容器&#xff09;在host&#xff08;集群、主机&#xff09;上运行起来的那些技术。 1&#xff09;容器规范&#xff1a;OCI&#xff08;runt…...

AVL树讲解

AVL树 1. 概念2. AVL节点的定义3. AVL树插入3.1 旋转 4.AVL树的验证 1. 概念 AVL树是一种自平衡二叉搜索树。它的每个节点的左子树和右子树的高度差&#xff08;平衡因子&#xff0c;我们这里按右子树高度减左子树高度&#xff09;的绝对值不超过1。AVL的左子树和右子树都是AV…...

20240308-1-校招前端面试常见问题CSS

校招前端面试常见问题【3】——CSS 1、盒模型 Q&#xff1a;请简述一下 CSS 盒模型&#xff1f; W3C 模式&#xff1a;盒子宽widthpaddingbordermargin 怪异模式&#xff1a;盒子宽widthmargin Q&#xff1a;inline、block、inline-block 元素的区别&#xff1f; inline&am…...

linux系统简述docker

简述docker docker理念docker三要素docker平台架构docker运行的基本流程 docker理念 一次镜像&#xff0c;处处运行 基于go语言实现的项目 解决了运行环境和配置问题的软件容器&#xff0c;方便做持续集成并有助于整体发布的容器虚拟化技术 能够使硬件、操作系统和应用程序三者…...

【论文阅读】Mamba:选择状态空间模型的线性时间序列建模(一)

文章目录 Mamba:选择状态空间模型的线性时间序列建模介绍状态序列模型选择性状态空间模型动机&#xff1a;选择作为一种压缩手段用选择性提升SSM 选择性SSM的高效实现先前模型的动机选择扫描总览&#xff1a;硬件感知状态扩展 Mamba论文 Mamba:选择状态空间模型的线性时间序列建…...

漏洞复现-蓝凌LandrayOA系列

蓝凌OA系列 &#x1f52a; 是否利用过 优先级从高到低 发现日期从近到远 公司团队名_产品名_大版本号_特定小版本号_接口文件名_漏洞类型发现日期.载荷格式LandrayOA_Custom_SSRF_JNDI漏洞 LandrayOA_sysSearchMain_Rce漏洞 LandrayOA_Custom_FileRead漏洞...

计算机网络 路由算法

路由选择协议的核心是路由算法&#xff0c;即需要何种算法来获得路由表中的各个项目。 路由算法的目的很明显&#xff0c;给定一组路由器以及连接路由器的链路&#xff0c;路由算法需要找到一条从源路由器到目的路由器的最佳路径&#xff0c;通常&#xff0c;最佳路径是由最低…...

【C++ 学习】构造函数详解!!!

1. 类的6个默认成员函数的引入 ① 如果一个类中什么成员都没有&#xff0c;简称为空类。 ② 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 ③ 默认成员函数&#xff1a;用户没有显式实现&…...

【LeetCode】72. 编辑距离(中等)——代码随想录算法训练营Day55

题目链接&#xff1a;72. 编辑距离 题目描述 给你两个单词 word1 和 word2&#xff0c; 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作&#xff1a; 插入一个字符删除一个字符替换一个字符 示例 1&#xff1a; 输入&#xff1a;w…...

关于手机是否支持h264的问题的解决方案

目录 现象 原理 修改内容 现象 开始以为是手机不支持h264的编码 。机器人chatgpt一通乱扯。 后来检查了下手机&#xff0c;明显是有h264嘛。 终于搞定&#xff0c;不枉凌晨三点起来思考 原理 WebRTC 默认使用的视频编码器是VP8和VP9&#xff0c;WebRTC内置了这两种编码器…...

告别示波器抓瞎:手把手教你用低成本逻辑分析仪解码汽车SENT传感器信号

低成本逻辑分析仪破解汽车SENT传感器全指南 当发动机故障灯突然亮起&#xff0c;4S店用专业设备检测后告诉你"某个传感器信号异常"时&#xff0c;你是否好奇过这些隐藏在金属外壳下的数据究竟如何传递&#xff1f;在汽车电子领域&#xff0c;SENT协议正逐渐成为压力…...

ncmdump终极指南:快速免费解密网易云音乐NCM格式的完整解决方案

ncmdump终极指南&#xff1a;快速免费解密网易云音乐NCM格式的完整解决方案 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为下载的网易云音乐只能在官方客户端播放而烦恼吗&#xff1f;ncmdump工具为你带来了真正的音乐自由解…...

从零到一:Roboguide许可证全生命周期管理实战指南

1. Roboguide许可证管理全景图 第一次接触Roboguide许可证时&#xff0c;我和大多数工程师一样踩过不少坑。记得有次项目交付前三天&#xff0c;突然发现试用期许可证过期&#xff0c;整个仿真环境瘫痪&#xff0c;最后不得不连夜联系供应商紧急处理。这段经历让我深刻意识到&a…...

Java的invokedynamic指令:Lambda表达式和Nashorn引擎的基础

Java的invokedynamic指令&#xff1a;Lambda表达式和Nashorn引擎的基础 Java 7引入的invokedynamic指令彻底改变了JVM的动态语言支持能力&#xff0c;为后续Lambda表达式和Nashorn引擎的实现奠定了基础。这一指令通过运行时动态解析方法调用&#xff0c;显著提升了灵活性和性能…...

HC32F460 SPI驱动ILI9341踩坑实录:从寄存器配置到屏幕闪烁的解决方案

HC32F460驱动ILI9341实战避坑指南&#xff1a;从SPI配置到显示优化的全流程解析 第一次点亮ILI9341屏幕时&#xff0c;那种期待与忐忑交织的感觉至今难忘——接好线、写完代码、上电测试&#xff0c;结果要么白屏要么花屏&#xff0c;甚至直接毫无反应。这种经历对于嵌入式开发…...

ComfyUI-Impact-Pack完整指南:AI图像细节增强的终极解决方案

ComfyUI-Impact-Pack完整指南&#xff1a;AI图像细节增强的终极解决方案 【免费下载链接】ComfyUI-Impact-Pack Custom nodes pack for ComfyUI This custom node helps to conveniently enhance images through Detector, Detailer, Upscaler, Pipe, and more. 项目地址: ht…...

FreeRTOS任务优先级设置指南:以温湿度监测和LED控制为例(避坑分享)

FreeRTOS任务优先级设置实战&#xff1a;温湿度监测与LED控制的平衡艺术 在嵌入式系统开发中&#xff0c;任务优先级的合理分配往往决定了整个系统的响应性和稳定性。我曾在一个农业温室监控项目中&#xff0c;因为优先级设置不当导致温湿度数据采集延迟高达2秒&#xff0c;差点…...

MQTTX+Qt联合调试指南:手把手搭建物联网通信测试环境

MQTTXQt联合调试指南&#xff1a;手把手搭建物联网通信测试环境 在物联网开发中&#xff0c;MQTT协议因其轻量级和高效性成为设备通信的首选方案。而Qt框架的跨平台特性与MQTTX工具的直观可视化界面&#xff0c;为开发者提供了从原型验证到产品落地的完整工具链。本文将带您从零…...

2025届学术党必备的降AI率工具推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 为了降低文本的 AIGC 率&#xff0c;得从语言自然度与结构差异性这两个关键要点着手。就语言…...

MATLAB实战:手把手教你搭建机载SAR正侧视回波仿真环境(附完整代码)

MATLAB实战&#xff1a;从零构建机载SAR正侧视回波仿真系统 在雷达信号处理领域&#xff0c;合成孔径雷达&#xff08;SAR&#xff09;仿真一直是工程师和研究人员必须掌握的核心技能。不同于传统雷达&#xff0c;SAR通过运动平台合成虚拟大孔径天线&#xff0c;实现高分辨率成…...