. متن داده‌شده را خلاصه کن

متن: فرض کنید آرایه a با n تا کلید داده شده‌است: initialize: ۲ آرایه با اندازه n: hitcount , proxmap و ۲ آرایه a. l طول: مکان و a ۲ را ایجاد و اولیه کنید. پارتیشن: با استفاده از یک تابع mapkey با دقت انتخاب‌شده، a ۲ را با استفاده از کلیدها در a در زیرزمینها تقسیم کنید پراکندگی: بیش از a را بخوانید، و هر کلید را در سطل a ۲ خود قرار دهید. مرتب‌سازی درج در صورت لزوم جمع‌آوری: از زیر زمین‌ها به ترتیب بازدید کنید و تمام عناصر را به آرایه اصلی برگردانید، یا به سادگی از a ۲ استفاده کنید. توجه: «کلیدها» همچنین ممکن است شامل داده‌های دیگری باشد، به عنوان مثال آرایه‌ای از اشیاء دانشجویی که شامل کلید به علاوه شناسه و نام دانشجو می‌باشد. این امر باعث می‌شود proxmapsort برای سازماندهی گروه‌های اشیاء، نه فقط خود کلیدها، مناسب باشد. یک آرایه کامل را در نظر بگیرید: a [۰ تا n- ۱] با کلید n. بگذارید من یک فهرست از کلیدهای a. طبقه‌بندی a در آرایه a ۲ با اندازه مساوی باشم. عملکرد کلید نقشه به صورت mapkey (کلید) = طبقه (k) تعریف شده‌است. در اینجا یک آرایه به مرتب است و توابع mapkey تعیین تعداد subarrays استفاده کنید. به عنوان مثال، کف (k) به سادگی به عنوان تعداد زیر قطعه به عنوان تعداد صحیح از داده‌ها در a اختصاص می‌دهد. تقسیم کلید به‌طور ثابت باعث می‌شود تعداد زیردریایی‌ها کاهش یابد. از توابع مختلف می‌توان برای ترجمه طیف وسیعی از عناصر در a به زیرزمینها، از جمله تبدیل حروف a-z به ۰ – ۲۵ یا بازگشت شخصیت اول (۰ – ۲۵۵) برای مرتب‌سازی رشته‌ها استفاده کرد. زیر بخش‌ها به محض ورود داده‌ها طبقه‌بندی می‌شوند، نه بعد از قرار دادن تمام داده‌ها در زیرزمین، همان‌طور که در مرتب‌سازی سطل معمولی است. proxmapsearch از آرایه proxmap تولید شده توسط proxmapsort که قبلا انجام شده‌است استفاده می‌کند تا بتواند کلیدها را در آرایه مرتب شده a ۲ در زمان ثابت پیدا کند. مرتب کردن کلیدها با استفاده از proxmapsort، نگه‌داشتن عملکرد mapkey و آرایه‌های p و a ۲ برای جستجوی یک کلید، به قسمت p [mapkey (k)]، شروع فرعی که حاوی کلید است، بروید، اگر این کلید در مجموعه داده‌ها باشد پیاپی زیر زمین را جستجو کنید. اگر کلید پیدا شد، آن را بازگردانید (و اطلاعات مرتبط) اگر مقدار بیشتری از کلید پیدا کنید، کلید در مجموعه داده‌ها نیست محاسبه p […
خلاصه:
مرتب‌سازی مجاور-نگاشت (به انگلیسی : proxmapsort) یک نوع الگوریتم مرتب‌سازی است که با دسته‌بندی آرایه‌ای از داده‌ها یا کلیدها به چند « زیر آرایه » (که در مرتب‌سازی سطلی ، سطل نامیده می‌شوند) انجام می‌شود . ریشهٔ نام این الگوریتم از « مجاورت » و « نگاشت » می‌آید . با یک « مجاورت نگاشتی » که برای هر کلید k شروع زیر آرایه (سطل) را نشان می‌دهد به طوری که k در ترتیب مرتب نهایی قرار گیرد . کلیدها با استفاده از روش مشابه در مرتب‌سازی درجی در هر سطل درج می‌شوند . اگر کلیدها بین زیر آرایه‌ها « خوب توزیع شده » باشند ، مرتب‌سازی در زمان خطی رخ می‌دهد .