フロントエンド面接スキル集 第22回 ブログ記事 - 高頻度テストのポイント(共通データ構造)

これは記録であり前端面试的话术集锦第二十二篇博文——高频考点(常见数据结构)、今後もこのブログ記事を更新していきます。❗❗❗

「データ構造やアルゴリズムを学ぶことはフロントエンド エンジニアにとって有益ですか?」という質問がよくあります。

一般に、これらの基本的な規律は短期的にはほとんど効果がありませんが、フロントエンド エンジニアに限定する必要はありません。プログラミングという観点からプログラミングを見たとき、データ構造アルゴリズムは役立つはずであり、将来の天井でもあります。

これらの内容の学習に集中して時間を費やす必要はありませんが、これらのスキルはコードを書く能力を大幅に向上させることができるため、時々少しずつ学習する必要があります。

1. 時間計算量


本題に入る前に、まず時間計算量とは何かを理解しましょう。

通常、アルゴリズムの品質を測定するために、最悪の時間計算量が使用されます。

一定時間とはO(1)、データ量に関係なく、四則演算などの一定時間の演算のことです。

アルゴリズムの場合、演算数はデータ量を表すaN + 1として計算できます。Nこの場合、アルゴリズムの時間計算量は になりますO(N)時間計算量を計算するとき、データ量は通常非常に大きく、このとき低次項と定数項は無視できるためです。

もちろん、両方のアルゴリズムのO(N)時間計算量が同じである場合もあるため、2 つのアルゴリズムの品質の比較は、低次項と定数項の比較に依存します。

2. 積み重ねる

2.1 コンセプト


スタックは線形構造であり、コンピューターでは非常に一般的なデータ構造です。

スタックの特徴は、先入れ後出しの原則に従って、データは一方の端でのみ追加または削除できることです。

おすすめ

転載: blog.csdn.net/lvoelife/article/details/132871618