I持って、次のソートアルゴリズム:オンラインまたはオフライン種類あり、それらのオンラインソートアルゴリズムとオフラインソートアルゴリズムを区別する方法は?
Bubble Sort, Selection Sort, Heap Sort, Merge Sort, Quick Sort, Insertion Sort
? ありがとうございます。
I持って、次のソートアルゴリズム:オンラインまたはオフライン種類あり、それらのオンラインソートアルゴリズムとオフラインソートアルゴリズムを区別する方法は?
Bubble Sort, Selection Sort, Heap Sort, Merge Sort, Quick Sort, Insertion Sort
? ありがとうございます。
"オンライン"ソートアルゴリズムの定義方法によって異なります。あなたは使用している場合Wikipedia definition:
コンピュータサイエンスで、オンラインアルゴリズムを処理できる一方がその 入力部分部分 入力が供給されるようにするためにシリアル方式で、すなわち、アルゴリズム全体に渡って、入力全体を最初から利用可能にすることなく、 を利用することができます。
リストのアルゴリズムのうち、挿入の並べ替えだけが請求書に適合します。他の方法では、並べ替えを開始する前にすべての項目をメモリに入れる必要があるためです。
挿入並べ替えでは、並べ替えられたリストが維持されます。各項目は、受け取ったときに適切な場所に配置されます。今までに受け取ったアイテムのリストは、常に順番に並んでいます。
は、も参照してくださいhttps://cs.stackexchange.com/questions/55012/what-is-the-fastest-online-sorting-algorithm
一度に一つの要素を取得しながら、ソートもヒープ分ヒープを維持することができませんか? – rcgldr
@rcgldrはい、ヒープを維持できます。しかし、最後の要素を受け取った後は、一度に1つずつヒープから項目を削除するか、ヒープを並べ替えて項目を並べ替える必要があります。いずれにせよ、あなたはそれを行う前にすべてのアイテムをメモリに入れておく必要があり、そのステップを実行するにはO(n log n)時間が必要です。 –