当前位置: 首页 > 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内置了这两种编码器…...

ABAP ALV删除行后数据又‘复活’?一个方法搞定check_changed_data

ABAP ALV删除行数据同步异常排查指南&#xff1a;从Del键失效到check_changed_data的深度解析 在SAP系统开发中&#xff0c;可编辑ALV报表的数据同步问题堪称"经典陷阱"。许多开发者都遇到过这样的场景&#xff1a;用户信心满满地按下Del键删除行项目&#xff0c;点击…...

如何三步构建企业级远程桌面控制平台:从零到私有化部署

如何三步构建企业级远程桌面控制平台&#xff1a;从零到私有化部署 【免费下载链接】billd-desk 基于Vue3 WebRTC Nodejs Flutter搭建的远程桌面控制、游戏串流 项目地址: https://gitcode.com/gh_mirrors/bi/billd-desk 你是否曾因远程协助软件的安全隐患而担忧&…...

Uncle小说桌面阅读器:打造你的个人数字书房终极指南

Uncle小说桌面阅读器&#xff1a;打造你的个人数字书房终极指南 【免费下载链接】uncle-novel &#x1f4d6; Uncle小说&#xff0c;PC版&#xff0c;一个全网小说下载器及阅读器&#xff0c;目录解析与书源结合&#xff0c;支持有声小说与文本小说&#xff0c;可下载mobi、epu…...

告别玄学调参:用Cubemx HAL库+MPU6050 DMP,给你的STM32平衡小车一个‘出厂设置’

从零构建STM32平衡小车&#xff1a;HAL库与DMP的黄金组合 平衡小车一直是嵌入式开发者和电子竞赛选手的热门项目&#xff0c;它不仅考验硬件搭建能力&#xff0c;更是对软件算法和传感器融合技术的全面检验。传统方法中&#xff0c;开发者往往需要从零开始处理MPU6050的原始数据…...

快速掌握开源工具:3分钟实现高效电子书转换

快速掌握开源工具&#xff1a;3分钟实现高效电子书转换 【免费下载链接】anyflip-downloader Download anyflip books as PDF 项目地址: https://gitcode.com/gh_mirrors/an/anyflip-downloader 你是否曾为在线电子书无法离线保存而烦恼&#xff1f;当网络不稳定或需要随…...

别再死记硬背了!用‘生命周期’图解法,5分钟搞懂Android加固与脱壳的核心对抗点

用生命周期图解法透视Android加固与脱壳的核心对抗逻辑 第一次接触Android加固技术时&#xff0c;我盯着反编译工具里那些"类不存在"的报错信息发呆——明明APK文件就在那里&#xff0c;为什么连最基本的代码结构都看不到&#xff1f;直到把DEX文件的生命周期拆解成一…...

大模型应用开发实战(20):Agentic RL 正在改变 AI 产品开发方式(技术深度解析)

&#x1f935;‍♂️ 个人主页&#xff1a;小李同学_LSH的主页 ✍&#x1f3fb; 作者简介&#xff1a;LLM学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…...

告别单字切割!用PyTorch从零搭建CRNN,搞定不定长文本识别(附完整代码)

从零实现CRNN&#xff1a;PyTorch实战不定长文本识别全流程解析 在计算机视觉领域&#xff0c;文字识别(OCR)技术已经渗透到我们生活的方方面面——从文档数字化到车牌识别&#xff0c;从快递单自动录入到街头招牌理解。传统OCR方案通常需要先切割单字再进行分类&#xff0c;这…...

5个维度重构交易决策:如何构建下一代几何交易系统

5个维度重构交易决策&#xff1a;如何构建下一代几何交易系统 【免费下载链接】chanvis 基于TradingView本地SDK的可视化前后端代码&#xff0c;适用于缠论量化研究&#xff0c;和其他的基于几何交易的量化研究。 缠论量化 摩尔缠论 缠论可视化 TradingView TV-SDK 项目地址:…...

工业控制系统安全:PLC编程与协议分析入门

工业控制系统安全&#xff1a;PLC编程与协议分析入门 随着工业4.0和智能制造的快速发展&#xff0c;工业控制系统&#xff08;ICS&#xff09;的安全性日益受到关注。作为工业自动化核心的可编程逻辑控制器&#xff08;PLC&#xff09;&#xff0c;其编程与通信协议的安全性直…...