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

アルゴリズム解説_貪欲法

アルゴリズム・データ構造 プログラミング

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

2023/8/28    

貪欲法とは 貪欲法(greedy algorithm)は、欲張り法とも呼ばれ、問題を段階に分けたときに、各段階においての最適解を選択することを繰り返す方法です。 後のことを考えず、その場その場での最適 ...

アルゴリズム解説_いもす法

アルゴリズム・データ構造 プログラミング

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

2023/10/24    ,

いもす法とは いもす法は累積和を応用したアルゴリズムです。 区間の入口と出口で要素分の加算・減算を行って累積和を求めることで、任意の区間に要素がいくつ収まっているかを高速に計算することが出来ます。 い ...

prefix_sum

アルゴリズム・データ構造 プログラミング

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

2023/10/20    

累積和とは 累積和(prefix sum)は、配列の任意の区間の総和を求めるためのアルゴリズムです。 繰り返し処理を使うと大きな計算量になってしまう区間の計算問題を、適切な前処理を行うことによって高速 ...

アルゴリズム解説_ダイクストラ法

アルゴリズム・データ構造 プログラミング

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

ダイクストラ法(Dijkstra's Algorithm) ダイクストラ法は、グラフ上のある点から、ある点までの最短経路を求めるアルゴリズムで、コストに負数が含まれない時に使用できます。 例えば、カー ...

アルゴリズム解説_線形探索法

アルゴリズム・データ構造 プログラミング

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

2023/2/15    

線形探索法(linear search)とは 線形探索法(linear search)は、沢山のデータを一直線に並べて先頭(又は末尾)から順番に調べて、特定のデータを見つけ出すアルゴリズムです。 結果 ...

アルゴリズム解説_分割統治法_動的計画法

アルゴリズム・データ構造 プログラミング

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

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

アルゴリズム解説_dfs-bfs

アルゴリズム・データ構造 プログラミング

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

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

データ構造キュー・スタック・木構造

アルゴリズム・データ構造 プログラミング

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

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

アルゴリズム解説 尺取り法

アルゴリズム・データ構造 プログラミング

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

2021/10/3    ,

こんにちは!じゃいごテックのあつしです。 今回は尺取り法というアルゴリズムをご紹介します。 尺取り法とは 数列から取り出す範囲の先頭と末尾のインデックス情報を記憶して、先頭・末尾の位置をスライドさせた ...

© 2024 じゃいごテック