最新 最热

【数据结构】排序算法系列——选择排序(附源码+图解)

选择排序的思想与插入排序其实有异曲同工之处,它们都会对数据进行比较和交换,但是它们也还是有很大的差别:插入排序是两两元素之间进行比较,而选择排序是将最值的元素同其他元素依次进行比较,从而按照最大(或最小)、第二大、...

2024-09-12
1

【数据结构】排序算法系列——希尔排序(附源码+图解)

希尔排序(Shell Sort)是一种改进的插入排序算法,希尔排序的创造者Donald Shell想出了这个极具创造力的改进。其时间复杂度取决于步长序列(gap)的选择。我们在插入排序中,会发现是对整体数据直接进行了统一的插入排序,每个数...

2024-09-09
1

【数据结构】排序算法系列——插入排序(附源码+图解)

插入排序的算法思想其实很容易理解,它秉持着一个不变的循环:比较->交换->比较->交换…因为我们排序最终的目的是要得到递增或者递减的数据,那么在原有的数据中,我们可以将数据依次两两进行比较:...

2024-09-09
1

【数据结构】排序算法系列——序言(附源码+图解)

作为基础算法的中流砥柱部分,排序算法一直都是计算机学习者们不可忽略的一部分。而其中的算法思想也蕴含着许多在今后的算法学习甚至是整个计算机技术的学习之中仍然熠熠生辉的算法思想,它们引领着我们不断探索算法的奥...

2024-09-05
1

文心一言 VS 讯飞星火 VS chatgpt (323)-- 算法导论22.4 4题

四、证明或反证下述论断:如果有向图G包含环路,则在算法TOPOLOGICAL-SORT(G)所生成的结点序列里,图G中与所生成序列不一致的“坏”边的条数最少。如果要写代码,请用go语言。...

2024-08-16
2

2024-07-27:用go语言,给定一个正整数数组,最开始可以对数组中的元素进行增加操作,每个元素最多加1。 然后从修改后的数

2024-07-27:用go语言,给定一个正整数数组,最开始可以对数组中的元素进行增加操作,每个元素最多加1。

2024-08-16
1

算法之力:高效选择与优化策略

先来聊聊关于算法的选择,其实算法的选择是软件开发中的一个关键决策点,选择合适的算法可以大幅度提高程序的运行效率和性能,在实际开发中关于算法选择的标准,就包括时间复杂度、空间复杂度、稳定性和可扩展性等方面。所以...

2024-08-10
1

[数据结构] 万字解析排序算法

快速排序(Quick Sort)是一种高效的排序算法,它利用分治法将一个数组分成两个子数组,然后递归地对这两个子数组进行排序。在快速排序的每一趟排序中,核心步骤是单趟循环,这一步骤将数组分成两分,一部分的所有元素都小于等于一...

2024-08-09
1

数据结构与算法-优化堆排序

堆排序是一种基于比较的排序算法,利用堆这种数据结构的特性来进行排序。堆排序的时间复杂度为 O(n log n),并且是一种不稳定的排序算法。然而,堆排序在某些情况下可以通过一些优化手段来进一步提高性能。本文将深入探讨...

2024-08-09
1

数据结构与算法-关于堆的基本排序介绍

堆排序是一种基于比较的排序算法,利用堆这种数据结构的特性来进行排序。堆排序的时间复杂度为 O(n log n),并且是一种不稳定的排序算法。本文将深入探讨堆排序的基本原理、实现步骤,并通过具体的案例代码详细说明堆排序...

2024-08-09
1