数据结构 第一节 第一课
[toc]
数据结构与算法 ( Python )
Why?
我们举一个可能不恰当的例子:
如果将最终写好运行的程序比作战场, 我们码农便是指挥作战的将军, 而我们所写的代码便是士兵和武器.
那么数据结构和算法是什么? 答曰: 兵法!
我们可以不看兵法在战场上肉搏, 如此, 可能会胜利, 可能会失败. 即使胜利, 可能也会付出巨大的代价. 我们写程序亦然: 没有看过数据结构和算法, 有时面对问题可能会没有任何思路, 不知如何下手去解决. 大部分时间可能解决了问题, 可是对程序运行的效率和开销没有意识, 性能低下. 有时会借助别人开发的利器暂时解决了问题, 可是遇到性能瓶颈的时候, 又不知道该如何针对性的优化.
如果我们常看兵法, 便可做到胸有成竹, 有时会事半功倍! 同样, 如果我们常看数据结构与算法, 我们写程序也能游刃有余, 明察秋毫, 遇到问题时亦能入木三分, 迎刃而解.
故, 数据结构和算法是一名程序开发人员的必备基本功, 不是一朝一夕就能练成绝世高手的. 冰冻三尺绝非一日之寒, 需要我们平时不断的主动去学习积累.
引入
先来看一道题:
如果 a + b + c = 1000, 且 a^2 + b^2 = c^2 ( a, b, c 为自然数 ), 如何求出所有 a, b, c 可能的组合?
执行结果:
算法的提出
算法的概念
算法是计算机处理信息的本质, 因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务. 一般地, 当算法在处理信息时, 会从输入设备或数据的存储地址读取数据, 把结果写入输出设备或某个存储地址供以后再调用.
算法是独立存在的一种解决问题的方法和思想.
对于算法而言, 实现的语言不重要, 重要的是思想。
算法可以有不同的语言描述现实版本 ( 如 C 描述, C++ 描述, Python 描述等 ). 我们现在是在用 Python 语言进行描述实现。
算法的五大特性
1. 输入: 算法具有 0 个或多个输入
2. 输出: 算法至少有 1 个或多个输出
3. 有穷性: 算法在有限的步骤之后会自动结束而不会无限循环, 并且每一个步骤可以在可接受的时间内完成
4. 确定性: 算法中的每一步都有确定的含义, 不会出现二义性
5. 可行性: 算法的每一步都是可行的, 也就是说每一步都能够执行有限次数完成
文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。
原文链接:iamarookie.blog.csdn.net/article/details/109172110
- 点赞
- 收藏
- 关注作者
评论(0)