本文へスキップ
購入者向け06 / 12 ページ

第五章 Data Structures & Algorithms (DSA)

DSAは絶対コーディングやドメイン知識面接に聞かれます。世の中にはたくさんのDSAがあるがアルゴリズムのエンジニア的なロールを応募していない限りここでカバーしているものは十分だと思います。InterviewCatではトピックスごとにLeetCodeから問題を選んできています。最後の技術質問にドメイン知識面接よく聞かれる質問もまとめたので復習用としてオススメです。

また注意点ですが、問題数を数多くこなしたい方はコーディング面接の対策についてに書かれているLeetCodeの問題集(Blind75、NeetCode150)やPrampなどでモックインタビューを行う必要があります。ここでは最も重要な問題のみをピックアップしています。

また現在Coding InterviewCatというコーディングテストやコーディング面接に特化した教材を開発しています。コーティング面接に必要なPythonの学習、基本的なデータ構造とアルゴリズム、LeetCodeでの効率的な学習を手助けする教材となっているのでご期待ください。

Big O Notation

ビッグオー表記法は、アルゴリズムが入力サイズに対してどのようにスケーリングするかを説明するものです。これは、アルゴリズムの最悪のケースシナリオを表現するために使われます。また、アルゴリズムを比較し、どのアルゴリズムがより優れているかを判断するためにも使用されます。例: O(n)

Data structure & Algorithm

データ構造はテクニカル面接の中で最も大事な武器になります。leetcodeには2000問以上の問題(2023/4時点で2654問)があるがArray、String、Hash Tableに熟練できればほとんどの問題と向き合うことができます。もちろんそれぞれのデータ構造には各自のアルゴリズムがあるので簡単ではないです。

Array

🚦 Important

OperationAverage Time Complexity
SearchO(n)
Search (sorted array)O(log(n))
InsertO(n)
Insert (at the end)O(1)
RemoveO(n)
Remove (at the end)O(1)

練習

String

🚦 Important

OperationAverage Time Complexity
AccessO(1)
SearchO(n)
InsertO(n)
RemoveO(n)

練習

Hash Table

🚦 Important

OperationAverage Time Complexity
SearchO(1)
InsertO(1)
RemoveO(1)

練習

🚦 Important

AlgorithmAverage Time ComplexityWorst Time ComplexityWorst Space Complexity
Bubble sortO(n^2)O(n^2)O(1)
Insertion sortO(n^2)O(n^2)O(1)
Selection sortO(n^2)O(n^2)O(1)
QuicksortO(n log(n))O(n^2)O(log(n))
MergesortO(n log(n))O(n log(n))O(n)
Heap sortO(n log(n))O(n log(n))O(1)
Bucket sortO(n+k)O(n^2)O(n + k)
Radix sortO(nk)O(nk)O(n+k)

練習

Recursion/Backtracking

練習

練習

Linked Lists

OperationAverage Time Complexity
AccessO(n)
SearchO(n)
InsertO(1)
RemoveO(1)

練習

Stack

OperationAverage Time Complexity
Top/PeekO(1)
PushO(1)
PopO(1)

練習

Queue

OperationAverage Time Complexity
Enqueue/OfferO(1)
Dequeue/PollO(1)

練習

Balanced binary tree

🚦 Important

OperationAverage Time Complexity
AccessO(log(n))
SearchO(log(n))
InsertO(log(n))
RemoveO(log(n))

練習

この続きは、購入者向けの内容です。

非表示コンテンツ 📝 11,492文字

続きは購入後に閲覧できます。

この教材を購入 ↗