Re/Coder

知識蓄積備忘録/State-of-the-Ars

アルゴリズム

ATC001-A:深さ優先探索

A: 深さ優先探索 - AtCoder Typical Contest 001 | AtCoderの問題を解きました. AtCoder Typical Contestなので,解説は詳しく書かれており 深さ優先探索による塗りつぶしを見ればある程度わかると思います. それでは,以下にソースコードを示します. #de…

ALDS1_6_B: Partition

パーティション | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは,こちら. 基準となる数字に対して,その数字より大きいか小さいかで,配列を分割するアルゴリズムです.

ALDS1_5_B: Merge Sort

マージソート | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードはこちら. 関数mergeSortにて,分割を行い,関数mergeにて,統治を行います.

ALDS1_5_C: Koch Curve

コッホ曲線 | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下に.

ALDS1_5_A: Exhaustive Search

全探索 | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. Pythonのソースコードはこちら. と,これをジャッジさせると,最後のケースがTLEになります. Python3の処理スピードの問題と僕の実装力の低さが原因だと思います. ということ…

ALDS1_4_D: Allocation

割り当て | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下に. 二分探索の応用.

ALDS1_4_C: Dictionary

探索 3 | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下に. ねーむー

ALDS1_4_B: Binary Search

探索 2 | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下に. 二分探索です.

ALDS1_4_A: Linear Search

探索 1 | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下に. 番兵を用いた線形探索です.

ALDS1_3_D: Areas on the Cross-Section Diagram

模式断面図の面積 | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下に. リストをスタックっぽく用いて解きましたが, ソートして解く方法もあるらしく そっちのほうもいつか頑張ります.

ALDS1_3_C: Doubly Linked List

双方向連結リスト | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは,以下に. 頑張ります.

ALDS1_3_B: Queue

キュー | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下から. Pythonの標準モジュールを使いました.

ALDS1_3_A: Stack(Python標準のpop関数を使わないver)

スタック | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. 前回のものとは違い,Python標準のpop()関数を使わないというスタンスで解きました. ソースコードは,以下に. 検索してたら,ラムダ式を辞書として保持している方がおり,す…

ALDS1_3_A: Stack

スタック | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは,以下に. ねむたいです.

ALDS1_2_D: Shell Sort

シェルソート | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下に. シェルソートの問題だけ入力ケースがとんでもないぐらい大きい件について.

ALDS1_2_C: Stable Sort

安定なソート | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは,以下に. Pythonの関数の引数は参照渡しであるということを知らなくて, 28行目,29行目の関数呼び出しの際に,両方ともの第一引数にRを設定していて, …

ALDS1_2_B: Selection Sort

選択ソート | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは,以下に. 選択ソートです.このソートもとてもわかりやすいです.

ALDS1_2_A: Bubble Sort

バブルソート | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下に. 基本的なバブルソートです.配列(リスト)のインデックスの大きいほうから小さい方へ(深い方から浅い方へ)ソートしていくアルゴリズムですね.

ALDS1_1_D: Maximum Profit

最大の利益 | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは,以下に. 解法は,AOJの解説通りです.

アルゴリズム : エラトステネスの篩

エラトステネスの篩のコード書きました. Pythonのソースコードは見やすいし書きやすくていいですね.

ALDS1_1_C: Prime Numbers

素数判定 | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. 以下,ソースコードです. 解法は,AOJでも解説されているのと同じやり方です. エラトステネスの篩を思い出したので,次は番外編として, エラトステネスの篩をやります.

ALDS1_1_B: Greatest Common Divisor

最大公約数 | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下から. ALDS1_1_B-GreatestCommonDivisor.py · GitHub かの有名なユークリッドの互除法です. 躓いた,わからないところとしては,Pythonのwhile文につい…

ALDS1_1_A: Insertion Sort

挿入ソート | アルゴリズムとデータ構造 | Aizu Online Judgeの問題を解きました. ソースコードは以下から. ALDS1_1_A-Insertion Sort · GitHub 使い始めの言語は,どれも使い慣れないですね.