简单理解算法
- 前言
- 算法
- 衡量一个好的算法具备的标准
- 算法的应用场景
- 数据结构
- 数据结构的组成方式
前言
- hello,宝宝们~来分享我从一本书中理解的算法。《漫画算法》感觉对我这种算法小白比较友好。
- 看完感觉对算法有了新的理解,计算机学习这么多年,我一直海帕不愿面对的面试问题就是算法。
- 今天对算法有了一个新的认知。
算法
废话不多说,上概念:
算法【English:algorithm】(必然不能少的英汉互译)
举个栗子:
- 简单的:算出一组数据中的最大值。
- 复杂的:找出从一个城市到另一个城市的最优路线。
- 高效的:1-10000使用等差数列求和。
- 拙略的:1-10000使用加法求和。
对没错,就是这么简单!哈哈
衡量一个好的算法具备的标准
- 时间复杂度
- 空间复杂度
算法的应用场景
算法的应用领域是多种多样的,应用场景也是多种多样的,
举个栗子:
- 运算 : 数学运算和编程技巧的结合
- 查找 :百度一下的搜索操作,背后的逻辑
- 排序 : 排序算法,相信大家对排序并不陌生!
- 最优策略 :寻找A点到B点的最佳路线,,
- 面试【好像也蛮重要的哈~】算法可以考察一个程序员对计算机底层知识的了解,另一方面可以考察一下程序员的逻辑思维能力。
数据结构
学计算机的宝宝们一定也不陌生。数据结构和算法不分家。如果说算法是舞台上美丽动人的白天鹅。那数据结构就是这平整宽广的大舞台。
好啦,废话不多说:
数据结构【English:data structure】
- 数据结构是数据的组织、管理和存储格式。
- 其使用目的是为了高效的访问和修改数据。
数据结构的组成方式
- 线性结构
– 线性结构是最简单的数据结构,包括数组、链表,以及由它们衍生出来的栈、队列、哈希表。- 树
– 树是相对复杂的数据结构,其他比较有代表性的是二叉树,有它又衍生出了二叉堆之类的数据结构。- 图
– 图是更为复杂的数据结构,因为在图中会呈现出多对多的关联关系。- 其他数据结构
– 上述是几种基本的数据结构,还是有其他千奇百怪的数据结构,他们由基本的数据结构变形而来,用于解决某些特定问题。例如:哈希链表、位图等等。
好啦,今天就到这里吧!文章不易太长,我们循序渐进!一起成长~
本人小菜鸡,欢迎各路大佬畅所欲言!
【预告】:我们下期聊聊【时间复杂度】欢迎大家来品鉴~