排序和搜索算法简明总结

如是我闻:排序,搜索和给变量起名真是计算机科学的基础。下面是对常见的排序和搜索算法的简要总结:

排序算法 (Sorting Algorithms)

  1. 冒泡排序 (Bubble Sort)

    • 简介:通过重复交换相邻元素,如果它们的顺序错误,就进行交换,这样较大的元素会逐渐“冒泡”到列表的末端。
    • 时间复杂度:平均和最差情况下是 O(n^2),最佳情况是 O(n)。
  2. 选择排序 (Selection Sort)

    • 简介:每次从未排序的部分选择最小的元素,然后将它与未排序部分的第一个元素交换位置。
    • 时间复杂度:平均、最佳和最差情况下均是 O(n^2)。
  3. 插入排序 (Insertion Sort)

    • 简介:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
    • 时间复杂度:平均和最差情况下是 O(n^2),最佳情况是 O(n)。
  4. 归并排序 (Merge Sort)

    • 简介:采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。
    • 时间复杂度:所有情况下均为 O(n log n)。
  5. 快速排序 (Quick Sort)

    • 简介:同样采用分治法,通过选择一个“基准”元素,然后把数组分为两部分,左边都是小于基准的元素,右边都是大于基准的元素,然后递归地对这两部分继续进行快速排序。
    • 时间复杂度:平均情况是 O(n log n),最差情况是 O(n^2),但实际上非常快。

搜索算法 (Search Algorithms)

  1. 线性搜索 (Linear Search)

    • 简介:按顺序检查每个元素,直到找到所需的元素或搜索完全部元素。
    • 时间复杂度:O(n)。
  2. 二分搜索 (Binary Search)

    • 简介:在已排序的数组中,从中间开始搜索,如果中间的元素不是目标值,则在数组较大或较小的半部分中继续搜索。
    • 时间复杂度:O(log n)。

非常的有品

以上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值