Способы хранения и представления разреженных матриц, операции над ними. Блатов И.А - 12 стр.

UptoLike

Рубрика: 

- 12 -
Задача 17. Слить три списка
С
B
А
,
,
в
1
М и два списка
E
D
,
в
2
М , используя ПП
p
.
N
позиции:
13
12
11
10
:
Y
11121121122
0000000000000
22
3.2. Сложение разреженных векторов (РВ )
3.2.1. Метод расширенного вещественного накопителя (РВН)
На входе даны векторы
B
А
,
в РСФ , на выходе должны получить вектор
B
А
C
+
=
в том же формате .
Алгоритм
1. Символический этап: определяются позиции ненулевых элементов
С
путем слияния списков
JB
JА
,
в
JС
.
2. Численный этап
0
. Вводится РВН
X
, число позиций которого равно размаху списка
JС
. Во все позиции вектора
X
с номерами из
JC
засылаем нули.
0
. Просматриваем
JА
и
AN
и прибавляем к содержимому позиций
вектора
X
содержимое соответствующих позиций
AN
. Затем прибав -
ляем
BN
к
X
.
0
. Выбираем из
X
нужные числа, чтобы сформировать
CN
, с помощью
)
)
(
(
)
(
:
i
JC
X
i
CN
JС
=
и записываем их в соответствующие
столбцы .
Задача 18. Сложить векторы
B
А
,
методом РВН.
1. Сливаем списки
JB
JА
,
в
JС
:
10
.
2. Вводим РВН
X
:
N
позиции:
10
X
:
в начальный
момент
.
.
.
.
прибавили
AN
5.06.07.0 прибавили
BN
7
.
0
4
.
0
6
.
0
0
3
.
0
.
.
.
.
:
CN
4,8,7:
;11,5,4:
13,12,11:
C
B
A
=
=
).2(2,1,9,8,7,6:4,8,7:
);1(8,7,5,4,13,12,11:9,8,7,6:
2
1
pМE
pMD
.
1045:
5.07.06.0:
JB
BN
;
47310:
7.04.03.02.0:
JA
AN
                                              - 12 -

      Задача 17. Слить три списка А, B, С в                   М 1 и два списка D, E в
 М 2 , используя ПП p .
� A : 11, 12 , 13
 �                      � D : 6,   7 , 8, 9      M 1 : 11, 12 , 13 , 4 , 5 , 7 , 8 ( p =1);
   � B : 4 , 5 , 11 ; �
    � C : 7 , 8 , 4 � E : 7,       8, 4          М 2 : 6, 7, 8, 9, 1, 2           ( p =2).
     �
          N позиции: 1 2 3         4 5 6 7 8 9 10 11 12 13
                  Y : 0 2 02 0     01 01 02 012 012 02 0 01 01 01
       3.2. Сложение разреженных векторов (РВ)
       3.2.1. Метод расширенного вещественного накопителя (РВН)
       На входе даны векторы А, B в РСФ, на выходе должны получить вектор
 C =А +B в том же формате.
                               Алгоритм
 1. Символический этап: определяются позиции ненулевых элементов С
     путем слияния списков JА, JB в JС .
 2. Численный этап
    10 . Вводится РВН X , число позиций которого равно размаху списка
          JС . Во все позиции вектора X с номерами из JC засылаем нули.
      0
    2 . Просматриваем JА и AN и прибавляем к содержимому позиций
         вектора X содержимое соответствующих позиций AN . Затем прибав-
         ляем BN к X .
      0
    3 . Выбираем из X нужные числа, чтобы сформировать CN , с помощью
         JС : CN (i ) =X ( JC (i ) ) и записываем их в соответствующие
         столбцы.
      Задача 18. Сложить векторы А, B методом РВН.
       � AN : 0.2 0.3 0.4 −0.7         � BN : 0.6 0.7 0.5
        �                      ;        �                 .
          � JA : 10 3   7   4             � JB : 5 4  10
   1. Сливаем списки JА, JB в JС : 10 3 7 4 5 .
   2. Вводим РВН X :
   N позиции: 1         2    3      4     5      6      7     8   9   10
          X:                 0      0     0             0              0      в начальный
                                                                                   момент
                            0.3 −0.7                   0.4            0.2   прибавили AN
                                 0.7 0.6                              0.5   прибавили BN
                            0. 3  0 0 .6               0 .4           0.7
         CN :     0.7 0.3 0.4           0 0.6