Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Алгоритм соединения слиянием сортированных списков23 января 2011Алгоритм соединения слиянием сортированных списков — разновидность алгоритма соединения. Алгоритм получает на вход 2 таблицы и условие соединения. Результатом его работы является таблица с результатами соединения. Входные таблицы должны быть отсортированы по столбцам, участвующим в условии соединения. Соединение осуществляется за одно сканирование каждой из входных таблиц. То есть одна и та же строка считывается только один раз, что даёт преимущество перед соединением вложенными циклами. Простой пример на псевдокоде:
//нужно соединить Таблицу 1 и Таблицу 2
//по условию: Таблица1.Колонка1 = Таблица2.Колонка2
//Для упрощения примера будем считать, что значения в Колонке2 уникальны
Таблица1.Сортировать;
Таблица2.Сортировать;
Таблица1.ВстатьНаПервуюЗапись;
Таблица2.ВстатьНаПервуюЗапись;
Пока Таблица1.НеПоследняяЗапись и Tаблица2.НеПоследняяЗапись
{
Пока Таблица1.Колонка1 < Taблица2.Колонка2
Таблица1.ПерейтиКСледующейЗаписи;
Если Таблица1.Колонка1 = Таблица2.Колонка2
{
Вывести;
Таблица1.ПерейтиКСледующейЗаписи;
}
Пока Таблица1.Колонка1 > Таблица2.Колонка2
{
Таблица2.ПерейтиКСледующейЗаписи;
}
}
Преимущества:
Недостатки:
Просмотров: 1112
|