学習

Python

【Python】バブルソート【アルゴリズム】

バブルソートについて 計算量はO(n^2) リストの先頭から順に2つの要素の大小比較し、大きい方の要素がリストの先頭に近ければその2つの要素の位置を入れ替える 先頭から前述の比較と入れ替えを繰り返す 最大の要素が...
Python

【Python】挿入ソート【アルゴリズム】

挿入ソートについて 始めに先頭の要素はソート済みとする 2つ目の要素から順に並べ替えを行い、ソート済みとしていく ソート対象の要素に対して、ソート済みの要素を後ろから順に大小比較して並べ替え先を調べる 並べ替え先...
Python

【Python】選択ソートを実装する【アルゴリズム】

選択ソートとは リストから最も小さい要素を選んで前に移動する方法 最小の要素とリストの先頭の値を交換する 最小の要素は先頭から線形探索で調べる コード #1 minに最小値の位置をセット ”for i i...
Atcoder

【Python】AtCoder Beginner Contest213 A,B,C問題 解答・解説

A問題 Bitwise Exclusive Or XORの演算をする問題でした。 XOR演算については問題文で説明されています。 10進数である3は2進数では011 10進数である6は2進数では101 XOR演...
Python

【Python】幅優先探索を実装する【アルゴリズム】

私自身の学習の記録用に残しておきます。 今回は幅優先探索について勉強しました。 幅優先探索の実装 :data=は親ノード treeは木構造内の各ノードのインデックスを表しています。 data=は初めは一番上位の親ノード...
Python

【Python】二分探索を実装する【アルゴリズム】

二分探索の概要 探索したい値とデータの中央の値を大小比較し、半分に絞り込んでいく 探索の対象となるデータが昇順にソートされている必要がある。 計算量はO(logn) 二分探索の実装 二分探索の実装(補足...
Atcoder

【Python】AtCoder Beginner Contest212 A,B,C問題 解答

A問題 Alloy B問題 Weak Password 4桁の数字が入力されるので、全て同じ数字の場合と、数字が1234のように1つずつ増えて連続している場合にWeak、それ以外はStrongと表示させる問題です。いくつかの...
Atcoder

【Python】AtCoder Beginner Contest211 A,B問題 解答

A問題 Blood Pressure B問題 Cycle Hit 4回の入力があるため、4回のループ処理の中で、input()により入力された値をそのままリストに追加しています。 指定の4種類の文字列が...
Atcoder

【Python】AtCoder Beginner Contest210 A,B問題 解答

A問題 Cabbages B問題 Bouzu Mekuri nはsの文字数。sは文字列として入力されます。 0は良いカード、1は悪いカードであり、先に悪いカードを引いたら負けのゲームを行います。 高橋君が先行でカ...
Atcoder

【Python】AtCoder Beginner Contest209 A,B問題 解答

A問題 Counting B問題 Can you buy them all? 方針 問題文より入力値の内容は以下の通りです。 n:2行目に入力される値の数 x:所持金 2行目のそれぞれの値:商品の定価 ...