摘要:
前言 时间复杂度和空间复杂度是算法分析中非常重要的两个概念,它们分别用于衡量算法执行所需的时间和空间资源。 一、时间复杂度 定义: 时间复杂度是指执行算法所需要的计算工作量,它描述了算法运行时间与输入数据规模之间的关系。时间复杂度通常用大O符号(Big O notation)来表示,即O(f(n)) 阅读全文
摘要:
希尔排序(Shell Sort) 起源 希尔排序(Shell Sort)是Donald Shell于1959年提出的一种基于插入排序的算法。它是对直接插入排序算法的一种更高效的改进版本,也称为“缩小增量排序”。 定义 希尔排序是插入排序的一种更高效的改进版本,也称为缩小增量排序。希尔排序是非稳定排序 阅读全文
摘要:
插入排序(Insertion Sort) 原理 插入排序(Insertion Sort)的起源并不明确,但它是计算机科学中最早提出的排序算法之一。它的工作原理类似于我们日常整理扑克牌或书籍时的过程:我们创建一个新的有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 定义 插入 阅读全文
摘要:
选择排序(Selection Sort) 原理 选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。这种排序方法是不稳定的排序方法。选择排序的起源并不明确,但它是计 阅读全文
摘要:
冒泡排序(Bubble Sort) 原理 冒泡排序(Bubble Sort)是一种简单的排序算法,其名字来源于越小的元素会经由交换慢慢“浮”到数列的顶端(或越大的元素“沉”到底端),就如同气泡从水底冒到水面一样。虽然这个算法不是最高效的,但由于其实现简单直观,常常用于教学目的。 定义 冒泡排序是一种 阅读全文