这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记
数据结构与算法(1) | 青训营笔记
目录:
1.为什么要学习数据结构与算法?
2.经典的排序算法
3.从零打造pdqsort
引
数据结构与算法几乎存在于程序开发的所有地方,适当地使用可以大大提高代码的效率。
1.排序算法?
1)什么是最快的排序算法 不同的编程语言有对应的算法,如
python的timsort c++的introsort Rust的pdqsort
go的排序算法有没有提升空间?
1.19之后取消原来类似introsort的算法,改用新的算法。
让我们带着下面的问题看下去:
1.新的算法如何实现?
2.生产环境中的排序算法和课本上的有什么区别?
3.go的排序算法是快速排序吗?
1.经典算法
可以看到,在不同的场景下,算法有各自的特长,我们是否可以取其所长,形成一个更高效的算法?
1.pdqsort算法?
1.用上面三种(插入、快速排序、堆排序)实现这个算法。
version1:
version2:
version3:
从一开始的简单地把三种排序方法拼凑在一起,加上针对性的优化,可以达到更高效的排序算法。