Post

Data structure

New!

2019-11-17 15:30:27

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

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 キュー 常に先に追加されたデータからしかアクセスできないようにデータを一列に並べた構造 スタックとは追加と削除の方向が逆になる。 FIFO(First In First Out) 先入れ先出し 待ち行列ともいう。 データの追加をenqueue、削除をdequeueという。 計算時間配列や連結リストなど実装形式による。 実装package main // Queue is a queue. type Queue st...

プログラミング

Algorithm Data structure queue

New!

2019-11-17 15:28:54

アルゴリズムとデータ構造 - スタック

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 スタック 常に最新のデータからしかアクセスできないようにデータを一列に並べた構造 LIFO(Last In First Out) 後入れ先出し 常に最新のデータへアクセスしたいときに便利な構造 データの追加をPush、削除をPopという。 他にDup、Peek、Swap(またはExchange)、Rotateといった操作がある。 cf. Wikipedia - スタック 計算時間配列や連結リストなど実装形式に...

プログラミング

Algorithm Data structure stack

2019-11-02 20:47:49

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

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 配列 データを1列に並べたもの データへのアクセスは容易だが、追加や削除には時間がかかる 配列のデータはメモリの連続した領域に順番に格納される 固定長のメモリを確保する 宣言時に確保(静的確保) 実行時に確保(動的確保) 計算時間配列に格納されているデータ数をnとする。 データへのアクセス O(1) メモリアドレスが添字を使って計算することができるため、データに直接アクセスすることができる。(ランダムアクセス)...

プログラミング

Algorithm Data structure array

2019-10-18 01:54:54

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

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 リスト(線形リストの片方向リスト) データを一直線上に並べた構造 各ノードは次のノードへのポインタを持つ データの追加や削除は容易だが、アクセスには時間がかかる リストでは、データは連続したメモリ領域に格納される必要はない 一般的には離れた領域に格納される 計算時間リストに格納されているデータ数をnとする。 データへのアクセス O(n) データの先頭から順次アクセス(シーケンシャルアクセス)する必要があるため、線形時...

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

Algorithm Data structure linked list singly linked list