タグ

ブックマーク / nowokay.hatenablog.com (3)

  • 計算量を具体的に見てみる 2009-01-06 - きしだのはてな

    アルゴリズムの話では、計算量の解析がかかせません。 計算量はオーダー記法で表されますが、これは、データの入力量に対してどのくらい時間がかかるかをあらわしたものです。 こういった話はどのアルゴリズムのにも載ってるはずですが、具体的にどのようなプログラムを書くとそのオーダーになるかという記述はあまりありません。 ということで、やってみました。 計算時間表示のための共通処理を行うクラスは、一番最後に書いてます。 O(1) 計算時間がO(1)のアルゴリズムは、処理が入力の量によらない場合です。 配列の要素のアクセスや、ハッシュテーブルによるデータ検索、連結リストへの追加削除などがこれにあたります。 コードには入力量でのループが含まれません。 public class O1 extends ViewCompFrame{ @Override void compute(int n) { proc();

    計算量を具体的に見てみる 2009-01-06 - きしだのはてな
    redogu
    redogu 2014/09/19
  • Scalaでパーサーを作ってみる〜1:構文定義 - きしだのHatena

    Scalaの勉強をはじめました。 で、なんかパーサーコンビネータというのがあるらしく、パーサーが簡単に作れるらしく、じゃあパーサー作ってみるのがScalaの勉強にいいんじゃないかということで、簡単なパーサーを作ってみることにします。 とりあえず構文定義してみます。 今回つくるのは、整数の計算をするパーサーってことにします。整数と、+/-、*、あと()くらいが使えるものにします。割り算を入れないのは、そこは単純に処理を付け加えれば実現できるから。 式の優先順位と、同じ優先度に複数の演算子があればいいってことにします。あと、単項演算子も使いません。めんどうだから。 実装方針は「ソースコードが増えないこと」です。 JavaTokenParsersを使うと、Javaのリテラル表記がそのまま使えるパーサーが作れるらしいんですけど、構文を全部自分で定義したい病気なので、その一階層上のRegexPars

    Scalaでパーサーを作ってみる〜1:構文定義 - きしだのHatena
    redogu
    redogu 2011/11/03
  • Java7構文でリダイレクト先URLを取得するコードを書いてみる - きしだのHatena

    短縮URLなんかのリダイレクト先を取得するコードを書いてみました。 こんどは、Java7構文の文字列によるswitch文を使ってます。 やっぱり、文字列でswitchできるというのはうれしいです。あと、内部的に最適な分岐判定をやってくれるんじゃないかという期待も。 package sample.net; import java.io.*; import java.net.*; import java.util.Date; public class GetRedirect { public static void main(String[] args) throws MalformedURLException, IOException{ URL u = new URL("http://goo.gl/AXxvG"); System.out.println("リダイレクト先:" + GetRed

    Java7構文でリダイレクト先URLを取得するコードを書いてみる - きしだのHatena
    redogu
    redogu 2011/04/09
  • 1