> 返回资讯列表
news_article.exe
📰

設計コンテキスト内のLDデータ構造: 何らかの結果ではなく、「ベスト」結果を必要とする問題

LLD Data Structures in Design Context: Why Some Problems Need the "Best" Result Instead of Any Result

2026年8月1日18 次浏览来源:Dev.to 阅读原文

「素早く何かを見つけ、すぐにベストを探し出すことは、全く異なるエンジニアリングの問題です。」 このシリーズでは、ソフトウェアシステムの最も一般的な動作の1つを調べました。 速い一見。 ユーザーが探しているシステムが既に知っているとき、HashMap は、ユーザー ID、製品 ID、注文 ID、セッション ID など、優れた選択肢となります。 しかし、すべてのソフトウェアの問題は、このように機能しません。 ライドシェアリングアプリケーションの構築を想像してみてください。 ライダーはキャブをリクエストします。 どのドライバを割り当てるのかは、既にシステムがわからない。 代わりに、さまざまな質問に答えなければなりません。 「利用可能なすべてのドライバーのうち、誰が最良の選択ですか?」 タスクスケジューラを考えましょう。 ジョブの何百人も待機しています。 スケジューラが「第123号」と聞かれません。 「次は仕事が実行されるべきか?」と尋ねます。 お問い合わせ.

「素早く何かを見つけ、すぐにベストを探し出すことは、全く異なるエンジニアリングの問題です。」 このシリーズでは、ソフトウェアシステムの最も一般的な動作の1つを調べました。 速い一見。 ユーザーが探しているシステムが既に知っているとき、HashMap は、ユーザー ID、製品 ID、注文 ID、セッション ID など、優れた選択肢となります。 しかし、すべてのソフトウェアの問題は、このように機能しません。 ライドシェアリングアプリケーションの構築を想像してみてください。 ライダーはキャブをリクエストします。 どのドライバを割り当てるのかは、既にシステムがわからない。 代わりに、さまざまな質問に答えなければなりません。 「利用可能なすべてのドライバーのうち、誰が最良の選択ですか?」 タスクスケジューラを考えましょう。 ジョブの何百人も待機しています。 スケジューラが「第123号」と聞かれません。 「次は仕事が実行されるべきか?」と尋ねます。 またはゲームプラットフォームを想像してください。 プレイヤーの数千人が競争しています。 「ファイドプレイヤーID1057」を誰も尋ねない 代わりに、「トップ10のプレイヤーはどこですか?」と尋ねます。 これらの問題は、高速なルックアップとは根本的に異なります。 特定のオブジェクトを見つけることはしていません。 彼らはいくつかの優先順位に応じて最高のオブジェクトを見つけることについてです。 このシフトは、別の重要なデザイン行動を紹介しています。 速いルックアップ対ベストセレクションは、2つの異なる要件を比較してみましょう。 条件 1 既にシステムが必要とするものを正確に知っています。 チャレンジは、効率よくチャレンジします。 条件 2 システムはまだ答えを知らない。 決定を行う前に複数の候補を比較する必要があります。 これらの2つの行動は似ているかもしれません。 現実に、彼らは完全に異なるエンジニアリングの問題を解決します。 すべてのソフトウェアシステムは、これらの質問を検討するのと同じ方法を検索しません。 versus か: versus か: versus 最初の質問は、常に識別子を提供します。 2番目の質問は比較が必要です。 その区別はすべてを変えます。 優先順位の把握 病院の救急室をイメージしましょう。 5人の患者が到着します。 患者が到着した順番に単に治療されると、結果はこのようになります。 技術情報

> 分享: