世界上有哪些代码量很少,但很厉害很经典的算法或项目案例?

开发 前端 算法
今天分享四个代码量很少,但很厉害很经典的算法或项目案例。如果各位技术大神还知道哪些案例,欢迎留言补充:)

今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。

1、no code

项目地址:

https://github.com/kelseyhightower/nocode

这是一个 GitHub 上的项目,目前标星 34k。

它的牛逼之处在于它 基于轻量级跨平台全自动不可描述工具,采用了不可描述的高级语言语法,不用写一行代码,即可部署运行,提供检测、编译、打包、安装、运行一条龙服务,安全可靠。

看完代码后,国内外的程序员纷纷留言夸奖。

 

世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?

 

世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?

真的是阅尽天下代码,心中已然无码!

2、洗牌算法

这个代码很简单,只有两行代码,但是却可以实现这个功能:对于给定的 n 个元素,生成的那个排列,每一个元素都能等概率地出现在每一个位置。

换句话说,每一个位置都能等概率地放置每个元素。

代码如下:

  1. for(int i = n - 1; i >= 0 ; i -- ) 
  2.     swap(arr[i], arr[rand(0, i)]) // rand(0, i) 生成 [0, i] 之间的随机整数 

3、睡眠排序

代码如下:

  1. public class SleepSort {   
  2.     public static void main(String[] args) {   
  3.         int[] ints = {1,4,7,3,8,9,2,6,5};   
  4.         SortThread[] sortThreads = new SortThread[ints.length];   
  5.         for (int i = 0; i < sortThreads.length; i++) {   
  6.             sortThreads[i] = new SortThread(ints[i]);   
  7.         }   
  8.         for (int i = 0; i < sortThreads.length; i++) {   
  9.             sortThreads[i].start();   
  10.         }   
  11.     }   
  12. }   
  13. class SortThread extends Thread{   
  14.     int ms = 0;   
  15.     public SortThread(int ms){   
  16.         this.ms = ms;   
  17.     }   
  18.     public void run(){   
  19.         try {   
  20.             sleep(ms*10+10);   
  21.         } catch (InterruptedException e) {   
  22.             // TODO Auto-generated catch block   
  23.             e.printStackTrace();   
  24.         }   
  25.         System.out.println(ms);   
  26.     }   
  27. }  

它原理是构造 n 个线程,它们和这 n 个数一一对应。

初始化后,线程们开始睡眠,等到对应的数那么多个时间单位后各自醒来,然后输出它对应的数。

这样最小的数对应的线程最早醒来,这个数最早被输出。

等所有线程都醒来,排序就结束了。

不要问时间复杂度,时间复杂度在这个排序上已经毫无意义!

4、AI核心代码

  1. while True
  2.     print(input('').replace('吗','').replace('?','!')) 

这段代码就是传说中的 价值一个亿的AI核心代码,来看一下效果。

 

[[317553]]

各位技术大神还知道哪些案例,欢迎留言补充:)

责任编辑:未丽燕 来源: 今日头条
相关推荐

2020-08-16 08:59:23

HTML标签开发

2023-09-05 07:29:01

2020-03-03 21:46:56

智能交通物联网智慧城市

2017-03-21 10:44:00

AI深度学习

2018-11-06 12:22:18

排序算法代码

2020-12-16 06:30:41

职场工作产品

2023-03-03 09:11:55

软件开发NASA

2021-11-30 14:06:37

排序算法代码

2017-10-25 16:22:58

OpenStack操作Glance

2019-06-12 10:18:03

GitHub代码开发者

2017-03-13 14:25:01

Windows 7Windows屏幕闪烁

2013-05-08 09:38:28

InteropNetSDN网络设备供应商

2018-12-04 15:46:53

编程语言Python

2021-09-05 06:04:00

计算机病毒木马病毒

2018-07-19 19:07:33

语言编程语言程序

2022-11-30 16:41:47

架构高并发

2019-11-18 15:07:54

编程语言C#

2023-07-31 08:59:46

软件FossilSQLite

2010-04-01 09:10:55

iPhone应用

2022-05-26 10:05:01

机器人研究
点赞
收藏

51CTO技术栈公众号