有向非巡回グラフ(DAG)とトポロジカルソート
有向非巡回グラフ(DAG) 有向非巡回グラフ(Directed Acyclic Graph: DAG)とは、閉路のない有向グラフのことである。サイクルが存在しないため、ある頂点から同じ頂点に戻っ...
47 search resultsShowing 1~20 results
You need to log-in
有向非巡回グラフ(DAG) 有向非巡回グラフ(Directed Acyclic Graph: DAG)とは、閉路のない有向グラフのことである。サイクルが存在しないため、ある頂点から同じ頂点に戻っ...
概要 AtCoderのABC141で優先度付きキュー(ヒープ)を用いる問題に出くわしたので、その備忘録です。公式の解説があるため詳しい説明は省きますが、この問題を解くに当たって下記の処理を行う必...
概要 AtCoderのDP(Dynamic Programming: 動的計画法)問題を解いていたところ、他の言語ならACになるコードがPython/PyPyだとTLEになるという現象に遭遇した...
概要 グラフや木の探索に用いられる幅優先探索と深さ優先探索について、Pythonでの実装を用いながら紹介します。 幅優先探索 (Breadth First Search: BFS) 幅優先探索(...
この記事はEmacs Advent Calendar 2019 22日目の記事です 概要 EmacsキーバインドでChromeを操作できるExtensionを公開してみたので、その紹介になります...
概要 Android向けに開発したSDKをUnityアプリに対応させる場合、プラグインを作ってSDKとUnityアプリの橋渡しをしてやる必要があります。Android向けネイティブプラグインの実...
概要 iOS向けに開発したSDKをUnityアプリに対応させる場合、プラグインを作ってSDKとUnityアプリの橋渡しをしてやる必要があります。本記事ではUnity側のコードをC#、プラグイン側...
概要 iOSやAndroid向けに開発したSDKをUnityアプリに対応させる場合、プラグインを作ってSDKとUnityアプリの橋渡しをしてやる必要があります。本記事ではUnity側からSDKに...
概要 素因数(prime factor)とは、ある自然数の約数となる素数のことです。また素因数分解 (prime factorization) とは、自然数を素因数の積の形で表すことを指します。...
概要 基本的なソートアルゴリズムの概要と、Pythonによる実装例をまとめました。 挿入ソート(Insertion Sort) 概要 挿入ソートは手に持ったトランプの並べ替え方に例えられる手法...
概要 LIFO, FIFOを実現するデータ構造としてそれぞれスタックとキューが挙げられますが、本記事ではこれらの一方を用いてもう一方を実装する手法を紹介したいと思います。 StackによるQue...
背景 iOSアプリを開発していると、作成したViewを別の場所で使い回したい場合があります。またiOSアプリ向けのSDKを開発する場合、SDK側でViewを定義しておいて、クライアントアプリ側で...
概要 Androidアプリで現在地の情報を取得する場合、以前はLocationManagerが一般的に使われていましたが、version 11.6.0以上のGooglePlayServicesで...
概要 ある条件を満たす部分文字列を探索する場合、総当たりで探索を行うと計算量がO(n^2)になり、制限時間に間に合わない場合がほとんどです。そこで今回は、尺取り法(しゃくとり法)によって効率的に...
概要 キュー(Queue)は先入れ先出し(First In First Out)を実現するためのデータ構造です。無限の長さを持つ配列があれば末尾に要素を追加していくだけでキューを実装できますが、...
概要 ハッシュテーブル(hash table)とは、キーを持つデータの集合に対して要素の追加や検索を効率的に行うためのデータ構造の一種です。その実体は一定数の要素を格納できる配列と、データが格納...
Deletion in Binary Search Tree 方針 二分探索木からあるノードを削除したい場合、下記の3つのパターンに分けて考えます。 削除対象のノードが子を持たない 削除対象のノ...
概要 素数の列挙に関しては多くのアルゴリズムが考案されていますが、ある自然数が自身以下の素数で割り切れるかを判定することで素数判定を行う実装例を記載します。ナイーブな実装なのでそれなりに低速です...
概要 逆ポーランド記法とは、演算子を数字の後に記述する記法です。 例えば一般的な数式 (1+2)*(5+4) は、逆ポーランド記法では 1 2 + 5 4 + * と記述されます。 逆ポーランド...
概要 ユークリッドの互除法とは、2つの自然数の最大公約数(Gratest Common Divisor)を求める手法の一つです。一方をもう一方で割って剰余を求め、その剰余を使ってさらに除算を繰り...
47 search resultsShowing 1~20 results
Qiita is a knowledge sharing service for engineers.