北京邮电大学机试学习笔记(一)排序

本文是北京邮电大学机试学习的第一部分,主要探讨了排序算法的基础知识和常见类型,包括冒泡排序、选择排序、插入排序以及快速排序等,旨在帮助读者理解和掌握这些基本排序算法的实现与效率分析。
摘要由CSDN通过智能技术生成

    机试中算法时间复杂度不能超过百万级别,即不能超过一千万。假设算法的时间复杂度为O(n^2),则n的取值不应大于3000,否则将会达到千万数量级复杂度,超出用时限制。例如不能在1s内对10000个整数进行冒泡排序,否则时间复杂度将会达到O(n^2)即100000000,而应该采用快速排序(O(nlog n)40000。空间复杂度则考虑为n*数组长度。
    冒泡排序:

    输入:n = 4
              4 3 2 1
    调试结果:
    i = 0//要排N次
    j = 0; //大于j+1,交换3,4,2,1
    j = 1;//小于j+1, 3 2 4 1
    j = 2; //大于j+1;交换3,2,1 4
    j = 3,
    i = 1;
    j = 0;//2 3 1 4
    j = 1;//2 1 3 4
    j = 2;
    i = 2;
    j = 0;1 2 3 4
    j = 1;
    i = 3;
    j = 0;
    快速排序考虑sort库函数,用于C++中,对给定区间所有元素进行排序,头文件#include<algorithm>,包含三个参数&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值