本文简单介绍了什么是选择排序,然后通过图片的方式演示选择排序的过程,接下来是用 go 语言实现 O(N²) 时间复杂度的算法,最后优化算法,从结果来看,优化后的算法效率快了一倍,但是时间复杂度仍为 O(N²)。
本文首先对 go 冒泡排序进行简单的介绍,然后通过图片演示冒泡排序的思路。普通冒泡排序算法一共要遍历 n - 1 轮,由测试用例 [4 2 1 3 5] 的结果可以推断出 如果在一轮遍历中,没有进行元素交换位置的操作,那么此时数组的里所有元素都处于正确位置。 根据这个结论,对算法进行优化,优化后的算法,最好的情况下时间复杂度为 O(N)。
Go 文件的读取和写入操作
本文首先介绍了 go reflect 包里两个重要的类型 reflect.Type 和 reflect.Value,简单说明了它们的作用;其次介绍了TypeOf(i) 和 ValueOf(i) 两个函数;最后通过三个案例介绍了它们的使用场景。
本文介绍了在 go 语言里面如何获取当前时间、在当前时间的前提下获取具体的年月日时分秒、时间格式化和时间戳与时间的转换以及计算时间差的方法等。掌握了这些函数和方法的使用,应对开发中 时间操作的场景不成问题。
本文简单介绍了什么是选择排序,然后通过图片的方式演示选择排序的过程,接下来是用 go 语言实现 O(N²) 时间复杂度的算法,最后优化算法,从结果来看,优化后的算法效率快了一倍,但是时间复杂度仍为 O(N²)。
本文首先对 go 冒泡排序进行简单的介绍,然后通过图片演示冒泡排序的思路。普通冒泡排序算法一共要遍历 n - 1 轮,由测试用例 [4 2 1 3 5] 的结果可以推断出 如果在一轮遍历中,没有进行元素交换位置的操作,那么此时数组的里所有元素都处于正确位置。 根据这个结论,对算法进行优化,优化后的算法,最好的情况下时间复杂度为 O(N)。
Go 文件的读取和写入操作
本文首先介绍了 go reflect 包里两个重要的类型 reflect.Type 和 reflect.Value,简单说明了它们的作用;其次介绍了TypeOf(i) 和 ValueOf(i) 两个函数;最后通过三个案例介绍了它们的使用场景。
本文介绍了在 go 语言里面如何获取当前时间、在当前时间的前提下获取具体的年月日时分秒、时间格式化和时间戳与时间的转换以及计算时间差的方法等。掌握了这些函数和方法的使用,应对开发中 时间操作的场景不成问题。