快排是从所给的要排序的数中先随机抽出一个数(一般选择第一个数作为基数)。然后遍历输入的数(将每个数和抽出的数比较,比它小的放左边,比大它的放右边)~~~该过程的时间复杂度为n(第一步),然后递归的完成上述操作~~该递归的操作时间复杂度是logn(与遍历二叉树的操作类似)(第二步)~~~所以第一步和第二步合起来。最终快排的时间复杂度是nlogn(它是不稳定算法)
归并排序:从递归的角度来分析的话:第一步:遍历所有的数,两两比较进行排序,这就完成了一趟操作。它的时间复杂度为n..
第二步:递归完成上述操作~~它的时间复杂度为logn~~~~~~~~~所以总的就是nlogn它是稳定的算法
从非递归的角度:合并每个子问题,得到原问题的解。它的时间复杂度是n(外层循环)~~~~~每个子问题求解需要logn的时间复杂度(内层循环).........所以最终它的时间复杂度还是nlogn