Re: Сортировка огромного объема в "реальном времени"
- From
- Pertzel Family ()
- To
- Mike Makhov
- Date
- 2002-09-04T20:54:57Z
- Area
- RU.ALGORITHMS
From: "Pertzel Family" <voldemar@relhum.org>
"Mike Makhov" <Mike.Makhov@f909.n5020.z2.fidonet.org> wrote in message news:1031153811@f909.n5020.z2.fidonet.ftn...
> Может кто пояснит алгоpитм "соpтиpовки слиянием" для данного конкpетного
> случая ?
есть объект А -- отсортированный файл (для
определенности -- по возрастанию), есть
объект Б -- тоже что-то отсортированное
строим объект Г -- отсортированный файл
определяем два текущих элемента а и б
читаем элемент а из А (самый маленький)
и б из Б.
в цикле, который заканчивается, когда
очередное чтение невозможно {
если а < б, то {
/* тут можно выбрасывать устарелые записи */
записываем а в Г
читаем элемент а из А
} иначе {
/* тут можно выбрасывать дубли */
записываем б в Г
читаем элемент б из Б
}
}
записываем в Г тот который был бОльший
при последнем сравнении; все оставшиеся
элементы, (они все в обном объекте).
Всё.
Итого, числа и чтений и сравнений и записей
не превосходят мощности объекта Г.
Быстрее не выйдет.
--- ifmail v.2.15dev5
* Origin: Sent via Graf's Inn at news://news.relhum.org (2:5020/400)