PDA

View Full Version : ماتریس اسپارس



zohre_152
پنج شنبه 16 خرداد 1387, 14:29 عصر
کمک!!!!
پروژهام در مورد برنامه ماتریس اسپارس آرایه ای(ضرب و جمع دو ماتریس)است.:متفکر:
یکی به دادم برسه:ناراحت::ناراحت:

A.S.Roma
پنج شنبه 16 خرداد 1387, 14:57 عصر
سلام

من داستان ماتریس " اسپارس " رو نمی دونم . اگه بگید این چیه ممنون میشم .

pars.engineer
پنج شنبه 16 خرداد 1387, 15:04 عصر
خوب الان كمكي نمي شود كرد.
شما خودتون شروع كنيد اگر به مشكل برخورديد مشكلتون رو مطرح كنيد.
اگر هم هيچ اطلاعي در اين زمينه نداريد به كتاب ساختمان داده ها نوشته ي آقاي تننباووم مراجعه كنيد فكر مي كنم ساختمان داده ها نوشته آقاي مقسمي هم در اين مورد به طور مختصر توضيحاتي داده باشد.
موفق باشيد

A_Salimi
پنج شنبه 16 خرداد 1387, 17:15 عصر
سلام

من داستان ماتریس " اسپارس " رو نمی دونم . اگه بگید این چیه ممنون میشم .

تا جایی که من اطلاع دارم ماتریس های اسپارس در حقیقت ماتریس هایی هستند که باعث

کاهش دادن حجم آرایه ها با عدم در نظر گرفتن مقادیر با مقدار صفر بوجود می آیند .

مثلا ماتریس زیر را در نظر بگیرید :



A=
1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1




خوب چه اجباری وجود داره که در اینجا ما این همه حافظه اختصاص بدیم و90 تا صفر اضافی

رو تعریف کنیم ؟

ما میتونیم فقط عنصرهای غیر صفر رو در نظر بگیریم مثلا به این صورت :



B=sparse(A)

(1,1) 1
(2,2) 1
(3,3) 1
(4,4) 1
(5,5) 1
(6,6) 1
(7,7) 1
(8,8) 1
(9,9) 1
(10,10) 1



البته این دستور sparse نمیدونم توی سی وجود داره یا نه و به صورت کلی گفتم که به این

صورته.

حالا خودتون مقایسه کنید که تعریف اول راحتتر هست یا دوم ؟