コンパイラとインタプリタの違い
- コンパイラ
- ソースコード全体を一度に機械語に翻訳
- 実行ファイルを生成し、後の実行が迅速
- 例:C、C++
- インタプリタ
- ソースコードを逐次的に翻訳・実行
- 実行ファイルを生成せず、その場で動作
- 例:Python、Ruby
マークアップ言語
マークアップ言語は、文書の構造や形式を記述する言語で、テキストにタグや記号を追加して情報を整理します。
特徴
- タグベース: テキスト内にタグを使って構造を示す
- 人間可読性: テキストとタグが混在し、比較的読みやすい
- 階層構造: 要素が階層的に配置される
代表的な例
- HTML: ウェブページ作成
- XML: データ構造の定義
- Markdown: 簡易的な文書作成
バイナリデータ
バイナリデータは、0と1の二進数で表現されるコンピュータデータの形式です。人間が直接読み取ることはできません。
特徴
- 形式: 0と1の組み合わせ
- 効率性: コンピュータ処理に適し、データサイズが小さい
- 多様性: 画像、音声、動画、実行ファイルなどで使用
二分探索木(Binary Search Tree, BST)
各ノードに対して以下の特性を持つデータ構造です:
- 左の子ノードの値は親ノードより小さい
- 右の子ノードの値は親ノードより大きい
以下に簡単な二分探索木の図を示します。
8
/ \
3 10
/ \ \
1 6 14
/ \ /
4 7 13
説明
- ルートノード: 8
- 左部分木: 3、1、6、4、7
- 3の左は1(3より小さい)
- 3の右は6(3より大きい)
- 6の左は4(6より小さい)、右は7(6より大きい)
- 右部分木: 10、14、13
- 10の右は14(10より大きい)
- 14の左は13(14より小さい)
このように、二分探索木は効率的な検索、挿入、削除が可能です。検索は平均して ( O(log n) ) の時間で行えます。
二分木の探索順
1. 深さ優先探索 (DFS)
- 前順(Pre-order): 根 → 左 → 右
- 中順(In-order): 左 → 根 → 右
- 後順(Post-order): 左 → 右 → 根
2. 幅優先探索 (BFS)
- レベル順(Level-order): 各レベルのノードを左から右に訪れます。根から始まり、次にその子ノードを訪れます。
探索順の例
A
/ \
B C
/ \ \
D E F
- 前順: A, B, D, E, C, F
- 中順: D, B, E, A, C, F
- 後順: D, E, B, F, C, A
- レベル順: A, B, C, D, E, F
隣接行列・隣接リスト
V は頂点数、Eは辺の数
隣接行列: 空間は O(V^2)、時間は O(1)(追加・削除・確認が速い)
隣接リスト: 空間は O(V+E)、時間は O(1)(追加が速い)と O(E)(削除・確認がやや遅い)
ベルヌーイ試行
- 定義: 成功または失敗の2つの結果を持つ試行
- 特徴: 各試行は独立しており、成功確率は一定
- 例: コイン投げや製品の合格/不合格判定
ポアソン分布
- 定義: 単位時間または単位空間内における稀な事象の発生回数を表す確率分布
- 特徴: 大きな試行数に対して小さな成功確率を持つ場合に適用される
- パラメータ: 平均発生回数 ( \lambda ) に基づく
- 例: 一定期間内の電話の着信数や事故の発生回数
2項分布
- 定義: 固定された回数のベルヌーイ試行における成功回数の確率分布
- 特徴: 各試行は独立で、成功確率が一定
- パラメータ: 試行回数 ( n ) と成功確率 ( p )
- 確率質量関数: ( P(X = k) = \binom{n}{k} p^k (1-p)^{n-k} ) (成功回数が ( k ) の確率)
例: コインを10回投げて表が出る回数の分布。
k平均法
- 目的: 各クラスタ内のデータの分散の和を小さくするために、データを k 個のクラスタに分割するヒューリスティック手法
- 計算量: 計算結果が収束するまでの計算時間の上限を与えることはできない
- クラスタ数の指定: クラスタ数 kを事前に与える必要がある
- 初期クラスタの影響: 初期クラスタの選び方によって結果が異なることがある
ヒューリスティック手法
複雑な問題を解決するために、完全な最適解を求めるのではなく、実用的な解決策を迅速に見つけるための経験則や近似的なアプローチを使用する方法
NGSのファイルタイプ
- BAM(Binary Alignment Map): ゲノムに次世代シークエンサなどから出力された配列をマッピングした時に得られる配列のアラインメント情報に関するファイルタイプ
- VCF(Variant Call Format): エクソーム解析などで変異情報を記述するときのファイルタイプ
- GTF(General Transfer Format): は遺伝子の注釈(アノーテーション)の出力
- FASTQ: DNAなどの塩基配列とそのクオリティスコアを1つのファイルに保存するためのファイルタイプで、クオリティスコアは1文字のASCIIコードで表されている。
コメント