タグ

algorithmとphpに関するshimookaのブックマーク (4)

  • GitHub - kjdev/php-ext-zstd: Zstd Extension for PHP

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - kjdev/php-ext-zstd: Zstd Extension for PHP
    shimooka
    shimooka 2017/04/25
    ZstandardのPHP拡張モジュール
  • すごく簡単なアルゴリズムがphpで書けなくてつらい - Qiita

    ある条件でソートされているIDのリストを与えられて、なんとなく近い範囲でマッチングさせたいという要件があった。配列からの任意の要素の取り出しは O(n) だけど、末尾や末尾から固定した範囲の要素に限って言えば O(1) なので、後ろの方からマッチングさせながら要素を取り出していけば O(n) でマッチングできるはず。 なんにも難しいことは無い話で、 Python で書けばこうなる。 list.pop() が末尾からのインデックス (-1 が最後の要素を表す) を許すのが地味に便利だ。 # coding: utf-8 def match(seq, r=100): from random import randint # 奇数個の時に先頭周辺の要素がボッチになるのが嫌なら、先に後ろの方の # 要素を取り除いて偶数にしておくこと. while len(seq) >= 2: # 引数を省略すると末

    すごく簡単なアルゴリズムがphpで書けなくてつらい - Qiita
  • A* (A-Star) PHP Project

    NOTE I originally developed this for the Codewalkers "Shortest Path Through a Maze" Contest. I'm in the process of making this page more oriented towards A* and less towards the contest. Download the source code (.zip) to the newer, object-oriented implementation. The original page can be found here. BTW, it appears that my implementation has a bug lurking somewhere. It fails to solve the 'big' an

    shimooka
    shimooka 2009/12/16
    a*アルゴリズムのPHP実装
  • 実例!キャッシュの仕組み

    ハッシング+リンクトリスト 「第3回:ソースでわかる!ハッシング」でハッシングとリンクトリストを組み合わせたものを紹介しました。今回はそのプログラムを紹介しますが、実はその体はこれまでに紹介したものばかりです。1のリンクトリストを扱うプログラムは第1回に紹介しました。これをハッシュ値が同じもの同士をひとつのリストにするようにして、複数のリストを作って管理するのがこの方法です。 第3回の最後にハッシングとリンクトリストを使ったプログラムのinsert()関数を紹介しましたが、ハッシング機能のモジュールの全体を図1-1に示します。ハッシュ関数h()のほかに、このハッシュテーブル+リンクトリストの構造を使った登録insert()、検索search()および削除delete()の機能を加えています。 テストプログラムを含めたプログラム全体はこちら(http://www.thinkit.co.j

  • 1