算法设计与分析基础-绪论

本文介绍了算法设计与分析的基础知识,重点讲解了欧几里得算法在求解两个整数最大公约数中的应用。通过实例展示了gcd(m,n)=gcd(n,m mod n)的证明,并探讨了不同算法的效率,如连续整数检测算法和质因数分解法。此外,还提及了算法在解决其他问题上的应用,如计算平方根和寻找有序列表的公共元素。" 108353855,7633017,Hive与Spark集成配置指南,"['Hive', 'Spark', 'MapReduce', 'Yarn', '大数据']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@[toc]目录

1 绪论

1.1 什么是算法

两个整数最大公约数

m,nm,nm,n的最大公约数记为 gcd(m,n)gcd(m,n)gcd(m,n),其中m,n≥0m,n \geq 0m,n0但 不同时为0。

  1. 利用欧几里得算法计算即gcd(m,n)=gcd(n,m mod n)gcd(m,n) = gcd(n,m \, mod \, n)gcd(m,n)=gcd(n,mmodn)gcd(m,0)=m,m≠0gcd(m,0) = m,m \neq 0gcd(m,0)=m,m̸=0.

    def euclid(m,n):
        if not m and not n:
            return False
        if m<n:
           r = m
           m = n
           n = r
        while n:
            r = m%n
            m = n
            n = r
        return m
    
  2. 利用连续整数检测算法

    公约数即能够同时整除两个数的正整数。

    def continue_detection(m,n):
        if not m and not n:
            return False
        if not m or not n:
            return m|n
        
        t = min(m,n)
        while t:
            if not m%t and not n%t:
                return t
            t = t - 1
    
  3. 质因数分解

    1. 分别求得m,nm,nm,n所有质因数
    2. 求出所有公因数,若一个质因数pppm,nm,nm,n中分别出现pm,pnp_m,p_npm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值