タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

algorithmとProgrammingとprogrammingに関するfbisのブックマーク (18)

  • ID生成大全 - Qiita

    セッションIDやアクセストークン、はたまた業務上で使う一意の識別子など、いろんなところで一意のIDを生成しなきゃいけないケースが存在します。 そこで世間で使われているIDの生成方法について調べてみました。 選択基準 ID生成における要求として、以下の観点が上げられるかと思います。 生成の速度 大量にデータを短期間で処理し、それらにIDを付与する場合、ID生成そのものがボトルネックとなることがあります。 推測困難性 IDを機密情報と結びつける場合、IDを改ざんされても、機密データが見れないようにできている必要があります。 順序性 採番した順にデータをソートする必要がある場合は、IDがソートキーとして使えないといけません。 それぞれについて各生成手段を評価します。 ID生成の手段 データベースの採番テーブル 採番用のテーブルを作り、そこで番号をUPDATEしながら取得していくやりかたです。古い

    ID生成大全 - Qiita
  • モバイルゲームの歴史を年代別にご紹介します。モバイルゲームの成長と今後について詳しく解説していきます。

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

  • Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found

    2012年01月17日11:45 カテゴリアルゴリズム百選Tips Algorithm - 連想配列の実装としてのハッシュはオワコン? 珠玉のプログラミング Jon Bentley / 小林健一郎訳 つまり「終わったコンテナ」。 以前からうすぼんやりと考えて来た危惧が、すこしはっきりと見えてきた。 徳丸浩の日記: Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策 もうそろそろハッシュ(テーブル)以外の手段の連想配列の実装手段を格的に模索するべきではないか、と。 そのデータ構造は、君の魂を差し出すに足るものかい? 連想配列(Associative array)がコレクション(Collection)、すなわち数多のデータ構造をまとめるデータ構造としての覇者となったのはもはや疑いようがない事実でしょう「配列で実装されるデータ構造ではなくて、配列を実装するデータ構

    Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found
  • 人材獲得作戦・4 試験問題ほか - 人生を書き換える者すらいた。

    さて試験問題です。 内容は、壁とスペースで構成された迷路が与えられたとき、スタート地点からゴール地点に至る最短経路を求めよ、というものです。 たとえば、S:スタート G:ゴール *:壁 $:解答の経路 としたとき、 ************************** *S* * * * * * * ************* * * * * ************ * * * * ************** *********** * * ** *********************** * * G * * * *********** * * * * ******* * * * * * ************************** という入力に対し、 ************************** *S* * $$$ * *$* *$$*$ ************

    人材獲得作戦・4 試験問題ほか - 人生を書き換える者すらいた。
    fbis
    fbis 2010/01/12
    A starアルゴリズムかな。昔やったことある。知ってるか知らないかでかなり実装時間に差が出るとは思う。
  • Natural Order String Comparison

    by Martin Pool This project has moved to github.com/sourcefrog/natsort. Computer string sorting algorithms generally don't order strings containing numbers in the same way that a human would do. Consider: rfc1.txt rfc2086.txt rfc822.txt It would be more friendly if the program listed the files as rfc1.txt rfc822.txt rfc2086.txt Filenames sort properly if people insert leading zeros, but they don't

    fbis
    fbis 2009/06/23
    自然順ソート。各種言語での実装等
  • mixi Engineers’ Blog » 圧縮データベースを使おう

    チャリンコ通勤による滝のような汗で、朝からTシャツがシースルーになってしまうmikioです。さて今回は、Tokyo Cabinet(TC)のデータベースを各種のアルゴリズムで圧縮して利用する方法についてご紹介します。 圧縮B+木 B+木とは、比較関数の値による順序が近いレコード群を単一のページにまとめ、各ページにB木(multiway balanced treeの略であり、二分木(binary tree)とは違います)の索引を張ったものです。理論的にはレコードの探索も更新も O(log n) の時間計算量で行え、内部ノード(B木)の操作をキャッシュすると実質的には O(1) の時間計算量で探索や更新が行えるという、かなり安定した性能を備えるデータ構造です。その上、レコードが一定の順序に基づいて並べられているので、数値の範囲検索や文字列の前方一致検索が高速に行えたり、カーソルによって順序に基

    mixi Engineers’ Blog » 圧縮データベースを使おう
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • アルゴリズム百選 - 迷ったらbenchmark : 404 Blog Not Found

    2007年12月09日03:30 カテゴリアルゴリズム百選 アルゴリズム百選 - 迷ったらbenchmark この話題、以下の答えとしても適度なのでそのまま。 アルゴリズム百選 - フィボナッチ数列にO()を学ぶ - www.textfile.org 「O()が小さいからといって速いとは限らない」が抜けている。ベキ乗アルゴリズム再考 ベキ乗のやり方として、すぐに思いつくのは以下の方法です。 function power(b, n){ var result = 1; while(n--) result *= b; // b を n 回掛け算 return result; } これがO(n)であることは、直感的にわかります。 ところが、これをO(log n)でやる方法も比較的すぐに思いつきます。 例えばbを21乗したいとします。21=16+4+1なので、b21はb(16 + 4 + 1)とも書

    アルゴリズム百選 - 迷ったらbenchmark : 404 Blog Not Found
  • アルゴリズム百選 - フィボナッチ数列にO()を学ぶ : 404 Blog Not Found

    2007年11月28日18:00 カテゴリアルゴリズム百選Math アルゴリズム百選 - フィボナッチ数列にO()を学ぶ 404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10、これほどの反響になるとは。200ブクマぐらいは予想していたが、もいくとは。 とりあえず、の仮題を「アルゴリズム百選」として、「アマグラマーのすすめ」と同じようにblogに草稿を書いていくことにする。「メインページ」の「アルゴリズム大募集! C&R研究所 - トップページ」の方も適宜更新していくが、「その場で動かせるコードサンプル」はここでないと書けないので。 ただし、「アマグラマーのすすめ」よりは書き方は順不同になるはず。それでも序文相当のことは「チラ見」ならぬ「チラ書き」しておいた方がいいだろう。というわけで、序文に変えて紹介するのが、Entry。 ヒントとな

    アルゴリズム百選 - フィボナッチ数列にO()を学ぶ : 404 Blog Not Found
  • 404 Blog Not Found:アルゴリズム百選 - ハッシュを再発明する

    2007年12月03日11:15 カテゴリアルゴリズム百選 アルゴリズム百選 - ハッシュを再発明する (実はハッシュを使って)配列を再発明したところで、今度は配列を使ってハッシュを再発明してみます。 現代におけるプログラミングでは、連想配列(associative array)というものを非常によく使います。通常の配列では、データを取り出すのに整数の番号を使いますが、連想配列ではその代わりに文字列を使います。これは非常に便利で、多くの言語ではオブジェクトの実装にこの連想配列を用いています。JavaScriptのオブジェクトも実は連想配列です。 しかし、これを実装するには、少し工夫が必要です。単なる配列であれば、ただ等間隔に並べておけば、「何番目を出してくれ」で事足りますが、連想配列で「'dankogai'番目」といっても人間にもコンピューターにもなんのことかさっぱりわかりません。 誰でも

    404 Blog Not Found:アルゴリズム百選 - ハッシュを再発明する
  • 404 Blog Not Found:私ごときがアルゴリズム本を書くことにした訳

    2007年12月02日04:00 カテゴリアルゴリズム百選 私ごときがアルゴリズムを書くことにした訳 アルゴリズムを評価するのは、プロにとっても難しい。 アルゴリズム - 186::Diary * あとメモ化のときの最初の呼び出し回数の評価も間違ってるよね. 1回目は関数をナイーブな実装で評価するから. ところが、この下りに関して間違いなのは私の元発言ではなく、この突っ込みの方なのである。 そのことは、以下を見れば一目瞭然である。 ナイーブ プログラム: var c = 0; function fib(n){ c++; if (n <= 2) return 1; return fib(n-1) + fib(n-2); } (function(n){ p('fib('+n+') = ' + fib(n) + ', count = ' + c) })(25) 出力: エラー: メモ化 プログ

    404 Blog Not Found:私ごときがアルゴリズム本を書くことにした訳
  • ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40

    高校生の時、数学の先生がこう言いました。 ゲームなんて、開発者が作ったルールの上で遊ばれるだけだ。 と。 その時、ゲーマーな自分はこう思いました。 ゲーマーは、開発者が作ったルールの上で遊ばれたい。 と。 というわけで、普段何気なくプレイしているゲームには、どのようなルール(アルゴリズム)があるのか。それを知るために、いろいろなゲームのアルゴリズムなどを解析しているページへのリンク集を作りました。 ほとんどのゲームのアルゴリズムは正式に発表されていないので、ユーザーの手による逆解析だったり、大学の研究による真面目な考察だったりします。(リンク先には、一部アルゴリズムと呼べないものも含まれています) 各種ゲームのプログラム解析 ドラクエ、FF、ロマサガのプログラム解析 DQ調査報告書(リンク切れ) ドラクエの物理ダメージ計算式は質的にどれも同じだが、細かい部分で微妙に違う RPG INST

    ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40
  • 404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10

    2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズムの発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法

    404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10
  • データ圧縮の基礎

  • 各種ゲームのプログラム解析

    目次 はじめに 解析結果についての解説 ファイナルファンタジーIV ファイナルファンタジーV ファイナルファンタジーVI ドラゴンクエストV ドラゴンクエストVI ドラゴンクエストI・II ドラゴンクエストIII ロマンシング サ・ガ2 ロマンシング サ・ガ3 技術資料 ファイナルファンタジーIV ファイナルファンタジーV ファイナルファンタジーVI ドラゴンクエストV ドラゴンクエストVI ドラゴンクエストI・II ドラゴンクエストIII ロマンシング サ・ガ2 ロマンシング サ・ガ3 今後の予定 おわりに はじめに ゲームの内部で起こっている処理を推測するのはなかなか難しいものです。ユーザーサイドから見れば、ゲームの内部処理はほとんど「ブラックボックス」のようなものです。ユーザーサイドでは「(内部で複雑な処理が行われた末の)最終結果」しかわかりませんし、ゲーム中の様々な要素(各種パラメ

    fbis
    fbis 2007/09/04
    FF456、DQ1256、ロマサガ23
  • 第8回 倉庫番を解くアルゴリズム - 地球にやさしいアルゴリズム:ITpro

    「倉庫番」*1というゲームをご存じでしょうか。図1のように盤面にはいくつかの「荷物」とそれを運ぶ「人」がいます。人は1個の荷物を押して運ぶことができます。荷物を引っ張ったり,二つ並んだ荷物を同時に押して運ぶことはできません。人と荷物は縦横4方向に動けますが,壁のある位置には進めません。人を使って盤面上の荷物を動かし,すべての荷物を目的地(ゴール)に収めることができればゲーム・クリアとなります。図1の問題を解くための手順を示すアルゴリズムを作ってください。 友人たちと車でスキーに行くとき,いつも困るのは「トランクへ荷物を詰め込む順番」です。大きなスキーやかさばるスキーウエアを詰め込んでいるうえ,人によってはゲーム機やを持ってきたりするので,各自の荷物の量がまったく違うのです。狭い車のトランクには,これら荷物をうまい順番で入れていかないとなかなか全部収まりません。寒い冬の夜中にごそごそと詰

    第8回 倉庫番を解くアルゴリズム - 地球にやさしいアルゴリズム:ITpro
    fbis
    fbis 2007/05/07
    おもしろそうなんであとで
  • きまぐれ日記: 動的配列への追加コストはなぜ O(1)?

    動的配列への追加コストは O(1) ってのは覚えていればそれだけの話ですが,どうしてかと言われると意外と難しいものです. というのも, このO(1)ってのは動的配列の実装方法に強く依存しているからです.実装を知っていないと答えられません. 一般論として,1つ要素を追加するとき,配列に空きがなかったら新しく配列を作り直して全要素をコピーする必要があります.コピーのコストは O(n) だから,追加コストも O(n) になるという議論が混乱の元になっています. こういうときは,要素追加を n 回繰り返したときの計算量を n で割った平均をとるという解析方法が使われるそうです.一般に, ある operation C の計算量を C を n 回行ったときの計算量 O(n) を n で割った値 O(n)/n で評価する手法をならし解析 (amortized analysis)と言うそうです. さて,s

  • Mastering Algorithms with Perl : 404 Blog Not Found

    2006年11月02日19:00 カテゴリ書評/画評/品評 Mastering Algorithms with Perl 定番アルゴリズムを徹底理解!:ITproが もブクマされておりますが、それよりもこちらの方がおすすめ。 Mastering Algorithms With Perl J. Orwant / J. Hietaniemi / J. MacDonald 以前404 Blog Not Found:Hash != Associative Arrayでもちょこっと紹介しましたが、ここで改めて紹介しておきます。 書"Mastering Algorithms with Perl"には「定番アルゴリズムを徹底理解!」のアルゴリズムは全て載っている上、それぞれのベンチマークもちゃんと取ってます。"with Perl"とありますが、Perl色はそれほど強くないので、他のLLのユーザーにも役

    Mastering Algorithms with Perl : 404 Blog Not Found
  • 1