A little bit of everything

元・情報系大学院生の備忘録

2014-01-01から1ヶ月間の記事一覧

マージソート

アルゴリズム: 配列の長さが1以下なら、ソート済みなので終了。長さ2以上なら2へ。 配列を等分し、この2つの配列にそれぞれマージソートを適用した後、3へ。 2つの配列をマージアルゴリズムでマージする。 手順2で再帰的にマージソートを使っているので、日…

マージアルゴリズム

マージとは 「併合」という意味で、複数の配列や連結リストなどのデータ列を1つにまとめることをいう。 単純に複数の配列を併合するならば、それぞれの配列の長さを合計した長さ以上の配列を用意し、すべてをそこに格納してしまえばよい(順序など関係なく)…

二分探索木 (binary search tree)

二分木のうち、すべてのノードの値が、 [左の子の値] ≦ [自分の値] ≦ [右の子の値] となっているもの。 この図は二分探索木の条件をみたしている。 ∵ 4 ≦ 5 ≦ 8 だし、 7 ≦ 8 ≦ 9 になっている。 1. 検索 二分探索木では、データを高速に検索することができ…

二分木(Binary Tree)

各ノードの子供の数が2以下である木構造のこと。 また、各ノードが「葉であるか、次数が2(子供が2つ)」である木を全二分木(full binary tree), すべての葉が同じ深さである二分木を完全二分木(perfect binary tree) という。 図1. 二分木の例(全二分木で…

安定ソート(stable sort)

ソートアルゴリズムにおいて「安定である」ということの意味 同順序のものの順序関係が、ソート前とソート後で保たれるもののこと。 (順序が保たれないものは、「安定ではない」という) 例) 本の値段と出版年によってソートする場合を考える。 最初に出版…

MongoDB の install (Mac)

homebrew を使用。 基本、Install MongoDB Community Edition on macOS — MongoDB Manual に従う。 まず、brew update 次に、brew install mongodb ここで怒られた。対処したやり方↓ yuukiyg.hatenablog.jp で、これでinstall 完了。 Before you start Mongo…

【メモ】homebrew で install するときに Permission denied になった

とりあえず brew doctor をやってみる。そしたら、 Warning: /usr/local/etc isn't writable. Warning: /usr/local/include isn't writable. Warning: /usr/local/lib isn't writable. みたいなことを言われた。 解決策は、 sudo chown -R $USER /usr/local …

データベースの種類

DB

リレーショナルデータベース 関係モデル(リレーショナルデータモデル)にもとづいて設計、開発されるデータベース。スキーマが決まっていて、トランザクションが利用できるもの。 オブジェクトリレーショナルデータベース リレーショナルデータベースの一種…

スケールアウトとスケールアップ

スケールアウト(水平スケール): システムにノードを追加することで、システム全体のスケーラビリティ(システムの規模の変化に柔軟に対応できるかの度合い)を向上させること。具体的には、サーバが動いているようなシステムで、単純にサーバの数を増やせ…

DHCP のしくみ

DHCP (Dynamic Host Configuration Protocol) プロトコルスタック TCP/IPのアプリケーション層 下位プロトコル UDP ポート番号 67と68 (67はDHCPサーバ、68はDHCPクライアント用) 用途 TCP/IPで通信を行うためのIPアドレスやサブネットマスク、デフォルトゲ…