常见算法面试题及答案.docxVIP

  • 1
  • 0
  • 约2.72万字
  • 约 92页
  • 2026-09-01 发布于河南
  • 举报

常见算法面试题及答案

一、排序算法(30分)

1.快速排序(10分)

题目描述:实现快速排序算法。

示例输入:[3,1,4,1,5,9,2,6]

示例输出:[1,1,2,3,4,5,6,9]

解题思路:

快速排序是一种分治算法,基本思想是选择一个基准元素,将数组分为两部分,使得左边的元素都小于等于基准元素,右边的元素都大于基准元素,然后对左右两部分递归进行排序。

代码实现:

```python

defquick_sort(arr):

iflen(arr)=1:

returnarr

pivot=arr[len(arr)//2]

left=[xforxinarrifxpivot]

middle=[xforxinarrifx==pivot]

right=[xforxinarrifxpivot]

returnquick_sort(left)+middle+quick_sort(right)

```

复杂度分析:

-时间复杂度:平均情况下为O(nlogn),最坏情况下为O(n2),当数组已经有序或逆序时会出现最坏情况。

-空间复杂度:O(logn),由于递归调用栈的空间。

答案:见上述代码实现

2.归

文档评论(0)

1亿VIP精品文档

相关文档