这是一种很神经的算法,没有十年脑血栓想不出来
原创 2022-03-28 16:12:23
174阅读
## 睡眠排序:用Java实现的一种特殊排序算法 睡眠排序(Sleep Sort)是一种特殊的排序算法,通过多线程和睡眠的方式对一组数列进行排序。这种算法的原理非常简单,但也因为其独特性而备受关注。 ### 算法原理 睡眠排序的基本原理是创建多个线程,每个线程负责输出一个数值,并根据数值的大小设置相应的睡眠时间。当所有线程执行完毕后,输出的数值就是按升序排列的。 下面是睡眠排序的基本步骤:
原创 2023-08-09 03:42:05
313阅读
线程调度方法1.sleep方法 sleep方法在睡眠的时候, 是会释放cpu , 睡眠期间不会抢cpu的 即使睡眠期间没有其他线程占用cpu, 此线程也需要等到睡醒才去抢占cpupublic class Test { public static void main(String[] args) { MyThread t = new MyThread(); t.start();
转载 2024-07-01 22:30:29
84阅读
1、线程的优先级 见第3点(yield)中的描述。 2、睡眠 Thread.sleep(long millis)和Thread.sleep(long millis, int nanos)静态方法强制当前正在执行的线程休眠(暂停执行),以“减慢线程”。当线程睡眠时,它入睡在某个地方,在苏醒之前不会返回到可运行状态。当睡眠时间到期,则返回到可运行状态。 线程睡眠的原因:线程执行太快,或
转载 2023-11-14 13:40:17
101阅读
一.引言刷短视频看到有博主提到了睡眠排序这种排序方式,听了之后感觉很有意思,原文使用 java 进行编码,这里使用 scala 重新写一遍,顺带复习一下线程使用和线程安全相关的知识。二.睡眠排序1.实现思路给定正整数数组 nums,针对数组中每一个 num 启动一个 thread,thread 内执行 Thread.sleep() 方法随后返回 num,这样 nums 的大小和 sleep 时间绑
本篇博客介绍一种搞笑的排序算法。我们知道,普通的排序算法中,的时间复杂度效率已经算是很高了。我们今天来看一个时间复杂度为的排序算法。睡眠排序:顾名思义,就是利用睡眠来实现的排序算法,基本思路如下:我们为数组中的每个元素都开启一个线程;然后让该线程休眠元素大小的时间,元素值小的会先醒,元素值大的会后醒;借助睡眠时间的不同来完成排序。下面我们来看代码。C++版:#include <iostrea
先上代码: const A = [3, 1, 2, 5, 4, 0, 10] const res = [] A.forEach(n => setTimeout(() => res.push(n), n*10)) setTimeout(function(){console.log(res)}, 100
转载 2020-01-15 09:12:00
150阅读
2评论
前言博主今天跟大家聊一聊睡眠排序,皮一下很开心!没听过睡眠排序?不要觉得丢脸,我也是刚知道的!说起排序,大家肯定只知道快排,冒泡排序等!然而今天看到一种睡眠排序,简直是颠覆三观,毁天灭地,确实是达到排序的目的了!而且思路清奇,着实可以拿出来分享分享!睡眠排序假设,入参是一个乱序的数组!那如何进行排序输出呢?步骤如下:step1 循环数组step2 取出整数20,将整数传入线程,new一个线程,不启
转载 2023-09-17 13:23:30
122阅读
# Java睡眠排序法 ## 简介 睡眠排序法(Sleep Sort)是一种基于多线程的排序算法,它利用线程的睡眠时间来实现排序。虽然该算法并不实用,但它却引起了广泛的讨论和关注,因为它展示了多线程和时间管理的概念。 睡眠排序法的原理非常简单:对于一个待排序的数组,我们创建与数组长度相等的线程,并为每个元素创建一个线程。然后,我们通过设置每个线程的睡眠时间来按照数组中的元素大小进行排序。具体
原创 2023-11-13 12:37:29
100阅读
基本思想 睡眠排序算法是一种比较另类有趣的排序算法,其核心思想与多线程、CPU调度机制相关,是通过多线程让每一个数据元素睡眠一定的时间,睡眠时间要和自身数据大小存在一定的规律,睡眠时间短的先进行输出,睡眠时间长的后输出,从而实现数据有序输出。 缺陷 (1)当数据很大时,会睡眠很长时间,程序运行时间较 ...
转载 2021-07-11 22:55:00
1309阅读
2评论
package main import ( "fmt" "math/rand" "sync" "time" ) func Sleep(arr ...int) (orders []int) { var wg sync.WaitGroup ch := make(chan int, len(arr)) f ...
转载 2021-07-21 18:08:00
93阅读
2评论
前言睡眠排序算法,嘻嘻,本身只是一个脑洞打开的排序算法。排序算法一般是力求兼顾时间和空间的平衡,而睡眠排序算法却像是一个玩笑,当时间和空间两者消耗足够大,才能达到最终精确排序的目的。基本思想睡眠排序基本思想是:主要是根据CPU的调度算法实现的,对一组数据进行排序,不能存在负数值,这个数是多大,那么就在线程里睡眠它的10倍再加10,不是睡眠和它的数值一样大的原因是,当数值太小时,误差太大,睡眠的时间
面向失业编程——睡眠排序和猴子排序前言:前几天看抖音的时候看到了比较有趣的算法,睡眠排序,紧接着发现这些沙雕排序比较好玩,然后又自己写了个猴子排序,让大家再面试的时候再也不用害怕啦(狗头保命)排序算法一:睡眠排序睡眠排序是什么? 睡眠排序利用的就是CPU的调度,使用Thread的sleep函数,给每一个值都加上一个线程,让该线程睡这个值的时间,那不就是你越大睡的越久,值越小越早醒,所以能起到
转载 2023-10-20 21:35:59
61阅读
多线程并发排序使得排序效率更高,设计者脑洞真大。。。排序算法一般是力求兼顾时间和空间的平衡。当数值太小时,误差太大,睡眠的时间不比输出的时间少,就会存在不正确的输出结果。public class SortUtil{ public static void main(String[] args){ int[] nums=new int[]{1,2,34,4,45,56};
转载 2023-06-29 20:35:19
162阅读
内容整编自多个网友的文章,外加上自己的一些感想,链接太多就不一一列举了:)1. 睡眠排序(Sleep Sort)睡眠排序也称为硬件排序, 充分利用硬件计时器的资源实现拟态算法(逃这个事件起源于一个屌丝发表了一个时间复杂度为O(n)的排序算法,睡眠排序的主要逻辑是构造n个线程,它们和这n个数一一对应。初始化后,线程们开始睡眠,等到对应的那么多个时间单位后各自醒来,然后输出对应的数。这样最小的数对应的
含:插入排序(二分插入排序)希尔排序快速排序(三数中值快排)冒泡排序选择排序排序归并排序基数排序计数排序排序还有听说的一个非常逗比的睡眠排序算是比较全的了,之后遇到别的会继续补充。。public class SleepSort { /** * 方法名:main * 说明:睡眠排序 */ public static void main(String[
内容整编自多个网友的文章,外加上自己的一些感想,链接太多就不一一列举了:)1. 睡眠排序(Sleep Sort)睡眠排序也称为硬件排序, 充分利用硬件计时器的资源实现拟态算法(逃这个事件起源于一个屌丝发表了一个时间复杂度为O(n)的排序算法,睡眠排序的主要逻辑是构造n个线程,它们和这n个数一一对应。初始化后,线程们开始睡眠,等到对应的那么多个时间单位后各自醒来,然后输出对应的数。这...
原创 2022-03-03 17:42:24
103阅读
内容整编自多个网友的文章,外加上自己的一些感想,链接太多就不一一列举了:)1. 睡眠排序(Sleep Sort)睡眠排序也称为硬件排序, 充分利用硬件计时器的资源实现拟态算法(逃这个事件起源于一个屌丝发表了一个时间复杂度为O(n)的排序算法,睡眠排序的主要逻辑是构造n个线程,它们和这n个数一一对应。初始化后,线程们开始睡眠,等到对应的那么多个时间单位后各自醒来,然后输出对应的数。这...
原创 2018-11-23 16:41:33
534阅读
这个事件起源于一个屌丝发表了一个时间复杂度为O(n)的排序算法,这个网址如下:http://dis.4chan.org/read/prog/1295544154大家有兴趣的可以看看。 虽然使用价值不是很高,但是能找到这么一个方法,成为天才也不为过。 它的基本思想是,主要是根据CPU的调度算法实现的,对一组数据进行排序,不能存在负数值,这个数是多大,那么就在线程里睡眠它的10倍再加10,不是睡眠
转载 2013-07-27 20:25:00
636阅读
2评论
这个事件起源于一个屌丝发表了一个时间复杂度为O(n)的排序算法,这个网址如下:http://dis.4chan.org/read/prog/1295544154大家有兴趣的可以看看。虽然使用价值不是很高,但是能找到这么一个方法,成为天才也不为过。它的基本思想是,主要是根据CPU的调度算法实现的,对一组数据进行排序,不能存在负数值,这个数是多大,那么就在线程里睡眠它的10倍再加10,不是睡眠和它的数值一样大的原因是,当数值太小时,误差太大,睡眠的时间不比输出的时间少,那么就会存在不正确的输出结果。 下面写几个此排序算法的版本#!/bin/bash functionf(){ sleep" Read More
转载 2013-07-28 22:01:00
299阅读
  • 1
  • 2
  • 3
  • 4
  • 5