logo

编写程序:对包含 N 个数字的数组执行归并排序(Merge Sort)。

Write a program to perform Merge Sort on an array of N numbers.

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: Algorithms, Coding, DSA

标签: merge sort, divide and conquer

参考答案摘要

答案 归并排序使用 分治 :把数组递归拆成两半分别排序,再用双指针把两个有序子数组合并。它在最坏/平均情况下都为 O(N log N) ,稳定排序;但需要额外临时数组,空间复杂度通常为 O(N) 。 // Java (core idea) void mergeSort(int[] a, int l, int r){ if(l>=r) return; int m = l + (r-l)/2; mer...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

编写程序:对包含 N 个数字的数组执行归并排序(Merge Sort)。

Mediumalgorithmssortingmerge-sortarray

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案