数据结构python-第一节

本文介绍了学习数据结构与算法的重要性,通过实例展示了算法的枚举法和优化方法,探讨了算法效率衡量标准,包括时间复杂度和大O记法,并分析了Python内置类型如List的性能。此外,还对数据结构进行了初步定义,强调了数据结构在程序设计中的关键作用。
摘要由CSDN通过智能技术生成

数据结构算法Python-第一节

一、why:为什么要学习数据结构与算法

算法简介

英文:algorithm,一个计算过程,解决问题的办法。程序=数据结构+算法
算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉我计算机确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。
算法是独立存在的一种解决问题的方法和思想
对于算法而言,实现的语言并不重要,重要的是思想。算法可以有不同的语言描述实现版本(如C描述、C++描述、python描述等),我们现在用的是python语言进行描述实现。

算法的特征

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

二、引入算例

如果 a+b+c = 1000,且 a ^ 2+b ^ 2=c ^ 2,如何求出所有a,b,c可能的组合?

方法1 枚举法

在这里插入图片描述
用时101秒

方法2-算例优化

数学公式改进,尽可能的将计算步骤前移
在这里插入图片描述
用时0.98秒

三、关于算法的效率衡量

1 执行时间反应算法效率

对于同一问题,我们给出了两种解决算法,在两种算法的实现中,我们对程序执行的时间进行了测算,发现两段程序执行的时间相差悬殊(101秒对比0.98秒),由此我们可以得出结论:实现算法程序的执行时间可以反应出算法的效率,即算法的优劣
单靠时间值绝对可信吗?
假设我们将第二次尝试的算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值