ВУЗ:
Составители:
Рубрика:
- 23 -
На входе дана матрица
)
(
m
n
A
×
в неупорядоченном РСФ . На выходе
должны получить
T
A
- транспонированную матрицу, заданную в РСФ .
З а м е ч а н и е . Если задано строчное представление матрицы
А
, то его
можно рассматривать как столбцовое представление
T
A
и наоборот,
поэтому задача транспонирования
А
сводится к нахождению РСТФ
матрицы
А
.
Если просматривать массивы «в лоб» , то это очень неэффективно . Поэтому
вводятся
m
целых и
m
вещественных списков длины
n
и
m
– указателей
первой свободной позиции каждого списка. В начальный момент времени
все списки пустые , т.е . первая свободная позиция каждого списка – первая.
На практике списки организуются непосредственно в массивах
JAT
и
ANT
, а указатели первой свободной позиции каждого списка – в
IAT
.
Таким образом, дополнительной памяти не требуется , и перемещение
данных в памяти машины сведено к минимуму.
Алгоритм
С помощью массивов
JA
и
IA
просматриваем по порядку строки
матрицы
А
.
1.
1
=
i
.
2. С помощью
IA
определяем, в каких позициях
JA
содержится описание
i
-й строки матрицы
А
.
3. Просматриваем содержимое
i
-й строки в
JA
и для каждого
j
(где
j
-
столбцовый индекс просматриваемого элемента) добавляем число
i
в
первую свободную позицию
j
-го целого списка, увеличивая при этом
указатель первой свободной позиции списка на единицу. В
соответствующую позицию
j
-го вещественного списка добавляем
соответствующий элемент списка
АN
.
4.
1
+
=
i
i
.
5. Объединяем по порядку их нумерации вещественные и целые списки,
получаем списки
JAT
и
ANT
. Список
IAT
получается с помощью
подсчета числа элементов заполняемых списков.
З а м е ч а н и я
1. С помощью этого алгоритма получается упорядоченное представление
транспонированной матрицы даже в том случае , если представление
исходной матрицы было неупорядоченным.
2. Применение данного алгоритма к матрице
А
дважды позволяет получить
из неупорядоченного РСФ матрицы
А
её упорядоченное представление .
Задача 25. Транспонировать матрицу
А
из задачи 22 (номер списка – это
номер столбца ).
вещественные списки целые списки
- 23 - На входе дана матрица A(n ×m) в неупорядоченном РСФ. На выходе T должны получить A - транспонированную матрицу, заданную в РСФ. З а м е ч а н и е. Если задано строчное представление матрицы А , то его T можно рассматривать как столбцовое представление A и наоборот, поэтому задача транспонирования А сводится к нахождению РСТФ матрицы А . Если просматривать массивы «в лоб», то это очень неэффективно. Поэтому вводятся m целых и m вещественных списков длины n и m – указателей первой свободной позиции каждого списка. В начальный момент времени все списки пустые, т.е. первая свободная позиция каждого списка – первая. На практике списки организуются непосредственно в массивах JAT и ANT , а указатели первой свободной позиции каждого списка – в IAT . Таким образом, дополнительной памяти не требуется, и перемещение данных в памяти машины сведено к минимуму. Алгоритм С помощью массивов JA и IA просматриваем по порядку строки матрицы А . 1. i =1 . 2. С помощью IA определяем, в каких позициях JA содержится описание i -й строки матрицы А . 3. Просматриваем содержимое i -й строки в JA и для каждого j (где j - столбцовый индекс просматриваемого элемента) добавляем число i в первую свободную позицию j -го целого списка, увеличивая при этом указатель первой свободной позиции списка на единицу. В соответствующую позицию j -го вещественного списка добавляем соответствующий элемент списка АN . 4. i =i +1. 5. Объединяем по порядку их нумерации вещественные и целые списки, получаем списки JAT и ANT . Список IAT получается с помощью подсчета числа элементов заполняемых списков. Замечания 1. С помощью этого алгоритма получается упорядоченное представление транспонированной матрицы даже в том случае, если представление исходной матрицы было неупорядоченным. 2. Применение данного алгоритма к матрице А дважды позволяет получить из неупорядоченного РСФ матрицы А её упорядоченное представление. Задача 25. Транспонировать матрицу А из задачи 22 (номер списка – это номер столбца). вещественные списки целые списки
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »