The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Алгоритм решения задачи"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Алгоритм решения задачи"  
Сообщение от z34 (ok) on 06-Авг-06, 18:33 
Есть текстовые файлы больших размеров 3-5 мб внутри содержат нужные и не нужные данные
Нужные данные имеют вид:
--- Type 100: Время приема данных
    1:  10:04:12.274  10:04:12.475  10:04:12.675  10:04:12.874  10:04:13.074
    6:  10:04:13.275  10:04:13.474  10:04:13.674  10:04:13.874  10:04:14.075
   11:  10:04:14.274  10:04:14.474  10:04:14.675  10:04:14.875  10:04:15.074
   16:  10:04:15.275  10:04:15.475  10:04:15.674  10:04:15.874  10:04:16.075
   21:  10:04:16.275  10:04:16.474  10:04:16.674  10:04:16.875  10:04:17.075
   26:  10:04:17.274  10:04:17.475  10:04:17.675  10:04:17.874  10:04:18.074
   31:  10:04:18.275  10:04:18.475  10:04:18.674  10:04:18.874  10:04:19.075
   36:  10:04:19.275  10:04:19.475  10:04:19.675  10:04:19.875  10:04:20.074
   41:  10:04:20.275  10:04:20.475  10:04:20.675  10:04:20.875  10:04:21.075
   46:  10:04:21.275  10:04:21.475  10:04:21.675  10:04:21.875  10:04:22.075
   51:  10:04:22.275  10:04:22.474  10:04:22.675  10:04:22.875  10:04:23.074
   56:  10:04:23.275  10:04:23.475  10:04:23.676  10:04:23.875  10:04:24.075
   .........................................................................
   .........................................................................
   8301:  59147.0707    59146.7523    59146.3716    59146.2636    59146.2143  
   8306:  59146.1008    59145.9244    59145.8167    59145.6699    59145.6576  
   8311:  59145.4754    59145.4991    59145.5529    59145.5297    59145.2645  
   8316:  59145.2107    59144.8479  
   Число измерений: 8317;  Min = 59127.613;  Max = 60683.247

--- Type 119:
    1:    -51.0500      -50.0900      -49.2700      -48.5000      -47.9100  
    6:    -47.5900      -47.5600      -47.6200      -47.6100      -47.5500  
   11:    -47.6600      -47.6800      -47.7300      -47.8200      -47.8100  
   16:    -47.5500      -47.3500      -47.1300      -46.8800      -46.7600  
   21:    -46.7800      -47.1100      -47.6500      -48.1400      -48.2400  
   и так далее...

Задача состоит в том чтобы можно было выборочно выдергивать данные(в зависимости от Type) из этого файла и записывать в другой в уже другом виде:

   Type 100       Type 119   Type XXX  и.т.д.
10:04:12.274     -51.0500
10:04:12.475     -50.0900
..........       ........


Подскажите возможный алгоритм, точнее где хранить такой объем информации перед записью в файл

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Алгоритм решения задачи"  
Сообщение от DeadMustdie email(??) on 06-Авг-06, 21:01 
Выбор алгоритма здесь определяется дополнительными условиями, которые никак не описаны. Основной вопрос, как обычно - жрем память или жрем процессорное время (в данном случае вместе со вводом-выводом).

В нормальных *для моих задач* условиях и при объемах файлов в 3-5 мбайт я бы построил алгоритм в две последовательные фазы: (1) разбор исходного файла с накоплением данных в оперативной памяти и (2) проход по структурам в памяти с сохранением результата в выходные файлы. 3-5 мбайт текстовика дадут 6-10 мбайт занятой оперативной памяти, что, по моему субъективному мнению, терпимо.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Алгоритм решения задачи"  
Сообщение от z34 (ok) on 07-Авг-06, 09:30 
>я бы построил алгоритм в две последовательные фазы: (1) разбор
>исходного файла с накоплением данных в оперативной памяти и (2) проход
>по структурам в памяти с сохранением результата в выходные файлы. 3-5

ок я тоже думаю что это оптимальный вариант ;) а какие еще вариации существуют, что делать если данных было бы намного больше (так для развития на будущее)??

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Алгоритм решения задачи"  
Сообщение от ACCA (ok) on 07-Авг-06, 10:10 
>Есть текстовые файлы больших размеров 3-5 мб внутри содержат нужные и не

Я бы не заморачивался с алгоритмом - 5М не такой объём, чтобы напрягаться.

Сделай как можно более понятно - через 3 года будут изменять форматы, подумай о том, чтобы не пришлось писать всё с нуля.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру