Зачем использовать одномерный массив вместо двумерного массива?

0

Я занимался обработкой большого количества информации, и мой партнер сказал мне, что я использую слишком много матриц, чтобы манипулировать переменными проблемы. Идея заключалась в том, чтобы использовать массивы с одним измерением int a[] вместо 2-мерных массивов int b[][], чтобы сохранить память и скорость обработки алгоритма. Насколько очевидно, что это изменение ускорит скорость выполнения или компиляции моего кода в С++?

  • 3
    Это не должно иметь никакого значения, если вы действительно говорите об одномерных и двухмерных массивах. Расположение данных является смежным для обоих. 2D-массив имеет умную индексацию, которую вам придется реализовать вручную при использовании 1D-массива вместо 2D-массива.
  • 1
    Это изменение не повлияет на скорость компиляции. У него есть возможность уменьшить объем памяти, если вы выделяете int b[MAX_SIZE][MAX_SIZE] и используете только его часть.
Показать ещё 8 комментариев
Теги:
optimization

1 ответ

2

Ваш вопрос приглашает на догадки, но:

Насколько очевидно, что это изменение ускорит скорость выполнения или компиляции моего кода в С++?

Прогноз крайне неопределен. Единственный правильный ответ - измерить.

Измерение - это знание. Вы можете процитировать меня по этому поводу.

  • 0
    «Единственный правильный ответ - это измерение». +1 /// Остальная часть ответа. +0 /// Даунвотеры объясняют?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню