前端数据结构---基础概念01

前端要不要学习数据结构

  作为一名IT技术人员,需要不断的完善自己的知识体系来提升自己,类似数据结构、网络等。在工作中大部分时间我们都是做应用层面的开发,有时候对数据结构、算法这些基本功要求不是很高,但是一些基本得知识点我们还是需要掌握。

到底什么是数据结构

  是不是经常听别人说数据结构、算法、程序 = 数据结构 + 算法等,那么到底什么是数据结构?

  数据结构本身是一个抽象的概念,没有具体的标准,比如我们用的电脑,我可以说电脑这种结构由cpu、主板、显卡、内存、硬盘、电源、声卡、网卡等组成。如 vue-cli 初始化的项目由 main.js、src等组成。所以不需要去纠结到底什么是数据结构,数据结构本身只是一层抽象的概念,从字眼上可以理解为数据与数据之间存在一种或多种关系的数据元素集合

从不同的角度,数据结构可以理解为逻辑结构、物理结构。可以理解为逻辑结构是在计算机中的存储形式,物理结构是计算机怎么存储数据;

逻辑结构:数据元素之间的相互关系

集合结构  平等关系,在同一个集合中

线性结构  一对一关系

树形结构  一对多关系

图形结构   多对多关系

物理结构:数据的逻辑结构在计算机中的存储形式

顺序存储 类似连续的一个列表

链式存储 存在一个指针指向需要的元素

算法

  解决问题的步骤我们叫方法,在计算机中称算法,在计算机中表现为指令的有限序列;通常一个问题有很多种方法,有些方法很巧妙,有些看起来比较绕,这些方法是有差异的,我们通常在计算机中通过时间复杂度、空间复杂度来衡量一个算法的好坏。

时间复杂度

  时间复杂度并不是说代码执行的具体的时间,而是表示代码执行时间随问题规模或者数据规模增长的变化趋势,也叫渐进时间复杂度,简称为时间复杂度。我们都知道一个算法花费的时间与算法中语句的执行次数肯定成正比例,哪一个算法中语句执行次数多,它花费时间就多。

1 function get (n) { 2 let i = 0; // 一次 3 let name = '' // 一次 4 } 5 // 总共就是2次

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygypg.html