Browsed by
标签:排序

[译] 排序算法入门 — Go 语言实现

[译] 排序算法入门 — Go 语言实现

排序算法是一种采用列表或数组并以特定顺序对其元素进行重新排序的算法。有几十种不同的排序算法,如果你已经学习了计算机科学,那么你至少熟悉了其中的一些算法。 它们也是很受欢迎的面试问题,所以在重要面试前不要因为它而伤心。 这是一个大多数常见的排序算法的小型引擎,实例采用 Golang 实现。 冒泡排序 冒泡排序是最基本的就地排序算法,几乎每个人都很熟悉。 它具有 O(n²) 最坏情况和平均时间复杂度,这使得它在大型列表中效率低下。它的实现非常简单。 在循环中,从第一个元素到第 n 个(n = len(items))迭代数组。比较相邻的值,如果它们的顺序错误,交换它们。 您可以通过在每次迭代后将 n 递减 1 来优化算法。 时间复杂度: * 最坏情况下:O(n²) * 平均情况下:O(n²) * 最好情况下:O(n) 空间复杂度: * 最坏情况下:O(1) 选择排序 选择排序是另一种简单的平均情…

阅读全文 阅读全文

1 Star2 Stars3 Stars4 Stars5 Stars (2 人打了分, 平均分:3.00,总分:5)
Loading...