摘要:
说明 快速排序(QuickSort),又称分区交换排序(partition-exchange sort),简称快排。快排是一种通过基准划分区块,再不断交换左右项的排序方式,其采用了分治法,减少了交换的次数。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部 阅读全文
摘要:
简介 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,也叫职责链模式、命令链模式。这种模式为请求创建了一个接收者对象的链,允许你将请求沿着处理者链进行发送,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。 当程序需要使用不同方式来处理多种 阅读全文
摘要:
前言: AIGC,即AI Generated Content,指的是利用人工智能技术生成的内容。作为一种新型的内容生产方式,AIGC被视为继PGC、UGC和PUGC之后的一次革命性的创新。这种技术还有可能取代人类从事创作性工作,从而彻底颠覆我们现有的工作模式。 在2022年底,ChatGPT(Cha 阅读全文
摘要:
简介 建造者模式(Builder Pattern),也叫生成器模式,属于创建型模式。它使用多个简单的对象一步一步构建成一个复杂的对象。它允许你使用相同的创建代码生成不同类型和形式的对象。 当你希望使用代码创建不同形式的产品 (例如各种商品和订单) 时, 一些基本部件不会变,而其组合经常变化的时候,就 阅读全文
摘要:
关于质因数分解算法的不同语言实现,通过实例来看不同语言的差异 什么是质因数算法? 即任意一个合数可以分解为多个质数相乘。例如: 20 = 2 * 2 * 5 45 = 3 * 3 * 5 210 = 2 * 3 * 5 * 7 520 = 2 * 2 * 2 * 5 * 13 按数学运算:列竖式或左 阅读全文
摘要:
【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现 简介 桥接模式(Bridge Pattern)是一种结构型设计模式,它将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,来实现二者的解耦。参与桥接的接口是稳定的,用户可以扩展和修改桥接中的类,但是不能改变接口。 阅读全文
摘要:
【希尔排序算法详解】Java/Go/Python/JS/C不同语言实现 说明 希尔排序(Shell Sort)是插入排序的一种改进版,也称递减增量排序算法(Diminishing Increment Sort),其实质是将数列分组,然后再按插入算法分别排序,因DL.Shell于1959年提出而得名。 阅读全文
摘要:
【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现 说明 选择排序(Selection Sort)是一种简单直观的排序算法。跟冒泡、插入排序一样,它将数列分为已排序和待排序两个区间。首先在待排序序列中找到最小(或最大)的元素,追加到已排序序列中,然后继续从待排序序列中寻找最小( 阅读全文
摘要:
说明 基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在列表机(Tabulation 阅读全文