来自刘振栋的问题
归并排序中,归并的趟数是多少.求计算方法.log(n)
归并排序中,归并的趟数是多少.求计算方法.log(n)
2回答
2020-08-02 08:01
归并排序中,归并的趟数是多少.求计算方法.log(n)
归并排序中,归并的趟数是多少.求计算方法.log(n)
思路就是:构造归并树,对n个数构造它的归并树,而归并树的高度再减去1就是归并排序的趟数,也就等于log(n),举个简单而直观的例子,设对1~8这8个数进行归并排序,从上到下构造它的归并树如下
12345678
////
12345678
//
12345678
/
12345678
每上下相邻的两层之间,从上层到下层的过程就是一趟归并,这棵二叉树的总高度等于4,因此归并趟数为3,正好等于log(8).
̫��л����лллл�����Ǻ��˰�;-)