Доброго времени суток, есть двумерный массив, если быть точным таблица, в основе которой лежит двумерный массив, ячейками которого являются «строки». Нужно организовать группировку всего этого хозяйства по какому-либо столбцу, либо по нескольким сразу. Я так понимаю алгоритм следующий: Берём столбец, по которому мы будем группировать, начинаем бежать по нему с самого начала, берём первое значение из ячейки в этом столбце и сравниваем со всеми остальными значениями в этом столбце, если такого же не нашлось, то создаём новую «группу» и добавляем туда это значение, если нашлось, то пропускаем его и берём следующее значение из следующей строки. Суть в том, как можно быстро пробегать по всем значениям столбца и сравнивать значение одной ячейки со всеми? Я так понимаю что можно использовать хэш-таблицу(так как у неё время поиска близко к O(1)). Но хеш таблица это пара ключ-значение, т.е получается что на каждый столбец должна быть своя хэш-таблица, верно? И если столбцов 100500 то и хэш-таблиц будет столько же... не накладно ли?
Весь код делаю на Си + GLib, в качестве хэш-таблицы подразумевал GHashTable :)