単なる長方形ではなく、複雑な形をした領域の「塗りつぶし」を行うアルゴリズムを考えてみます。ここで考える領域とは、「指定された点と繋がっている同じ色の場所の集合」であり、その領域内に指定された色を置いて行くアルゴリズムを検討してみましょう。 最も単純に考えれば、指定された点を出発点に「周囲に出発点と同じ色のドットがあれば色を付ける」処理を繰り返せばよい事になります。つまり、自分の周囲を見て色を付ける処理を再帰的に行うアルゴリズムです。 最初はそもそもJava で再帰が上手く働くか不安だったのですが、小さい領域ではうまく動くようです。最も、大きくなるとどうなるか不安は残りますが。 まあ、大きな領域で実行する時には改めて最適化するとして、今回はとりあえず32*32の配列を対象に「塗りつぶし」処理をやってみましょう。これくらいならどんな処理系でも大丈夫.....だと思います。 まず、配列の各要素を
IBM Related Japanese technical documents - Code Patterns, Learning Path, Tutorials, etc. Please open new issue/pull requests in either English or Japanese if you would have any feedback or you would like to contribute this repo. We provide mainly "Japanese contents" by markdown text. IBM Developerの最新情報は https://developer.ibm.com/ にアクセスし、英語のコンテンツを参照してください。 このリポジトリは、IBM Developer Japan Webサイトで公開していた
本連載では,次世代のエンタープライズ・プラットフォームを支える言語として,このところ最も注目を集めている言語「Scala」の魅力をお伝えしていきたいと思います。Scalaは,技術的にもかなり刺激的で,楽しい言語に仕上がっています。最初の一歩から刺激的な技術解説まで,幅広くScalaのおもしろさ,楽しさをお伝えしたいと思います。 第1回 なぜScalaなのか? 第2回 Scalaの基本的な文法 第3回 Scala言語を探検する(1) 第4回 Scala言語を探検する(2) 第5回 Scala言語を探検する(3)関数型言語としてのScala 第6回 Scala言語を探検する(4)Scalaの型システム 第7回 関数脳のつくり方 First Season 第8回 Scala DSLでできること 第9回 Scala DSL事始め(前編) 第10回 Scala DSL事始め(後編)
GoogleのMapReduceアルゴリズムをJavaで理解する:いま再注目の分散処理技術(前編)(1/2 ページ) 最近注目を浴びている分散処理技術「MapReduce」の利点をサンプルからアルゴリズムレベルで理解し、昔からあるJava関連の分散処理技術を見直す特集企画(編集部) いま注目の大規模分散処理アルゴリズム 最近、大規模分散処理が注目を浴びています。特に、「MapReduce」というアルゴリズムについて目にすることが多くなりました。Googleの膨大なサーバ処理で使われているということで、ここ数年の分散処理技術の中では特に注目を浴びているようです(参考「見えるグーグル、見えないグーグル」)。MapReduceアルゴリズムを使う利点とは、いったい何なのでしょうか。なぜ、いま注目を浴びているのでしょうか。 その詳細は「MapReduce : Simplified Data Proc
下記のWikiページは version 1.3 (July 13,2010) です。英文は表示されませんが、編集ページ上にコメントで残してあります。加筆・修正等はどうぞご自由に。 翻訳文の PDFはこちらです。 A Scala Tutorial for Java Programmer version 1.2 A Scala Tutorial for Java Programmer version 1.3 (表示コメントは昔のままですが) ver1.3は reStructuredTextで書いてあります。ソースや作り方は PDF最後のページに添付ファイル(UTF-8 BOMなしテキスト)として埋め込んであります。 翻訳は完了しましたので、どなたか翻訳の不備をご指摘願います。 -- tmiya (2007-11-18 21:32:02) 翻訳おつかれさまでした。ファイル名を_jaをつけるなどし
オブジェクトとクラスの関係について、次のような説明を見かけました(文言の引用ではなくて、檜山による要約)。 オブジェクトとクラスは全体としてツリー構造をしていて、ツリーの末端をオブジェクト、末端以外のノードをクラスという。末端であるオブジェクトは、その親ノードであるクラスのインスタンスと呼び、クラスどおしの親子関係を継承関係と呼ぶ。 うーむ、この説明、ある意味「簡潔でわかりやすい」とも言えるのだけど、ちょっと単純化し過ぎでしょ。 オブジェクトやクラスの概念て、そんなに美しくもなきゃ、整合的でもありません。実用性やら実装上の都合やらでゴチャゴチャですがね。しかし、そのゴチャゴチャが悪いともいえません。ゴチャゴチャを無理に単純化することなく、必然性を持った(幾分は偶発的だけど(苦笑))複雑さとして理解すべきかと思います。 というわけで、メタクラスやレイフィケーション(reification)な
この「Java言語講座」は、あるソフトハウスでの講座を元にして作られている。そのため、「初めてプログラムをするんだけど、Java が流行っているみたいだから勉強してみたい」という人にはまったく向いていない。そのような人のための雑誌・書籍・Webページは山のようにある。→ 裏ページ「Humorous Side of Java」 このページは、Java の Deep Side について筆者が研究した結果がかなり含まれている。また、主として参考にしたJava固有の資料は次の通り。 「The Java 言語仕様」(ゴスリン,ジョイ,スティール、アジソン・ウェスレイ) 「The Java 仮想マシン仕様」(リンドホルム,イェリン、アジソン・ウェスレイ)。これらはSun社自身による、それも開発者自身による最もディープな専門書籍であり、大変役に立つ(というか筆者レベルだとこういう本じゃないと役に立たない
iioka@言ってるそばからM10がリリースした。 です。 NetBeans 6.0 M10がリリースしたので、 3分でRuby on Railsアプリケーションを作ってみようと思います。 NetBeansの実行にはJava(JDK)が必要ですが、 NetBeans自体にJRubyが含まれており、Ruby、RubyGem、Ruby on Railsのインストールが不要です。 また、DB自体もJava DBを利用してしまいます。 つまり、NetBeansが動く環境なら、すぐさまrailsアプリを作ることができます。 手順は以下の通りです。 1.NetBeans 6.0 M10のダウンロード まず、NetBeansをダウンロードします。 ・NetBeans IDE 6.0 M10 Download パッケージはRubyが含まれている「Full」を選びます。 2.NetBeans
沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く