体验百度文心一言AI大模型生成快速排序算法、堆排序算法和测试程序

文章介绍了两种简单的排序算法:选择排序和堆排序。选择排序通过每轮找出最小元素并放置到已排序部分的开始来工作,其时间复杂度为O(n^2)。堆排序利用最大堆的概念,先构建堆再逐步提取最大元素,同样具有O(n^2)的时间复杂度。文章提供了JavaScript实现这两个排序算法的代码示例,并用随机数组进行了测试。
摘要由CSDN通过智能技术生成
  • 选择排序(Selection Sort)是一种简单直观的排序算法。它的基本思想是:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放到序列的起始位置,直到全部待排序的数据元素排完。
  • 选择排序的具体做法:
  • 在未排序序列中找到最小元素,存放到排序序列的起始位置。
  • 从剩余未排序元素中继续寻找最小元素,存放到已排序序列的末尾。
  • 重复第二步,直到所有元素均排序完毕。
  • 选择排序的时间复杂度为O(n^2),
  • 其中n为待排序数据元素的个数。最坏情况下,需要比较n次,每次需要O(n)的时间来查找最小元素,因此总时间为O(n^2)。
function selectionSort(arr) {
   
    const n = arr.length;
    for (let i = 0; i < n - 1; i++) {
   
        let minIndex = i;
        for (let j = i + 1; j < n; j++) {
   
            if (arr[j] < arr[minIndex]) {
   
                minIndex = j;
            }
        }
        if (minIndex !== i) {
   
            [arr[i], arr[minIndex]] = [arr[minIndex
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值