データ構造とアルゴリズム

データ構造とアルゴリズムの解説記事をまとめました。随時追加していきます!

データ構造

データ構造キュー・スタック・木構造
[データ構造(Ruby)]スタック・キュー・木構造の解説

こんにちは!じゃいごテックのあつしです。 今回はデータ構造の基本、スタックやキュー、木構造についてご紹介します。また、優先度付きキューの仕組みについても解説したいと思います。 目次スタックキュー両端キ ...

アルゴリズム

アルゴリズム解説_線形探索法
[アルゴリズム(Ruby)]線形探索法(リニアサーチ)の解説

目次線形探索法(linear search)とは特定の値が有るか無いかを調べる特定の値が何個有るかを調べる特定の値がどこにあるかを調べる最小値・最大値を調べる条件を組み合わせて調べる今回のまとめ 線形 ...

アルゴリズム解説_貪欲法
[アルゴリズム(Ruby)]貪欲法の解説

目次貪欲法とは貪欲法の手順貪欲法で最適解が求められないケース今回のまとめ 貪欲法とは 貪欲法(greedy algorithm)は、欲張り法とも呼ばれ、問題を段階に分けたときに、各段階においての最適解 ...

アルゴリズム解説_dfs-bfs
[アルゴリズム(Ruby)]深さ優先探索・幅優先探索の解説

こんにちは!じゃいごテックのあつしです。 今回は木構造やグラフの探索に用いられる、深さ優先探索(Depth First Search)と、幅優先探索(Breadth First Search)をご紹介 ...

アルゴリズム解説_分割統治法_動的計画法
[アルゴリズム(Ruby)]分割統治法・動的計画法(マージソート・フィボナッチ数・部分和問題を例に解説)

こんにちは!じゃいごテックのあつしです。 今回は複雑な問題を解く際に用いられるアルゴリズム、分割統治法(divide and conquer)と、動的計画法(dynamic programming)を ...

prefix_sum
[アルゴリズム(Ruby)]累積和の解説

目次累積和とは配列の累積和を求める配列の区間和を求める累積和とループ(sumメソッド)を比べてみる二次元配列の累積和を求める二次元配列の区間和を求める今回のまとめ 累積和とは 累積和(prefix s ...

アルゴリズム解説_いもす法
[アルゴリズム(Ruby)]いもす法の解説

目次いもす法とはいもす法の手順二次元のいもす法今回のまとめ いもす法とは いもす法は累積和を応用したアルゴリズムです。 区間の入口と出口で要素分の加算・減算を行って累積和を求めることで、任意の区間に要 ...

アルゴリズム解説 尺取り法
[アルゴリズム(Ruby)]尺取り法の解説

こんにちは!じゃいごテックのあつしです。 今回は尺取り法というアルゴリズムをご紹介します。 目次尺取り法とはサンプルコードサンプルコードの計算量と実行時間サンプルコードの処理解説今回のまとめ 尺取り法 ...

アルゴリズム解説_ダイクストラ法
[アルゴリズム(Ruby)]ダイクストラ法の解説

目次ダイクストラ法(Dijkstra's Algorithm)今回のまとめ参考文献 ダイクストラ法(Dijkstra's Algorithm) ダイクストラ法は、グラフ上のある点から、ある点までの最短 ...

© 2024 じゃいごテック