0
I have 1 million queries on disk to sort, my local memory/cache can store
up to 1 thousand queries, how can I perform sort?

これはグーグルのインタビューの質問です. 誰かが答えを見つけるのを手伝ってくれますか?

4

4 に答える 4

4

1000 個のクエリをメモリに読み込み、 quicksortを使用して並べ替え、ファイルに書き込みます。最終的に、そのようなファイルは 1000 個になります。

次に、ご想像のとおり、 mergesortを使用してファイルをマージします。

それが私がそれをする方法です。決して最適なソリューションではありません。

于 2012-08-20T11:33:57.750 に答える
1

私は怠け者です: すべてのクエリ (それぞれ 1,000 件) を読み取り、それらをデータベースにダンプしてからSELECT ORDER BY anything. もしそれが Google に求められているのなら、彼らはとにかくデータベースを持っているでしょう...

于 2012-08-20T11:41:26.487 に答える
1

それを実現するために、外部マージソートを使用できます。

于 2012-08-20T11:34:02.740 に答える
1

メモリを増やしてください。クエリはそれほど大きくありません。既成概念にとらわれずに考えることができるかどうかをテストする質問です。

于 2012-08-20T11:35:32.473 に答える