|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
|||||||||||
Оптимизация алгоритма03.05.2017, 11:18. Показов 1797. Ответов 12
Метки нет (Все метки)
День добрый, хочу обратится за советом. Имею следующее. Получаю данные в 4-ре List<double> (как не важно).
signal_input1(2,3,4). Данные поступают в реальном времени постоянно. Формируется "окно" для так называемой предыстории, что бы по нажатию пользователем на кнопку "Запись" к началу записи будет предыстория. Формирование предыстории выглядит так:
0
|
|||||||||||
| 03.05.2017, 11:18 | |
|
Ответы с готовыми решениями:
12
Оптимизация алгоритма
Оптимизация алгоритма работы со списками |
|
|
||||||
| 03.05.2017, 11:30 | ||||||
Сообщение было отмечено timur-chak как решение
Решение
timur-chak, Вместо всех вот этих танцев с бубном, создайте класс LimitedQueue:
1
|
||||||
|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
|
| 03.05.2017, 12:24 [ТС] | |
|
Storm23, немного затупаю, не могли бы объяснить смысл методов класса, если вам не сложно.
Добавлено через 16 минут А, извините, разобрался. Добавлено через 11 минут Storm23, Нет, видимо не до конца я понял. При изменение коллекции, меняются переменные start и count, а items не изменяется. Не приведет ли это к переполнению памяти?
0
|
|
|
|
|||
| 03.05.2017, 13:00 | |||
|
1
|
|||
|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
||||||
| 03.05.2017, 14:40 [ТС] | ||||||
|
Storm23, Чувствую себя дурак, немного не верно понял смысл класса, а он очень прост. Теперь уж точно разобрался, спасибо за совет.
Добавлено через 37 минут Storm23, Подскажите пожалуйста как получить на выходе массив значений, в случае если количество значений не превысило окно?. Я сделал просто метод:
0
|
||||||
|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
||||||
| 03.05.2017, 14:55 [ТС] | ||||||
|
Storm23,
После прочитал ваше сообщение) Добавлено через 5 минут Storm23, Может подскажете, попробовал свой вариант и то, что вы написали, в моем случае процессор практически не работает. В вашем нагружает до 40%. От чего это может быть?
0
|
||||||
|
|
||||||||
| 03.05.2017, 15:06 | ||||||||
|
Кроме того, явное преобразование в массив - навряд ли вам нужно. может быть из-за того что компилируете в debug а не в release (по CTRL-F5) ну а может быть и LINQ тормозит. LINQ не самый производительный вариант. Если нужна большая производительность - пишите свои методы. И в вашем случае - лучше использовать Array.Copy вместо цикла. Добавлено через 8 минут Хотя нет, Array.Copy там использовать нельзя. Правильный метод будет выглядеть так:
1
|
||||||||
|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
|
| 18.05.2017, 16:43 [ТС] | |
|
Storm23, только сейчас осознал, что немного не так, как я хотел это работает, ибо нужно добавлять элементы не в начало, а в конец, смещая начало.
0
|
|
|
|
||
| 18.05.2017, 17:17 | ||
|
0
|
||
|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
||||||
| 18.05.2017, 18:45 [ТС] | ||||||
|
Storm23, Я немного не понимаю, вот что я хочу на примере списка. При превышение размера. Добавляем новый элемент и при этом удаляем нулевой. Как-то так.
Добавлено через 13 минут на примере List, т.е..
Storm23, Как я понял, что при переполнение размерности, start обнуляется и данные новые попадают в начало массива. Или я все же не прав?(
0
|
||||||
|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
||||||
| 18.05.2017, 19:23 [ТС] | ||||||
|
Storm23, Пример того, что я хочу =)
Добавлено через 20 минут Storm23, Возможно я у вызываю у вас кровь из глаз. Но вы все равно помогли мне осознать, чего я сам хочу. Сделал подобное:
0
|
||||||
| 18.05.2017, 19:23 | |
|
Помогаю со студенческими работами здесь
13
Блок схема для алгоритма: Оптимизация маршрута для перевозки товаров
Оптимизация алгоритма
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|