浅谈O(1)飞天排序及Sleep函数对程序的优化

2024-01-30 04:08

本文主要是介绍浅谈O(1)飞天排序及Sleep函数对程序的优化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

友链: 算法天才ZYC的A+B


飞天排序简介

飞天排序是指对于任意的长度的数列,将它变成有序的操作,时间复杂度是 O ( 1 ) O(1) O(1)

快速排序

时间复杂度为 O ( n l o g n ) O(n log n) O(nlogn)的排序。
如:

#include <cstdio>
#include <algorithm>int n;
int a[1000001];int main() {scanf("%d", &n);for (int i = 1; i <= n; i++)scanf("%d", &a[i]);std::sort(a + 1, a + n + 1);for (int i = 1; i <= n; i++)printf("%d ", a[i]);
}

飞天排序

飞天排序本质上还是快速排序,但是这里用到了一个函数,可以大大优化你的程序。
S l e e p ( i ) Sleep(i) Sleep(i)
需要 w i n d o w s . h windows.h windows.h
指停留 i i i毫秒再进行操作,我们可以好好利用这个功能进行优化。

#include <cstdio>
#include <windows.h>
#include <algorithm>int n;
int a[1000001];int main() {scanf("%d", &n);for (int i = 1; i <= n; i++)scanf("%d", &a[i]);Sleep(-inf);std::sort(a + 1, a + n + 1);for (int i = 1; i <= n; i++)printf("%d ", a[i]);
}

在这里插入图片描述

获得了优秀的复杂度

推广到任意程序

只用在程序中加上 S l e e p ( − i n f ) Sleep(-inf) Sleep(inf),即可大大优化时间复杂度。

证明

S l e e p ( i ) Sleep(i) Sleep(i)指停留 i i i毫秒, − i n f -inf inf毫秒的话,虽然在真实世界是不知道表达什么意思的,但是在机器中可以识别,当你 S l e e p Sleep Sleep负数时,机器的计时功能会自动加上这个负数,所以就可以优化程序。

这篇关于浅谈O(1)飞天排序及Sleep函数对程序的优化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659059

相关文章

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常