提到数据结构,我想我们计算机相关专业的同学们再熟悉不过了,这次go语言的数据结构课让我收获了很多,现在我从以下几点记录我在这次课程加深了理解的知识点:
- 为什么我们要学习数据结构,数据结构是算法的基础,我的想法是我们学习了数据结构之后,要让数据结构为我们所用,例如在展示排行榜这个应用场景中,使用Redis集群,可以避免单机压力过大。
- 经典排序,在这次课程中,老师带我们复习了插入排序、快速排序、堆排序这几个算法,这几个算法的原理相信同学们已经熟悉,在这里就不过多赘述了。然后就是一个这次新学的一个算法,叫Benchmark。benchmark的意思是实际场景,根据序列的排序情况进行划分可划分为:
- 1.完全随机的情况
- 2.有序或逆序的情况
- 3.元素重复度较高的情况
- 如何才能设计一个更好的算法,这是一个我们经常思考的问题,时间复杂度是衡量一个算法好坏地重要指标,常见的几种排序算法的时间复杂度表如下:
以上几种排序算法的特性我们应该做到理解并记忆。本次课程介绍了一个排序算法,即pdqsort算法,这是一种不稳定的混合排序算法,它对常见的序列类型做了特殊的优化,使得在不同条件下都拥有不错的性能。此外,当我们在生产环境中使用算法时需要面对不同的实践场景,更加注重实践性能。