تالار گفتمان مانشت

نسخه‌ی کامل: ذخیره ماتریس های سه قطری در ارایه یک بعدی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
من خیلی از منابع هارو نگاه کردم تا نحوه ی صرفه جویی حافظه تو ماتریس های یک قطری و سه قطری رو پیدا کنم ولی چیزی پیدا نکردم
از دوستان کسی فرمول تبدیل این ماتریس هارو میدونه؟
لطفا اگه اطلاعاتی در این مورد دارید هم حالت سطریشو بگید و هم ستونیشو
ممنون
سلام.در ماتریس ۳ قطری [tex]A\: [1..n\: ,\: 1..n\: ][/tex] اگه بخوایم عناصر اونو تو آرایه یک بعدی [tex]B\: [1\: ..\: 3n-2\: ][/tex] ذخیره کنیم.
۱-اگه به روش سطری ذخیره کنیم--> [tex]A\: [i\: ,\: j\: ]\: =\: B\: [2i j-2\: ][/tex] (به شرطی که [tex]A\: [i\: ,\: j\: ][/tex] غیر صفر باشد.یعنی [tex]|i-j|\le1[/tex] )
۲-اگه به روش ستونی ذخیره کنیم --> [tex]َA\: [i\: ,\: j\: ]\: =\: B\: \: [2j i-2\: ][/tex] ( به شرطی که [tex]َA\: [i\: ,\: j\: ][/tex] غیر صفر باشد.یعنی [tex]|i-j|\le1[/tex] )

برای ذخیره ماتریس یک قطری [tex]A\: [1..n\: ,\: 1..n\: ][/tex] در یک آرایه یک بعدی [tex]B\: [1..n\: ][/tex] داریم:
[tex]A\: [i\: ,\: j\: ]\: =\: B\: [i\: ]\: or\: A\: [i\: ,\: j\: ]\: =\: B\: [j\: ][/tex] به شرطی که [tex]A\: [i\: ,\: j\: ][/tex] غیر صفر باشد،یعنی [tex]i=j[/tex] باشد.
امیدوارم سوالتون همین بوده باشه.
(30 آذر 1394 10:39 ب.ظ)IranianWizard نوشته شده توسط: [ -> ]سلام.در ماتریس ۳ قطری [tex]A\: [1..n\: ,\: 1..n\: ][/tex] اگه بخوایم عناصر اونو تو آرایه یک بعدی [tex]B\: [1\: ..\: 3n-2\: ][/tex] ذخیره کنیم.
۱-اگه به روش سطری ذخیره کنیم--> [tex]A\: [i\: ,\: j\: ]\: =\: B\: [2i j-2\: ][/tex] (به شرطی که [tex]A\: [i\: ,\: j\: ][/tex] غیر صفر باشد.یعنی [tex]|i-j|\le1[/tex] )
۲-اگه به روش ستونی ذخیره کنیم --> [tex]َA\: [i\: ,\: j\: ]\: =\: B\: \: [2j i-2\: ][/tex] ( به شرطی که [tex]َA\: [i\: ,\: j\: ][/tex] غیر صفر باشد.یعنی [tex]|i-j|\le1[/tex] )

برای ذخیره ماتریس یک قطری [tex]A\: [1..n\: ,\: 1..n\: ][/tex] در یک آرایه یک بعدی [tex]B\: [1..n\: ][/tex] داریم:
[tex]A\: [i\: ,\: j\: ]\: =\: B\: [i\: ]\: or\: A\: [i\: ,\: j\: ]\: =\: B\: [j\: ][/tex] به شرطی که [tex]A\: [i\: ,\: j\: ][/tex] غیر صفر باشد،یعنی [tex]i=j[/tex] باشد.
امیدوارم سوالتون همین بوده باشه.

سلام ممنون از لطفتون
این فرمول فقط تو حالتی قابل اجراست که اندیس شروع یک باشه
مثلا تو زبان سی دیگ عمل نمیکنه
لینک مرجع