简单理解算法

简单理解算法

  • 前言
    • 算法
      • 衡量一个好的算法具备的标准
      • 算法的应用场景
    • 数据结构
      • 数据结构的组成方式

前言

  • hello,宝宝们~来分享我从一本书中理解的算法。《漫画算法》感觉对我这种算法小白比较友好。
  • 看完感觉对算法有了新的理解,计算机学习这么多年,我一直海帕不愿面对的面试问题就是算法。
  • 今天对算法有了一个新的认知。

算法

废话不多说,上概念:

算法【English:algorithm】(必然不能少的英汉互译)
举个栗子:

  • 简单的:算出一组数据中的最大值。
  • 复杂的:找出从一个城市到另一个城市的最优路线。
  • 高效的:1-10000使用等差数列求和。
  • 拙略的:1-10000使用加法求和。

对没错,就是这么简单!哈哈

衡量一个好的算法具备的标准

  • 时间复杂度
  • 空间复杂度

算法的应用场景

算法的应用领域是多种多样的,应用场景也是多种多样的,
举个栗子:

  • 运算 : 数学运算和编程技巧的结合
  • 查找 :百度一下的搜索操作,背后的逻辑
  • 排序 : 排序算法,相信大家对排序并不陌生!
  • 最优策略 :寻找A点到B点的最佳路线,,
  • 面试【好像也蛮重要的哈~】算法可以考察一个程序员对计算机底层知识的了解,另一方面可以考察一下程序员的逻辑思维能力。

数据结构

学计算机的宝宝们一定也不陌生。数据结构和算法不分家。如果说算法是舞台上美丽动人的白天鹅。那数据结构就是这平整宽广的大舞台。
好啦,废话不多说:
数据结构【English:data structure】

  • 数据结构是数据的组织、管理和存储格式。
  • 其使用目的是为了高效的访问和修改数据。

数据结构的组成方式

  • 线性结构
    – 线性结构是最简单的数据结构,包括数组、链表,以及由它们衍生出来的栈、队列、哈希表。

  • – 树是相对复杂的数据结构,其他比较有代表性的是二叉树,有它又衍生出了二叉堆之类的数据结构。

  • – 图是更为复杂的数据结构,因为在图中会呈现出多对多的关联关系。
  • 其他数据结构
    – 上述是几种基本的数据结构,还是有其他千奇百怪的数据结构,他们由基本的数据结构变形而来,用于解决某些特定问题。例如:哈希链表、位图等等。

好啦,今天就到这里吧!文章不易太长,我们循序渐进!一起成长~
本人小菜鸡,欢迎各路大佬畅所欲言!

【预告】:我们下期聊聊【时间复杂度】欢迎大家来品鉴~

你可能感兴趣的:(笔记,算法)