Python 数据结构与算法详解

一、数据结构与算法

1、算法提出

1. 算法概念

算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机按照确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。

算法是独立存在的一种解决问题的方法和思想。对于算法而言,实现的语言并不重要,重要的是思想。

算法可以有不同的语言描述实现版本(如 C 描述、C++ 描述、Python 描述等),我们现在是在用 Python 语言进行描述实现。

2. 算法的五大特性

  1. 输入:算法具有 0 个或多个输入。
  2. 输出:算法至少有 1 个或多个输出。
  3. 有穷性:算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成。
  4. 确定性:算法中的每一步都有确定的含义,不会出现二义性。
  5. 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成。

如果 a+b+c=1000,且 a2+b2=c2(a、b、c 为自然数),如何求出所有 a、b、c 可能的组合?

第一次尝试:

import time

start_time = time.time()

# 三重循环
for a in range(1001):
    for b in range(1001):
        for c in range(1001):
            if a + b &#
  • 7
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wespten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值