小孩也能看懂的算法笔记-排序算法day1 算法虽然种类繁多但是有没有发现算法应用有些共同点规划问题→找最优。排名→找最多。地图→找最短最短距离、最短时间。内容/商品推荐→找最近。共同点显而易见查找。找到什么样的结果呢最近、最优、最多、最短。怎么得出“最”的结果呢那不就是得把数据排序嘛经典教材里排序算法和搜索通常各有单独一章。排序算法有哪些呢选择排序快速排序归并排序插入排序希尔排序冒泡排序等等。把1000个数字用不同算法排好所用的时间和脑力很不一样。1次迈1个台阶和迈2个台阶爬100个台阶哪个更快爬1000个台阶呢不同排序算法的区别就是每次迈的台阶数不同因此迈的次数和时间就不一样。这是算法性能指标之一时间复杂度统一用O(n)表示。其中n是总共迈了多少次迈一次的时间为O(1)迈n次的时间是O(n)。100个台阶每次迈1阶时n是100迈2阶时n是100/250。很多教材里说n是数据量注意这个数据量并不是数据个数。各种排序算法都用多少时间可以先简单了解下选择排序算法O(n²)归并排序/堆排O(n log n)特定条件下整数数值范围小的基数排序/计数排序/桶排序O(n)还有的排序算法是变化的快速排序最坏O(n²)最快和平均都是O(n log n)今天先写这么多手机打字累了累了。我是fivebliss欢迎点赞收藏关注数据结构有啥用