【bitonicSort学习】

bitonicSort学习

  • 什么是Bitonic Sort
    • 核心

什么是Bitonic Sort

https://zhuanlan.zhihu.com/p/53963918
这个是用来并行排序的一个操作
之前学过一些CPU排序,快排 冒泡 归并啥的,有一些能转成并行,有一些不适合
像快排这种二分策略就可以考虑转一下,今天看一下这个双调排序

核心

假定数据是2次幂,根据上文解释,首先整个序列是一个双调序列才行,既然递增递减,那直接递增的和递减的index对应好,直接比较,然后大的在一个MAX队列,小的在一个MIN队列,也就是继续构建sub双调序列
在这里插入图片描述

然后乱序的序列需要先转双调,如下图8个元素的演示操作,像排序的逆向操作,先2个元素内升或者降,然后4个元素之内保持单调升或者降,然后整个就是双调了

图是上面链接里的
在这里插入图片描述
如果不是二次幂,可以直接搞成二次幂,尾数全给99999999这种。。省事,但是如果不开空间,估计就是时间增加的算法了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/661223.shtml

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

相关文章

2024美赛数学建模D题思路源码

比赛当天第一时间更新! 赛题目的 赛题目的: 问题描述: 解题的关键: 问题一. 问题分析 问题解答 问题二. 问题分析 问题解答 问题三. 问题分析 问题解答 问题四. 问题分析 问题解答 问题五. 问题分析 问题解答

Vue3的自定义指令怎么迁移到nuxt3

一、找到Vue3中指令的源码 const DISTANCE 100; // 距离 const ANIMATIONTIME 500; // 500毫秒 let distance: number | null null,animationtime: number | null null; const map new WeakMap(); const ob new IntersectionObserver((entries) > {for (const entrie…

草图导入3d后模型贴材质的步骤?---模大狮模型网

3D模型在导入草图大师后出现混乱可能有多种原因,以下是一些可能的原因和解决方法: 模型尺寸问题:如果3D模型的尺寸在导入草图大师时与画布尺寸不匹配,可能导致模型混乱。解决方法是在3D建模软件中调整模型的尺寸,使其适…

深入理解 Java 变量类型、声明及应用

Java 变量 变量是用于存储数据值的容器。在 Java 中,有不同类型的变量,例如: String - 存储文本,例如 "你好"。字符串值用双引号引起来。int - 存储整数(全数字),没有小数&#xff…

华为手表开发:WATCH 和GT系列,2.生成密钥和证书请求文件,生成签名和配置签名

华为手表开发:WATCH 3 Pro(2)生成密钥和证书请求文件,生成签名和配置签名 初环境与设备生成密钥生成签名初 希望能写一些简单的教程和案例分享给需要的人 鸿蒙可穿戴开发 环境与设备 系统:window 设备:HUAWEI WATCH 3 Pro 开发工具:DevEco Studio 3.1.0.100 外包开发…

FreeRTOS使用计数信号量进行任务同步与资源管理

FreeRTOS使用计数信号量进行任务同步与资源管理 介绍 在多任务系统中,任务之间的同步和对共享资源的管理是非常重要的。FreeRTOS 提供了丰富的同步机制,其中计数信号量是一种强大的工具,用于实现任务之间的同步和对资源的访问控制。 什么是…

figure方法详解之清除图形内容

figure方法详解之清除图形内容 一 clf():二 clear():三 clear()方法和clf()方法的区别: 前言 Hello 大家好!我是甜美的江。 在数据可视化中,Matplotlib 是一个功能强大且广泛使用的库,它提供了各种方法来创建高质量的图形。在 Mat…

SpringBoot 多模块开发 笔记(一)

多模块开发 简易版 dao 层 也可以说是 Mapper 层web 层 将 controller 放在这一层 还有 统一返回类型 和 自定义异常 也在放在这里 启动类也放在这里model 层 也就是 数据对象 比如常见的 User 类server 层 业务逻辑层 或者说 service 层更好 创建步骤 创建一个正常的 Sprin…

unity 拖入文件 窗口大小

目录 unity 拖入文件插件 设置窗口大小 unity 拖入文件插件 GitHub - Bunny83/UnityWindowsFileDrag-Drop: Adds file drag and drop support for Unity standalong builds on windows. 设置窗口大小 file build

Iceberg从入门到精通系列之二十一:Spark集成Iceberg

Iceberg从入门到精通系列之二十一:Spark集成Iceberg 一、在 Spark 3 中使用 Iceberg二、添加目录三、创建表四、写五、读六、Catalogs七、目录配置八、使用目录九、替换会话目录十、使用目录特定的 Hadoop 配置值十一、加载自定义目录十二、SQL 扩展十三、运行时配置…

python--整体的模块

1、python程序的架构:是将一个程序分割为源代码文件的集合以及将这些部分连接在一起的方法2、在python中,一个py文件就是一个模块,多个模块组成一个包。3、python的模块的执行环境:一个模块包含了变量、函数、类以及其他的模块&am…

电子电器架构——车载网关转发buffer心得汇总

电子电器架构——车载网关转发buffer心得汇总 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力…

Debezium系列之:字段schema详解

Debezium系列之:字段schema详解 一、字段schema二、字段schema参数解释一、字段schema {"type":"bytes","optional":true,"name":"org.apache.kafka.connect.data.Decimal","version":1,"parameters"…

手写Spring框架之: HelloSpring

代码路径:GitHub - tanglijiong/MiniSpringFramework: 用于spring学习和演示 1. 项目结构包介绍 core:核心功能,如Bean的创建和管理beans:与Bean定义和处理相关的类context:应用上下文相关,管理不同的Bean…

vue2父组件向子组件传值时,子组件同时接收多个数据类型,控制台报警的问题

最近项目遇到一个问题,就是我的父组件向子组件(公共组件)传值时,子组件同时接收多个数据类型,控制台报警的问题,如下图,子组件明明写了可同时接收字符串,整型和布尔值,但控制台依旧报警: 仔细检查父组件,发现父组件是这样写的: <common-tabletooltip :content=…

2024 springboot Mybatis-flex 打包出错

Mybatis-flex官网&#xff1a;快速开始 - MyBatis-Flex 官方网站 从 Mybatis-flex官网获取模板后&#xff0c;加入自己的项目内容想打包确保错&#xff0c;先试试一下方法 这里改成skip的默认是true改成false&#xff0c;再次打包就可以了

Git系列---标签管理

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 1.理解标签2.创建标签…

java常用开发安装及官方下载地址

1 linux 安装mysql8.x 安装教程&#xff1a;https://blog.csdn.net/ShockChen7/article/details/126965940 官网下载&#xff1a;https://dev.mysql.com/downloads/mysql/2 linux安装jdk1.8 安装教程&#xff1a;https://blog.csdn.net/R_Y_Fren/article/details/126707829 官…

MySQL原理(一)架构组成之物理文件组成

目录 一、日志文件 1、错误日志 Error Log 1.1、作用&#xff1a; 1.2、开启关闭&#xff1a; 1.3、使用 2、二进制日志 Binary Log & Binary Log Index 2.1、作用&#xff1a; 2.2、开启关闭&#xff1a; 2.3、Binlog还有一些附加选项参数 &#xff08;1&#x…

verilog编程之乘法器的实现

知识储备 首先来回顾一下乘法是如何在计算机中实现的。 假设现在有两个32位带符号定点整数x和y&#xff0c;我们现在要让x和y相乘&#xff0c;然后把乘积存放在z中&#xff0c;大家知道&#xff0c;两个32位数相乘&#xff0c;结果不会超过64位&#xff0c;因此z的长度应该为64…