算法笔记-合并两个有序数组

合并两个有序数组

image

    1. 先将两个数组合并,再将数组进行排序。相对来说操作简单,但是组成新数组后再进行排序所消耗的时间就更多一些。
    1. 使用双指针的方法,通过两个数组中的数字一一比较 然后存入一个临时数组中,这样做的后果是整个程序所消耗的时间很短,但是就需要重新创建一个临时数组,相对来说算法的空间复杂度就稍微多了些。
      image
    1. 在优化,使用双指针的方法,但是不同于2的方法,2是从两个数组的头部开始使用指针。如果从两个数组的数字的尾部开始使用指针,通过一一比较,将较大的数字存入num1最后一位。然后向前移动指针进行比较,最后得到的数组也是有序的排列。
      -- 1是最简单的暴力解题方法但是所消耗的时间比较大,时间复杂度高;2相对与1来说,运用了指针的方法将程序的时间复杂度降低,避免了合并数组之后的再排序;3相对与2来说,将2的接替方法进行改进,避免了使用temp数组,直接将在num1和num2之上进行操作,将指针反向,降低了程序的空间复杂度。
  • 一个好算法的出现,需要不断拓展思路,将解题方法不断优化,努力做到时间复杂度和空间复杂度降到最低。另外合理利用指针,可以将问题的解法降低时间的空间的消耗。
posted @ 2022-04-02 20:00  云吞豚  阅读(132)  评论(0)    收藏  举报