Другие языки программирования и технологии
Теория алгоритмов. Алгоритмы сортировки.
Дан двумерный массив А(5,5). Необходимо поменять местами строки массива 0 с 4 и 1 с 3. Как это реализовать?
если массив аллоцирован динамически - достаточно поменять местами указатели А [0] и А [4], и А [1] с А [3]
Если массив аллоцирован статически - выбора нет - придется переписывать все элементы и первой строки в пятую и из второй в четвертую... .
Какое отношение имеет вопрос к алгоритмам сортировки?
Если массив аллоцирован статически - выбора нет - придется переписывать все элементы и первой строки в пятую и из второй в четвертую... .
Какое отношение имеет вопрос к алгоритмам сортировки?
Надо применить матрицу элементарных преобразований. Например, используя octave:
octave:1> a=[1 2 3 4 5;2 3 4 5 6;3 4 5 6 7;4 5 6 7 8;5 6 7 8 9]
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
octave:2> b=[0 0 0 0 1;0 0 0 1 0;0 0 1 0 0;0 1 0 0 0;1 0 0 0 0]
b =
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
octave:3> a*b
ans =
5 4 3 2 1
6 5 4 3 2
7 6 5 4 3
8 7 6 5 4
9 8 7 6 5
octave:4> b*a
ans =
5 6 7 8 9
4 5 6 7 8
3 4 5 6 7
2 3 4 5 6
1 2 3 4 5
То есть, исходную матрицу (a) надо умножить слева на матрицу преобразований (b).
octave:1> a=[1 2 3 4 5;2 3 4 5 6;3 4 5 6 7;4 5 6 7 8;5 6 7 8 9]
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
octave:2> b=[0 0 0 0 1;0 0 0 1 0;0 0 1 0 0;0 1 0 0 0;1 0 0 0 0]
b =
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
octave:3> a*b
ans =
5 4 3 2 1
6 5 4 3 2
7 6 5 4 3
8 7 6 5 4
9 8 7 6 5
octave:4> b*a
ans =
5 6 7 8 9
4 5 6 7 8
3 4 5 6 7
2 3 4 5 6
1 2 3 4 5
То есть, исходную матрицу (a) надо умножить слева на матрицу преобразований (b).
Похожие вопросы
- Изучил несколько простых алгоритмов сортировки, осталось изучить быструю и слияние, нужно ли вообще писать эти алгоритмы
- Говорят что готовые алгоритмы сортировок и поиска мало эффективны и не пригодны в использовании
- какие алгоритмы сортировки есть на С# (С++)?
- Самый оптимальный алгоритм сортировки в плане производительности
- Проблема с алгоритмом быстрой сортировкой С++
- Почему программирование на первый взгляд такое сложное? Потому что многие не умеют составлять алгоритмы?
- Нужно ли быть очень сильным математиком и хорошо уметь конструировать алгоритмы на позиции Software Engineer?
- алгоритм... по нахождению общих элементов двух массивов
- Вопрос про алгоритмы
- Подскажите мне пожалуиста что такое алгоритм и зачем компьютеру. нужен алгоритм.И что такое прога Паскаль и зачем она