タグ

algorithmとtipsに関するsabroのブックマーク (3)

  • 一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録

    一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つけたのでコードを書いてみました。 この問題は ハッカーのたのしみ―物のプログラマはいかにして問題を解くか (Google book search で原著 Hacker's delight が読めたのでそれで済ませた) で number of trailing zeros (ntz) として紹介されています。bit で考えたときに右側に 0 がいくつあるかを数えるもの。1 だと 0、2 だと 1、0x80 なら 7、12 なら 2 といったぐあい。0 のときに表題どおりの問題として考えるといくつを返すの?ってことになるので、

    一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録
  • ウノウラボ Unoh Labs: RDBで階層構造を扱うには?

    yukiです。ダイエットを始めて3kg減ったと思ったら、風邪を引いて見事に1kg増量。 運動しないと駄目ですね。あと残り20kg、道のりは遠いです。 さて今回は、「RDBで階層構造を扱うには?」です。 あるサイトを構築中に階層構造をもったカテゴリ構造にすることになり、どのようにDBで扱うか悩みました。 DBMySQLを採用していたので、この時点でぱっと頭に浮かんだ選択肢は以下のようなものでした。 XML-DBを利用する 親カテゴリレコードのプライマリIDを子カテゴリレコードに持たせる 親を含めた『絶対パス』を名称として扱い、取り出した後にパース ファイルシステムに同様のディレクトリ構造を作り、毎回パースする (1)のXMLDBはオープンソースのeXistやXindice、Yggdrasillなど様々な選択肢がありましたが、カテゴリのみの利用な割にメンテナンスコストが高すぎるので見送りま

  • カメラと被写体の関係から擬似3D空間を作る (1) - FICC LABS

    FICC 福岡です。 初めての投稿ですから、まずは簡単に自己紹介を。FICCでは主にFlashコーディングを担当していますが、PHPでの簡単なシステム設計や、場合によってはデザインを担当することも。皆さんの目に触れるところでは、FICC AnotherBookmark BetaのFlashインターフェースからその管理ツールの作成まで一人で行っています(ちなみにデザインも)。 今回はCOBYウェブサイトでも利用した3Dインターフェースの基的な部分を解説をします。ご存知の通り、Flashは3Dの概念を標準ではサポートしていません。近年ではPaperVision3DやSandyなどのAS2/3に対応したライブラリが公開されており、比較的簡単にFlashでも3Dが利用できる環境が整いつつあるようです。ですが今回は、改めて基から。 3Dの概念の基はオブジェクトとカメラの関係です。オブジェクトの

  • 1