ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。サイエンス1本部の真鍋です。 私は博士後期課程を修了後、2016年の4月にヤフーに新卒入社し、約半年間の新卒研修を経て現在のチームに配属となりました。それ以来2年半ほど、キーワード検索エンジンの実装と、検索結果ランキングの改善に取り組んでいます。 より具体的には、ヤフーショッピングの商品検索に関わっています。検索結果ランキングは主に機械学習で生成されたモデルによっているのですが、このモデルに商品のどんな属性や、ユーザーの皆さんのどんな行動を入力したらいいかを考え、その実現に必要なコードを実装するのが主な仕事です。快適なサービスを提供するために計算コストを削減したり、これら全てのことがスムーズに進むように運用コストを削減
アルゴリズムの話では、計算量の解析がかかせません。 計算量はオーダー記法で表されますが、これは、データの入力量に対してどのくらい時間がかかるかをあらわしたものです。 こういった話はどのアルゴリズムの本にも載ってるはずですが、具体的にどのようなプログラムを書くとそのオーダーになるかという記述はあまりありません。 ということで、やってみました。 計算時間表示のための共通処理を行うクラスは、一番最後に書いてます。 O(1) 計算時間がO(1)のアルゴリズムは、処理が入力の量によらない場合です。 配列の要素のアクセスや、ハッシュテーブルによるデータ検索、連結リストへの追加削除などがこれにあたります。 コードには入力量でのループが含まれません。 public class O1 extends ViewCompFrame{ @Override void compute(int n) { proc();
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く