1

すぐに話します。スケジューリングを担当する Web または電話アプリに取り組んでいます。履修した科目を学生に入力してもらい、必要に応じて履修すべき科目の組み合わせを提示します。

ただし、要件に合った 150 のコースがあり、3 つのコースを探しているとします。150C3の組み合わせですね。

このようなものをブラウザやモバイル デバイスで実行することは可能でしょうか?

4

4 に答える 4

2

まず第一に、検索ツリーを剪定できるよりスマートなアルゴリズムが必要です。また、同じ一連のコースに対してこれを何度も行う場合は、サーバーで計算を行う方が適切であり、実行可能なデータ構造を事前に計算することで、クエリの実行時間を短縮できる可能性があります。たとえば、ノードの下の各サブツリーに「互換性のある」ノードが含まれるツリーを作成できます。

于 2013-05-17T02:22:57.127 に答える
0

オプション 1 (Time\Space コストがかかる) : 携帯電話のユーザーが (150*149*148) の可能な選択肢のリストをページごとに閲覧できるようにします。処理はサーバー側で行われます。

オプション 2 (シンプル) : (150*149*148) アイテムの決定木の代わりに、150 アイテムのバッグを提供し、彼がバッグから 1 つのアイテムを選択した場合、バッグからそれを削除します。

オプション 3 (複雑) : 依存関係ツリー (親コースには子コースが必要) と、学生が既に受講したコースのリスト、およびトラック\レベルを使用して、意思決定ツリー (可能な選択肢) を拡張します。

私の知る限り、ほとんどの教育システムは 3 番目のオプションを使用しています。これには、学生のプロファイルが必要です。

于 2013-05-19T07:20:21.780 に答える
0

ええ、数学は私が扱えると思います!

150 のコースがあり、3 つを選択する必要がある場合、可能性の量は(150*149*148)/(3*2)(ジェリーごとの修正) であり、これは 150 の階乗よりもはるかに多くのゼロです;)

今、あなたは本当にそのサイズの配列を構築したくありませんし、そうする必要もありません! すべての Web 言語には、配列内の要素をランダムに選択するという考え方があるため、配列内の要素を取得し、そこから 3 つのランダムな一意のエントリを要求します。

潜在的なコースの組み合わせは非常に大きいですが、あなたの投稿に基づいて、それらを計算しようとする理由さえありません. n 個のサイズのリストから k 個のアイテムをランダムに選択するこのタスクは、古くて遅いデバイスでも非常に簡単です。

提案として 1 つのランダムな選択をつかむのではなく、すべての潜在的なコースの組み合わせを計算する必要がある特定の理由はありますか? そうでない場合、問題は解決しました!

于 2013-05-17T02:34:23.433 に答える