前端面试的话术集锦第 22 篇博文——高频考点(常见数据结构)

这是记录前端面试的话术集锦第二十二篇博文——高频考点(常见数据结构),我会不断更新该博文。❗❗❗

经常会有人提问说:学习数据结构或者算法对于前端工程师有用么?

总的来说,这些基础学科在短期内收效确实甚微,但我们不要将自己局限在前端工程师这点上。当我们把视野放到编程这个角度去说,数据结构算法一定是有用的,并且也是你未来的一个天花板。

可以不花费集中的时间去学习这些内容,但是一定需要时常去学习一点,因为这些技能可以实实在在提升你写代码的能力。

1. 时间复杂度


在进入正题之前,我们先来了解下什么是时间复杂度。

通常使用最差的时间复杂度来衡量一个算法的好坏。

常数时间O(1)代表这个操作和数据量没关系,是一个固定时间的操作,比如说四则运算。

对于一个算法来说,可能会计算出操作次数为aN + 1N代表数据量。那么该算法的时间复杂度就是O(N)。因为我们在计算时间复杂度的时候,数据量通常是非常大的,这时候低阶项和常数项可以忽略不计。

当然可能会出现两个算法都是O(N)的时间复杂度,那么对比两个算法的好坏就要通过对比低阶项和常数项了。

2. 栈

2.1 概念


栈是一个线性结构,在计算机中是一个相当常见的数据结构。

栈的特点是只能在某一端添加或删除数据,遵循先进后出的原则:

猜你喜欢

转载自blog.csdn.net/lvoelife/article/details/132871618