当前位置: 首页 > 面试题库 >

介绍一下,归并排序的原理是什么?

别子实
2023-03-14
本文向大家介绍介绍一下,归并排序的原理是什么?相关面试题,主要包含被问及介绍一下,归并排序的原理是什么?时的应答技巧和注意事项,需要的朋友参考一下

考察点:归并排序

(1)归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。

(2)首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。

(3)解决了上面的合并有序数列问题,再来看归并排序,其的基本思路就是将数组分成二组A,B,如果这二组组内的数据都是有序的,那么就可以很方便的将这二组数据进行排序。如何让这二组组内数据有序了?

可以将A,B组各自再分成二组。依次类推,当分出来的小组只有一个数据时,可以认为这个小组组内已经达到了有序,然后再合并相邻的二个小组就可以了。这样通过先递归的分解数列,再合并数列就完成了归并排序。

 类似资料:
  • 本文向大家介绍介绍一下,堆排序的原理是什么?相关面试题,主要包含被问及介绍一下,堆排序的原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 考察点:堆排序 堆排序就是把最大堆堆顶的最大数取出,将剩余的堆继续调整为最大堆,再次将堆顶的最大数取出,这个过程持续到剩余数只有一个时结束。在堆中定义以下几种操作: (1)最大堆调整(Max-Heapify):将堆的末端子节点作调整,使得子节点永远小于父节

  • 本文向大家介绍Apriori 是什么,请介绍一下apriori原理?相关面试题,主要包含被问及Apriori 是什么,请介绍一下apriori原理?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1)Apriori原理 如果一个项集是频繁的,则它的所有子集一定也是频繁的;相反,如果项集是非频繁的,则它的所有超集也一定是非频繁的。 2)发现频繁项集 假定事务总数为N,支持度阈值是minsup

  • 本文向大家介绍CycleGAN 原理介绍一下相关面试题,主要包含被问及CycleGAN 原理介绍一下时的应答技巧和注意事项,需要的朋友参考一下 参考回答: CycleGAN其实就是一个A→B单向GAN加上一个B→A单向GAN。两个GAN共享两个生成器,然后各自带一个判别器,所以加起来总共有两个判别器和两个生成器。一个单向GAN有两个loss,而CycleGAN加起来总共有四个loss。CycleG

  • 本文向大家介绍介绍一下,什么是hashmap?相关面试题,主要包含被问及介绍一下,什么是hashmap?时的应答技巧和注意事项,需要的朋友参考一下 考察点:哈希表 HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 HashMap 的实现不是同

  • 本文向大家介绍介绍一下Atomic 原子类?相关面试题,主要包含被问及介绍一下Atomic 原子类?时的应答技巧和注意事项,需要的朋友参考一下 Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。 所以,所谓原子类说

  • 本文向大家介绍介绍下什么是索引相关面试题,主要包含被问及介绍下什么是索引时的应答技巧和注意事项,需要的朋友参考一下 索引是由表或者视图中的一列或多列生成的键,可以加快在表或者视图中检索行的速度