آرایه (ساختار داده): تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
Yamaha5Bot (بحث | مشارکتها) تمیزکاری با ویرایشگر خودکار فارسی |
FreshmanBot (بحث | مشارکتها) جز اصلاح فاصله مجازی + اصلاح نویسه با استفاده از AWB |
||
خط ۳۵:
البته ما فرض کردهایم که آدرس شروع آرایه در حافظه ۰ است، یعنی ما آدرس شروع آرایه را نسبت به خود آرایه
محاسبه میکنیم، یعنی نسبی است. اگر آدرس شروع
را با آدرس شروع آرایه در حافظه جمع کنیم تا آدرس نسبی به مطلق تبدیل شود.
خط ۴۶:
== آرایههای دو بعدی ==
یک آرایه دو بعدی مجموعهای با m×n عنصر دادهای است که هر عنصر آن با یک جفت اندیس مشخص میشود.
آرایه دو بعدی را میتوان به جدولی تشبیه کرد که دارای m سطر و n ستون است. هر سطر شامل عناصری است که اندیسهای اول
آرایههای دوبعدی به عنوان ماتریس به کار میروند.
در تعریف آرایه دو بعدی دو مجموعه اندیس معین میشود. اندیس اول تعداد سطرها و اندیس آرایه تعداد ستونها را مشخص میکند.
خط ۵۷:
=== روش سطری پیمایش و ذخیرهٔ آرایهها ===
در پیمایش سطری آرایهها اندیسهای خانههای آرایه از سمت راست تغییر میکنند
=== روش ستونی پیمایش و ذخیرهٔ آرایهها ===
خط ۷۸:
در کل n-k+1 عنصر باید جابجا شوند. اگر عنصر جدید در محل آخرین عنصر درج شود تنها عنصر آخر آرایه جابجا میشود. بدترین حالت زمانی اتفاق میافتد که بخواهیم عنصر جدید را در مکان اول آرایه درج کنیم در این حالت تعداد جابجاییها برابر است با n میشود.
با هربار عمل درج یک واحد به n تعداد عناصر آرایه اضافه میشود. n تعداد عناصری که در آرایه درج شدهاند را نشان میدهد و ربطی به طول آرایه ندارد.
الگوریتم زیر عنصر item را در مکان k ام آرایه A با n عنصر درج میکند.
خط ۹۹:
در کل n-k عنصر باید جابجا شوند. کمترین جابجائی وقتی است که عنصر آخر حذف شود که هیچ عنصری جابجا نمیشود. در بدترین حالت تعداد جابجاییها برابر با n-1 است وقتی که اولین عنصر آرایه حذف میشود.
با هربار عمل درج یک واحد به n (تعداد عناصر آرایه) اضافه میشود. n تعداد عناصری که در آرایه درج شدهاند را نشان میدهد و ربطی به طول آرایه ندارد.
الگوریتم زیر عنصر kام آرایه A را حذف و در item ذخیره میکند.
خط ۱۱۵:
پیچیدگی الگوریتم فوق (O(n است.
همانطور که مشاهده میشود عملیات درج و حذف در آرایه
== آرایههای شرکت پذیر(انجمنی) ==
خط ۱۲۱:
== نمایش چندجملهایها به کمک آرایه ==
همۀ چندجملهایها را میتوان به کمک آرایهها پیادهسازی کرد. روشهای مختلفی برای این کار وجود دارد. مثلاً میتوان بزرگترین درجهای که در چندجملهای میتواند وجود داشته باشد به عنوان Max درنظر گرفت،
پس از ذخیره چندجملهایها در داخل آرایهها میتوان اعمالی مانند جمع چندجملهای و ضرب چندجملهای را انجام داد.
روش قبل برای ذخیرهسازی چندجملهای ممکن است مناسب نباشد برای مثال چندجملهای شما ممکن است x^1000+1 باشد.
روش دیگری نیز برای ذخیره چندجملهایها وجود دارد
== ماتریس پراکنده یا اسپارس ==
خط ۱۴۹:
== منابع ==
{{پانویس}}
#
{{ویکیانبار-رده|Array data structure}}
جعفرنژاد قمی، عینالله. طراحی الگوریتمها. چاپ ششم، انتشارات علوم رایانه، ۱۳۸۳.
|