算法学习(一)

前言

以前一直觉得算法不重要,但是过了这么就还是意识到算法的重要性,在大学期间没有学好,那就要找一些闲暇时间进行学习,首先学习的是Hello 算法。我对我自己的算法水平还是很了解,所以我觉得还是要从开始出发重新学习。这篇专栏就是专门记录学习算法的体会和心得,并记录学习的过程。

1.算法

算法无处不在,当我们理解到算法的含义的时候,我们就已掌握了很多种的算法,首先就是查字典,我们开始从中间随机打开查看对应的字母与我们要查找的目标做对比,发现在左半部分就往左查找,在右半部分就往右半部分查找,以此类推,知道查找到我们想要的结果。 可以看作是二分查找。
当我们在玩扑克牌的时候,把牌从无序整理为有序的过程就是排序
货币找零的过程中我们优先把最大的纸币付给 商店,知道付清,再次过程中我们也用到了 “贪心”的思想

2.算法的定义

什么是算法,算法就是在有限的时间内解决问题的一组指令或者是操作。具有以下特性:
1.问题是明确的,包含清晰的输入和输出
2.具有可行性,能够在有限的步骤,时间,空间下完成
3.各个步骤在相同的输入和运行条件下输出始终相同

3.数据结构的定义

数据结构:组织和存储数据的方式,包括数据的内容,数据之间的关系,数据操作方法。具有以下的设计目标
1.空间占占有要小,以节省计算机内存空间
2.数据操作要尽可能的快速
3.提供简介表示数据和逻辑信息,一遍高效的运行

4.数据结构和算法之间的关系

数据结构是算法的基石
算法是数据结构发挥作用的舞台
算法通常可以基于不同的数据结构实现,但是执行效率可能相差很大,选对合适的数据结构是关键。其实最关键的是你要会写。

加强记忆:我们吧数据结构比作是积木块,算法就是图纸,两者结合可以拼出精美的 “艺术”

约定俗称的是,我们一般将“算法与数据结构” 称为 “算法”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值