Как кодировать Python QuickSort

Python QuickSort –≤—ã–±–∏—Ä–∞–µ—Ç —ç–ª–µ–º–µ–Ω—Ç –ø–æ–≤–æ—Ä–æ—Ç–∞ –∏ —Ä–∞–∑–±–∏–≤–∞–µ—Ç —ç–ª–µ–º–µ–Ω—Ç—ã –º–∞—Å—Å–∏–≤–∞ –Ω–∞ –¥–≤–∞ –Ω–æ–≤—ã—Ö –º–∞—Å—Å–∏–≤–∞ s. –ß–∏—Å–ª–∞ –≤—ã—à–µ —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞ –≤—Ö–æ–¥—è—Ç –≤ –æ–¥–∏–Ω –º–∞—Å—Å–∏–≤ ; —á–∏—Å–ª–∞ –Ω–∏–∂–µ —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞ –ø–µ—Ä–µ—Ö–æ–¥—è—Ç –≤ –¥—Ä—É–≥—É—é. –ö–∞–∂–¥—ã–π –º–∞—Å—Å–∏–≤ —Å–æ—Ä—Ç–∏—Ä—É–µ—Ç—Å—è, –∞ –∑–∞—Ç–µ–º –≤—Å–µ –º–∞—Å—Å–∏–≤—ã –æ–±—ä–µ–¥–∏–Ω—è—é—Ç—Å—è –≤ –æ–¥–∏–Ω.

–°—É—â–µ—Å—Ç–≤—É–µ—Ç –º–Ω–æ–∂–µ—Å—Ç–≤–æ –∞–ª–≥–æ—Ä–∏—Ç–º–æ–≤ —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∏, –∫–æ—Ç–æ—Ä—ã–µ –≤—ã –º–æ–∂–µ—Ç–µ –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å –¥–ª—è —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∏ —Å–ø–∏—Å–∫–∞ –≤ –ø—Ä–æ–≥—Ä–∞–º–º–∏—Ä–æ–≤–∞–Ω–∏–∏. –°—É—â–µ—Å—Ç–≤—É—é—Ç Python —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∏ –≤—Å—Ç–∞–≤–∫–∏ , –ø—É–∑—ã—Ä—å–∫–æ–≤–∞—è —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∞ –∏ –º–Ω–æ–≥–æ–µ –¥—Ä—É–≥–æ–µ. QuickSort - –æ–¥–∏–Ω –∏–∑ –Ω–∞–∏–±–æ–ª–µ–µ —Ä–∞—Å–ø—Ä–æ—Å—Ç—Ä–∞–Ω–µ–Ω–Ω—ã—Ö —Ç–∏–ø–æ–≤ —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∏.

–í —ç—Ç–æ–º —Ä—É–∫–æ–≤–æ–¥—Å—Ç–≤–µ –º—ã –ø–æ–≥–æ–≤–æ—Ä–∏–º –æ —Ç–æ–º, —á—Ç–æ —Ç–∞–∫–æ–µ QuickSort –∏ –∫–∞–∫ –æ–Ω–∏ —Ä–∞–±–æ—Ç–∞—é—Ç. –ú—ã —Ä–∞—Å—Å–º–æ—Ç—Ä–∏–º –ø—Ä–∏–º–µ—Ä Python QuickSort, —á—Ç–æ–±—ã –≤—ã –º–æ–≥–ª–∏ —É–∑–Ω–∞—Ç—å, –∫–∞–∫ –µ–≥–æ —Ä–µ–∞–ª–∏–∑–æ–≤–∞—Ç—å.

–ë–µ–∑ –ª–∏—à–Ω–∏—Ö —Å–ª–æ–≤, –¥–∞–≤–∞–π—Ç–µ –ø—Ä–∏—Å—Ç—É–ø–∏–º!

–ß—Ç–æ —Ç–∞–∫–æ–µ Python QuickSort?

–ê–ª–≥–æ—Ä–∏—Ç–º Python QuickSort –¥–µ–ª–∏—Ç –º–∞—Å—Å–∏–≤ –Ω–∞ –ø–æ–¥–º–∞—Å—Å–∏–≤—ã. –≠—Ç–æ—Ç –∞–ª–≥–æ—Ä–∏—Ç–º —Ä–µ–∫—É—Ä—Å–∏–≤–Ω–æ –≤—ã–∑—ã–≤–∞–µ—Ç —ç—Ç–∏ –ø–æ–¥–º–∞—Å—Å–∏–≤—ã –¥–ª—è —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∏ –∫–∞–∂–¥–æ–≥–æ —ç–ª–µ–º–µ–Ω—Ç–∞ –≤ —Å–ø–∏—Å–∫–µ. –°–æ–¥–µ—Ä–∂–∏–º–æ–µ –ø–æ–¥–º–∞—Å—Å–∏–≤–∞ –æ–ø—Ä–µ–¥–µ–ª—è–µ—Ç—Å—è –æ–ø–æ—Ä–Ω—ã–º —ç–ª–µ–º–µ–Ω—Ç–æ–º, –∫–æ—Ç–æ—Ä—ã–π –Ω–µ –ø–µ—Ä–µ–º–µ—â–∞–µ—Ç—Å—è –≤ –Ω–æ–≤—ã–π –ø–æ–¥–º–∞—Å—Å–∏–≤.

–ê–ª–≥–æ—Ä–∏—Ç–º –±—ã—Å—Ç—Ä–æ–π —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∏ —Ä–∞–∑–¥–µ–ª—è–µ—Ç –∏ –ø–æ–±–µ–∂–¥–∞–µ—Ç. –≠—Ç–æ –æ–∑–Ω–∞—á–∞–µ—Ç, —á—Ç–æ –∑–∞–¥–∞—á–∞ —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∏ —Å–ø–∏—Å–∫–∞ —Ä–∞–∑–±–∏—Ç–∞ –Ω–∞ –Ω–µ—Å–∫–æ–ª—å–∫–æ –ø–æ–¥–∑–∞–¥–∞—á. –í –∫–æ–Ω—Ü–µ —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∏ —Ä–µ–∑—É–ª—å—Ç–∞—Ç—ã —ç—Ç–∏—Ö –ø–æ–¥–∑–∞–¥–∞—á –æ–±—ä–µ–¥–∏–Ω—è—é—Ç—Å—è, —á—Ç–æ–±—ã –≤–µ—Ä–Ω—É—Ç—å –æ—Ç—Å–æ—Ä—Ç–∏—Ä–æ–≤–∞–Ω–Ω—ã–π —Å–ø–∏—Å–æ–∫.

–í QuickSort –ø–æ–¥–∑–∞–¥–∞—á–∞ —É—Å—Ç–∞–Ω–∞–≤–ª–∏–≤–∞–µ—Ç —Ç–æ—á–∫—É –ø–æ–≤–æ—Ä–æ—Ç–∞ –¥–ª—è –∫–∞–∂–¥–æ–≥–æ –ø–æ–¥—Å–ø–∏—Å–∫–∞ –∏ —É–ø–æ—Ä—è–¥–æ—á–∏–≤–∞–µ—Ç —ç–ª–µ–º–µ–Ω—Ç—ã –Ω–∞ –æ—Å–Ω–æ–≤–µ –∏—Ö –∑–Ω–∞—á–µ–Ω–∏—è –æ—Ç–Ω–æ—Å–∏—Ç–µ–ª—å–Ω–æ –ø–æ–≤–æ—Ä–æ—Ç.

–ö–æ–≥–¥–∞ —Å–ª–µ–¥—É–µ—Ç –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å Python QuickSort?

QuickSort –ø–æ–ª–µ–∑–µ–Ω, –∫–æ–≥–¥–∞ –≤—Ä–µ–º–µ–Ω–Ω–∞—è —Å–ª–æ–∂–Ω–æ—Å—Ç—å –∏–º–µ–µ—Ç –∑–Ω–∞—á–µ–Ω–∏–µ. –≠—Ç–æ —Å–≤—è–∑–∞–Ω–æ —Å —Ç–µ–º, —á—Ç–æ QuickSort –∏—Å–ø–æ–ª—å–∑—É–µ—Ç –º–µ–Ω—å—à–µ –ø–∞–º—è—Ç–∏, —á–µ–º –¥—Ä—É–≥–∏–µ –∞–ª–≥–æ—Ä–∏—Ç–º—ã, —á—Ç–æ –¥–∞–µ—Ç –∏–º –ø–æ–≤—ã—à–µ–Ω–∏–µ —ç—Ñ—Ñ–µ–∫—Ç–∏–≤–Ω–æ—Å—Ç–∏.

81% —É—á–∞—Å—Ç–Ω–∏–∫–æ–≤ –∑–∞—è–≤–∏–ª–∏, —á—Ç–æ –æ–Ω–∏ –ø–æ—á—É–≤—Å—Ç–≤–æ–≤–∞–ª–∏ —Å–µ–±—è –±–æ–ª–µ–µ —É–≤–µ—Ä–µ–Ω–Ω—ã–º–∏ –≤ —Å–≤–æ–∏—Ö –ø–µ—Ä—Å–ø–µ–∫—Ç–∏–≤–∞—Ö —Ä–∞–±–æ—Ç—ã –≤ —Ç–µ—Ö–Ω–∏—á–µ—Å–∫–∏—Ö —Å–ø–µ—Ü–∏–∞–ª–∏—Å—Ç–∞—Ö –ø–æ—Å–ª–µ –ø–æ—Å–µ—â–µ–Ω–∏—è —É—á–µ–±–Ω–æ–≥–æ –ª–∞–≥–µ—Ä—è. –ü–æ–ª—É—á–∏—Ç–µ –ø—Ä–∏–≥–ª–∞—à–µ–Ω–∏–µ –Ω–∞ —É—á–µ–±–Ω—ã–π –∫—É—Ä—Å —Å–µ–≥–æ–¥–Ω—è.

–°—Ä–µ–¥–Ω–∏–π –≤—ã–ø—É—Å–∫–Ω–∏–∫ —É—á–µ–±–Ω–æ–≥–æ –ª–∞–≥–µ—Ä—è –ø–æ—Ç—Ä–∞—Ç–∏–ª –º–µ–Ω–µ–µ —à–µ—Å—Ç–∏ –º–µ—Å—è—Ü–µ–≤ –Ω–∞ —Å–º–µ–Ω—É –∫–∞—Ä—å–µ—Ä—ã, –æ—Ç –Ω–∞—á–∞–ª–∞ —É—á–µ–±–Ω–æ–≥–æ –ª–∞–≥–µ—Ä—è –¥–æ –ø–æ–∏—Å–∫–∞ —Å–≤–æ–µ–π –ø–µ—Ä–≤–æ–π —Ä–∞–±–æ—Ç—ã.

–í–∞–º —Å–ª–µ–¥—É–µ—Ç –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å —Ç–æ–ª—å–∫–æ QuickSort. –µ—Å–ª–∏ –≤—ã –∑–Ω–∞–∫–æ–º—ã —Å —Ä–µ–∫—É—Ä—Å–∏–µ–π Python . –≠—Ç–æ —Å–≤—è–∑–∞–Ω–æ —Å —Ç–µ–º, —á—Ç–æ –∞–ª–≥–æ—Ä–∏—Ç–º QuickSort –∑–∞–≤–∏—Å–∏—Ç –æ—Ç —Ä–µ–∫—É—Ä—Å–∏–≤–Ω—ã—Ö —Ñ—É–Ω–∫—Ü–∏–π.

QuickSort –±–æ–ª–µ–µ —ç—Ñ—Ñ–µ–∫—Ç–∏–≤–µ–Ω, —á–µ–º —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∞ —Å–ª–∏—è–Ω–∏–µ–º –¥–ª—è –º–µ–Ω—å—à–∏—Ö –º–∞—Å—Å–∏–≤–æ–≤. –û–¥–Ω–∞–∫–æ –¥–ª—è –±–æ–ª—å—à–∏—Ö –Ω–∞–±–æ—Ä–æ–≤ –¥–∞–Ω–Ω—ã—Ö —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∞ –≤—Å—Ç–∞–≤–∫–æ–π –∏–ª–∏ —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∞ —Å–ª–∏—è–Ω–∏–µ–º –º–æ–∂–µ—Ç –±—ã—Ç—å –±—ã—Å—Ç—Ä–µ–µ.

–ö–∞–∫ —Ä–∞–±–æ—Ç–∞–µ—Ç QuickSort?

QuickSort –≤—ã–±–∏—Ä–∞–µ—Ç —ç–ª–µ–º–µ–Ω—Ç, –∫–æ—Ç–æ—Ä—ã–π –±—É–¥–µ—Ç —Å–ª—É–∂–∏—Ç—å —Ç–æ—á–∫–æ–π –ø–æ–≤–æ—Ä–æ—Ç–∞. –≠—Ç–æ –º–æ–∂–µ—Ç –±—ã—Ç—å –ª—é–±–æ–π —ç–ª–µ–º–µ–Ω—Ç –≤ —Å–ø–∏—Å–∫–µ. –î–ª—è —ç—Ç–æ–≥–æ —Ä—É–∫–æ–≤–æ–¥—Å—Ç–≤–∞ , –º—ã —Å–æ–±–∏—Ä–∞–µ–º—Å—è –≤—ã–±—Ä–∞—Ç—å –ø–æ—Å–ª–µ–¥–Ω–∏–π —ç–ª–µ–º–µ–Ω—Ç –≤ —Å–ø–∏—Å–∫–µ (3).

< / tr>
8 4 5 2 1 3

QuickSort —Å—Ä–∞–≤–Ω–∏–≤–∞–µ—Ç –∑–Ω–∞—á–µ–Ω–∏–µ —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞ —Å –∫–∞–∂–¥—ã–º —á–∏—Å–ª–æ–º, –∫–æ–≥–¥–∞ –º—ã –ø–µ—Ä–µ–±–∏—Ä–∞–µ–º —ç–ª–µ–º–µ–Ω—Ç—ã –≤ —Å–ø–∏—Å–∫–µ. –ï—Å–ª–∏ —ç–ª–µ–º–µ–Ω—Ç –±–æ–ª—å—à–µ, —á–µ–º –Ω–æ–º–µ—Ä –ø–æ–≤–æ—Ä–æ—Ç–∞, –º—ã –ø–µ—Ä–µ–º–µ—â–∞–µ–º —á–∏—Å–ª–æ –ø–æ—Å–ª–µ —Ç–æ—á–∫–∞ –ø–æ–≤–æ—Ä–æ—Ç–∞; –≤ –ø—Ä–æ—Ç–∏–≤–Ω–æ–º —Å–ª—É—á–∞–µ –º—ã –ø–µ—Ä–µ–º–µ—â–∞–µ–º —á–∏—Å–ª–æ –ø–µ—Ä–µ–¥ —Ç–æ—á–∫–æ–π –ø–æ–≤–æ—Ä–æ—Ç–∞:

2 1 3 8 5 4

–ó–Ω–∞—á–µ–Ω–∏–µ 3 –ø–µ—Ä–µ–º–µ—Å—Ç–∏–ª–æ—Å—å –≤–Ω–∏–∑ –ø–æ –Ω–∞—à–µ–º—É —Å–ø–∏—Å–∫—É. –í—Å–µ —ç–ª–µ–º–µ–Ω—Ç—ã –º–µ–Ω–µ–µ 3 –º –ø–æ–≤–µ—Ä–Ω—É–ª –Ω–∞–ª–µ–≤–æ; –≤—Å–µ –∑–Ω–∞—á–µ–Ω–∏—è –±–æ–ª—å—à–µ —Ç—Ä–µ—Ö –ø–µ—Ä–µ–º–µ—â–µ–Ω—ã –≤–ø—Ä–∞–≤–æ.

–ù–∞—à –º–∞—Å—Å–∏–≤ Python —Ä–∞–∑–¥–µ–ª–µ–Ω –Ω–∞ –¥–≤–µ –ø–æ–ª–æ–≤–∏–Ω—ã: —ç–ª–µ–º–µ–Ω—Ç—ã, –ø—Ä–µ–≤—ã—à–∞—é—â–∏–µ —Ç–æ—á–∫—É –ø–æ–≤–æ—Ä–æ—Ç–∞, –∏ —ç–ª–µ–º–µ–Ω—Ç—ã –º–µ–Ω—å—à–µ, —á–µ–º —Ç–æ—á–∫–∞ –ø–æ–≤–æ—Ä–æ—Ç–∞.

–ö–∞–∫ —Ç–æ–ª—å–∫–æ —ç—Ç–æ—Ç –ø—Ä–æ—Ü–µ—Å—Å –Ω–∞—á–∞–ª—Å—è, –Ω–∞ –∫–∞–∂–¥–æ–π –∏–∑ –¥–≤—É—Ö –ø–æ–ª–æ–≤–∏–Ω –Ω–∞—á–∏–Ω–∞–µ—Ç—Å—è –Ω–æ–≤—ã–π –ø–æ–≤–æ—Ä–æ—Ç. –≠—Ç–æ—Ç –ø–æ–≤–æ—Ä–æ—Ç –Ω–∞—á–∏–Ω–∞–µ—Ç—Å—è –æ—Ç–¥–µ–ª—å–Ω–æ –∏ –∏—Å–ø–æ–ª—å–∑—É–µ—Ç —Ç–æ—Ç –∂–µ –∞–ª–≥–æ—Ä–∏—Ç–º, —á—Ç–æ –∏ –≤—ã—à–µ. –°–Ω–∞—á–∞–ª–∞ –º—ã —É—Å—Ç–∞–Ω–æ–≤–∏–º –∑–Ω–∞—á–µ–Ω–∏–µ –ø–æ–≤–æ—Ä–æ—Ç–∞, —Ä–∞–≤–Ω–æ–µ –ø–æ—Å–ª–µ–¥–Ω–µ–º—É –∑–Ω–∞—á–µ–Ω–∏—é –≤ –∫–∞–∂–¥–æ–º —Å–ø–∏—Å–∫–µ:

–ó–∞—Ç–µ–º –º—ã –ø–µ—Ä–µ–º–µ—Å—Ç–∏–º –≤—Å–µ –∑–Ω–∞—á–µ–Ω–∏—è, –ø—Ä–µ–≤—ã—à–∞—é—â–∏–µ —Ç–æ—á–∫—É –ø–æ–≤–æ—Ä–æ—Ç–∞, –≤–ø—Ä–∞–≤–æ –æ—Ç –ø–æ–≤–æ—Ä–æ—Ç–∞. –ú—ã –ø–µ—Ä–µ–º–µ—â–∞–µ–º –≤—Å–µ –∑–Ω–∞—á–µ–Ω–∏—è –Ω–∏–∂–µ —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞ –≤–ª–µ–≤–æ.

–≠—Ç–æ—Ç –ø—Ä–æ—Ü–µ—Å—Å –ø—Ä–æ–¥–æ–ª–∂–∞–µ—Ç—Å—è –¥–æ —Ç–µ—Ö –ø–æ—Ä, –ø–æ–∫–∞ –º—ã –Ω–µ –æ—Ç—Å–æ—Ä—Ç–∏—Ä—É–µ–º –Ω–∞—à —Å–ø–∏—Å–æ–∫:

–ü–µ—Ä–≤–∞—è —Ç–æ—á–∫–∞ –ø–æ–≤–æ—Ä–æ—Ç–∞

–í—Ç–æ—Ä–∞—è —Ç–æ—á–∫–∞ –ø–æ–≤–æ—Ä–æ—Ç–∞

1 2
4 8 5
< td>
–ü–µ—Ä–≤—ã–π —Ä–∞–∑ 1 2
4 8 5
–í—Ç–æ—Ä–æ–π —Ä–∞–∑
1

8 5





5 87t? /
–¢—Ä–µ—Ç–∏–π –í—Ä–µ–º—è



8

–ù–∞—à –ø–æ—Å–ª–µ–¥–Ω–∏–π –º–∞—Å—Å–∏–≤ –≤—ã–≥–ª—è–¥–∏—Ç —Ç–∞–∫:

1 < / td> 2 3 4 5 8

–ü—Ä–∏–º–µ—Ä Python QuickSort

–î–ª—è QuickSort –Ω—É–∂–Ω—ã –¥–≤–µ —Ñ—É–Ω–∫—Ü–∏–∏: —Ñ—É–Ω–∫—Ü–∏—è –ø–æ–≤–æ—Ä–æ—Ç–∞ –∏ —Ñ—É–Ω–∫—Ü–∏—è QuickSort.

–ù–∞—á–Ω–µ–º —Å —Ñ—É–Ω–∫—Ü–∏–∏ —Ä–∞–∑–¥–µ–ª–µ–Ω–∏—è. –≠—Ç–æ —Ä–∞–∑–¥–µ–ª–∏—Ç –∏–ª–∏ –ø–æ–¥–≥–æ—Ç–æ–≤–∏—Ç –º–∞—Å—Å–∏–≤ –Ω–∞ –æ—Å–Ω–æ–≤–µ –∑–Ω–∞—á–µ–Ω–∏—è —ç–ª–µ–º–µ–Ω—Ç–∞ –ø–æ–≤–æ—Ä–æ—Ç–∞.

–ù–∞—à–∞ —Ñ—É–Ω–∫—Ü–∏—è —Ä–∞–∑–¥–µ–ª–µ–Ω–∏—è –±—É–¥–µ—Ç:

  1. –í—ã–±—Ä–∞—Ç—å —ç–ª–µ–º–µ–Ω—Ç –ø–æ–≤–æ—Ä–æ—Ç–∞
  2. –ü–µ—Ä–µ–º–µ—Å—Ç–∏—Ç–µ –≤—Å–µ —ç–ª–µ–º–µ–Ω—Ç—ã, —Ä–∞—Å–ø–æ–ª–æ–∂–µ–Ω–Ω—ã–µ –≤—ã—à–µ —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞, –≤–ø—Ä–∞–≤–æ –æ—Ç —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞.
  3. –ü–µ—Ä–µ–º–µ—Å—Ç–∏—Ç–µ –≤—Å–µ —ç–ª–µ–º–µ–Ω—Ç—ã, —Ä–∞—Å–ø–æ–ª–æ–∂–µ–Ω–Ω—ã–µ –Ω–∏–∂–µ —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞, –≤–ª–µ–≤–æ –æ—Ç —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞

–ü—Ä–æ–≥—Ä–∞–º–º–∞ QuickSort Python

–î–∞–≤–∞–π—Ç–µ –Ω–∞–ø–∏—à–µ–º –ø—Ä–æ–≥—Ä–∞–º–º—É, —Ä–µ–∞–ª–∏–∑—É—é—â—É—é —ç—Ç–æ—Ç –∞–ª–≥–æ—Ä–∏—Ç–º:

–°–Ω–∞—á–∞–ª–∞ –º—ã –≤—ã–±–∏—Ä–∞–µ–º —ç–ª–µ–º–µ–Ω—Ç –ø–æ–≤–æ—Ä–æ—Ç–∞. –≠—Ç–æ —Å–æ–æ—Ç–≤–µ—Ç—Å—Ç–≤—É–µ—Ç –Ω–∞–∏–±–æ–ª—å—à–µ–º—É —á–∏—Å–ª—É –≤ –Ω–∞—à–µ–º —Å–ø–∏—Å–∫–µ.

–ó–∞—Ç–µ–º –º—ã –ø–µ—Ä–µ–±–∏—Ä–∞–µ–º –≤—Å–µ —ç–ª–µ–º–µ–Ω—Ç—ã –≤ —Å–ø–∏—Å–∫–µ —Å –ø–æ–º–æ—â—å—é —Ü–∏–∫–ª–∞ Python –¥–ª—è . –ï—Å–ª–∏ —á–∏—Å–ª–æ –º–µ–Ω—å—à–µ –∏–ª–∏ —Ä–∞–≤–Ω–æ –æ—Å–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞, –æ–Ω–∞ –ø–µ—Ä–µ–º–µ—â–∞–µ—Ç—Å—è –≤–ª–µ–≤–æ –æ—Ç —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞. –í –ø—Ä–æ—Ç–∏–≤–Ω–æ–º —Å–ª—É—á–∞–µ –æ–Ω–∞ –ø–µ—Ä–µ–º–µ—â–∞–µ—Ç—Å—è –≤–ø—Ä–∞–≤–æ –æ—Ç —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞.

–ù–∞—à–∞ —Ñ—É–Ω–∫—Ü–∏—è Python –≤–æ–∑–≤—Ä–∞—â–∞–µ—Ç –Ω–æ–≤–æ–µ –º–∞–∫—Å–∏–º–∞–ª—å–Ω–æ–µ –∑–Ω–∞—á–µ–Ω–∏–µ. –ù–æ–≤–æ–µ –º–∞–∫—Å–∏–º–∞–ª—å–Ω–æ–µ –∑–Ω–∞—á–µ–Ω–∏–µ —Ä–∞–≤–Ω–æ —ç–ª–µ–º–µ–Ω—Ç—É +1.

–ó–∞—Ç–µ–º –º—ã –¥–æ–ª–∂–Ω—ã –∑–∞–ø—É—Å—Ç–∏—Ç—å –Ω–∞—à –∞–ª–≥–æ—Ä–∏—Ç–º. –ú—ã –º–æ–∂–µ–º —Å–¥–µ–ª–∞—Ç—å —ç—Ç–æ, –Ω–∞–ø–∏—Å–∞–≤ –æ—Ç–¥–µ–ª—å–Ω—É—é —Ñ—É–Ω–∫—Ü–∏—é:

"–ö–∞—Ä—å–µ—Ä–∞ –ö–∞—Ä–º–∞ –≤–æ—à–ª–∞ –≤ –º–æ—é –∂–∏–∑–Ω—å, –∫–æ–≥–¥–∞ —è –±–æ–ª—å—à–µ –≤—Å–µ–≥–æ –≤ –Ω–µ–π –Ω—É–∂–¥–∞–ª–∞—Å—å, –∏ –±—ã—Å—Ç—Ä–æ –ø–æ–º–æ–≥–ª–∞ –º–Ω–µ –ø—Ä–æ–π—Ç–∏ –∫—É—Ä—Å –±—É—Ç–∫–µ–º–ø–∞. –ß–µ—Ä–µ–∑ –¥–≤–∞ –º–µ—Å—è—Ü–∞ –ø–æ—Å–ª–µ –≤—ã–ø—É—Å–∫–∞ —è –Ω–∞—à–ª–∞ —Ä–∞–±–æ—Ç—É —Å–≤–æ–µ–π –º–µ—á—Ç—ã, –∫–æ—Ç–æ—Ä–∞—è —Å–æ–æ—Ç–≤–µ—Ç—Å—Ç–≤–æ–≤–∞–ª–∞ –º–æ–∏–º —Ü–µ–Ω–Ω–æ—Å—Ç—è–º –∏ —Ü–µ–ª—è–º –≤ –∂–∏–∑–Ω–∏! "

–í–µ–Ω–µ—Ä–∞, –∏–Ω–∂–µ–Ω–µ—Ä-–ø—Ä–æ–≥—Ä–∞–º–º–∏—Å—Ç –≤ Rockbot

< p> –≠—Ç–∞ —Ñ—É–Ω–∫—Ü–∏—è –ø—Ä–æ–≤–µ—Ä—è–µ—Ç, –º–µ–Ω—å—à–µ –ª–∏ –∑–Ω–∞—á–µ–Ω–∏–µ " low " –∑–Ω–∞—á–µ–Ω–∏—è " high & rdquo ;. –ï—Å–ª–∏ —ç—Ç–æ —Ç–∞–∫, –Ω–∞—à–∞ —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∞ –º–æ–∂–µ—Ç –ø—Ä–æ–¥–æ–ª–∂–∞—Ç—å—Å—è. –í –ø—Ä–æ—Ç–∏–≤–Ω–æ–º —Å–ª—É—á–∞–µ –Ω–∞—à–∞ —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∞ –æ—Å—Ç–∞–Ω–∞–≤–ª–∏–≤–∞–µ—Ç—Å—è. –ï—Å–ª–∏ –Ω–∞—à–∞ —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∞ –æ—Å—Ç–∞–Ω–∞–≤–ª–∏–≤–∞–µ—Ç—Å—è, —ç—Ç–æ –æ–∑–Ω–∞—á–∞–µ—Ç, —á—Ç–æ —É –Ω–∞—Å –µ—Å—Ç—å –æ—Ç—Å–æ—Ä—Ç–∏—Ä–æ–≤–∞–ª —Å–ø–∏—Å–æ–∫.

–ó–∞—Ç–µ–º –Ω–∞—à–∞ —Ñ—É–Ω–∫—Ü–∏—è –≤—ã–∑—ã–≤–∞–µ—Ç –º–µ—Ç–æ–¥ prepare (). –û–Ω –æ–ø—Ä–µ–¥–µ–ª—è–µ—Ç —É–∫–∞–∑–∞—Ç–µ–ª—å –¥–ª—è –ø–æ–≤–æ—Ä–æ—Ç–∞ –∏ –ø–µ—Ä–µ–º–µ—â–∞–µ—Ç —ç–ª–µ–º–µ–Ω—Ç—ã –≤ –∏—Ö –ø—Ä–∞–≤–∏–ª—å–Ω–æ–µ –º–µ—Å—Ç–æ.

–ó–∞—Ç–µ–º –Ω–∞—à–∞ —Ñ—É–Ω–∫—Ü–∏—è –¥–≤–∞–∂–¥—ã –≤—ã–∑—ã–≤–∞–µ—Ç –º–µ—Ç–æ–¥ quick_sort (). –í –ø–µ—Ä–≤—ã–π —Ä–∞–∑ –º—ã –∑–∞–ø—É—Å–∫–∞–µ–º QuickSort –¥–ª—è —ç–ª–µ–º–µ–Ω—Ç–æ–≤ —Å–ª–µ–≤–∞ –æ—Ç —Ç–æ—á–∫–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞. –í–æ –≤—Ç–æ—Ä–æ–π —Ä–∞–∑ –º—ã –∑–∞–ø—É—Å–∫–∞–µ–º QuickSort –¥–ª—è —ç–ª–µ–º–µ–Ω—Ç–æ–≤, —Å–ø—Ä–∞–≤–∞ –æ—Ç –æ—Å–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞. –°–ª–µ–¥–æ–≤–∞—Ç–µ–ª—å–Ω–æ, –Ω–∞—à–∞ —Ñ—É–Ω–∫—Ü–∏—è —è–≤–ª—è–µ—Ç—Å—è —Ä–µ–∫—É—Ä—Å–∏–≤–Ω–æ–π, –ø–æ—Ç–æ–º—É —á—Ç–æ –æ–Ω–∞ –≤—ã–∑—ã–≤–∞–µ—Ç —Å–µ–±—è.

–≠—Ç–æ –ø—Ä–æ–¥–æ–ª–∂–∞–µ—Ç—Å—è –¥–æ —Ç–µ—Ö –ø–æ—Ä, –ø–æ–∫–∞ –∫–∞–∂–¥—ã–π —ç–ª–µ–º–µ–Ω—Ç –≤ —Å–ø–∏—Å–∫–µ –Ω–µ –±—É–¥–µ—Ç –æ—Ç—Å–æ—Ä—Ç–∏—Ä–æ–≤–∞–Ω.

–ù–∞–ø–∏—Å–∞–Ω–∏–µ –æ—Å–Ω–æ–≤–Ω–æ–≥–æ –º–µ—Ç–æ–¥–∞

< p> –î–∞–≤–∞–π—Ç–µ –Ω–∞–ø–∏—à–µ–º –æ—Å–Ω–æ–≤–Ω—É—é –ø—Ä–æ–≥—Ä–∞–º–º—É, –∫–æ—Ç–æ—Ä–∞—è –æ–ø—Ä–µ–¥–µ–ª—è–µ—Ç —Å–ø–∏—Å–æ–∫ —Ç–∞–∫–∏–º –æ–±—Ä–∞–∑–æ–º, —á—Ç–æ–±—ã rt:

–°–Ω–∞—á–∞–ª–∞ –º—ã —É–∫–∞–∑—ã–≤–∞–µ–º —Å–ø–∏—Å–æ–∫ –∑–Ω–∞—á–µ–Ω–∏–π –¥–ª—è —Å–æ—Ä—Ç–∏—Ä–æ–≤–∫–∏. –ú—ã –∏—Å–ø–æ–ª—å–∑—É–µ–º –º–µ—Ç–æ–¥ Python len () –¥–ª—è –≤—ã—á–∏—Å–ª–µ–Ω–∏—è –¥–ª–∏–Ω—ã –Ω–∞—à–µ–≥–æ —Å–ø–∏—Å–∫–∞ –∑–Ω–∞—á–µ–Ω–∏–π. –ó–∞—Ç–µ–º –º—ã –≤—ã–∑—ã–≤–∞–µ–º –º–µ—Ç–æ–¥ quick_sort ().

Мы передаем " values ​​" числа, которые хотим отсортировать. Затем мы передаем 0 как младшее число. Длина " values ​​" минус 1 - это максимальное значение, которое мы указываем. Высокое значение - это длина значений минус 1, потому что первый элемент в списке имеет индексный номер 0.

–î–∞–≤–∞–π—Ç–µ –ø–æ–ø—Ä–æ–±—É–µ–º –∑–∞–ø—É—Å—Ç–∏—Ç—å –Ω–∞—à—É –ø—Ä–æ–≥—Ä–∞–º–º—É:

–ù–∞—à –∫–æ–¥ –≤–æ–∑–≤—Ä–∞—â–∞–µ—Ç –æ—Ç—Å–æ—Ä—Ç–∏—Ä–æ–≤–∞–Ω–Ω—ã–π —Å–ø–∏—Å–æ–∫! –ú—ã —Å–¥–µ–ª–∞–ª–∏ —ç—Ç–æ. –ü–æ—Ö–ª–æ–ø–∞–π—Ç–µ —Å–µ–±—è –ø–æ –ø–ª–µ—á—É. QuickSort –Ω–µ–ª–µ–≥–∫–æ –ø–æ–Ω—è—Ç—å –∏–ª–∏ —Ä–µ–∞–ª–∏–∑–æ–≤–∞—Ç—å.

–û–±–∑–æ—Ä —Å–ª–æ–∂–Ω–æ—Å—Ç–∏

–í —Å—Ä–µ–¥–Ω–µ–º —ç—Ç–æ—Ç –∞–ª–≥–æ—Ä–∏—Ç–º –±—É–¥–µ—Ç —Ä–∞–±–æ—Ç–∞—Ç—å —Å–æ —Å–∫–æ—Ä–æ—Å—Ç—å—é O (n * log n). –≠—Ç–æ –ø—Ä–æ–∏—Å—Ö–æ–¥–∏—Ç, –∫–æ–≥–¥–∞ —ç–ª–µ–º–µ–Ω—Ç –ø–æ–≤–æ—Ä–æ—Ç–∞ –Ω–µ —è–≤–ª—è–µ—Ç—Å—è —Å–∞–º—ã–º –±–æ–ª—å—à–∏–º –∏–ª–∏ —Å–∞–º—ã–º –º–∞–ª–µ–Ω—å–∫–∏–º —ç–ª–µ–º–µ–Ω—Ç–æ–º –∏ –∫–æ–≥–¥–∞ —ç–ª–µ–º–µ–Ω—Ç –ø–æ–≤–æ—Ä–æ—Ç–∞ –Ω–µ –Ω–∞—Ö–æ–¥–∏—Ç—Å—è —Ä—è–¥–æ–º —Å–æ —Å—Ä–µ–¥–Ω–∏–º —ç–ª–µ–º–µ–Ω—Ç–æ–º.

QuickSort –∏–º–µ–µ—Ç —Ö—É–¥—à–∏–π —Å–ª—É—á–∞–π com —Å–ª–æ–∂–Ω–æ—Å—Ç—å O (n2). –≠—Ç–æ –ø—Ä–æ–∏—Å—Ö–æ–¥–∏—Ç, –∫–æ–≥–¥–∞ —ç–ª–µ–º–µ–Ω—Ç, –≤—ã–±—Ä–∞–Ω–Ω—ã–π –≤ –∫–∞—á–µ—Å—Ç–≤–µ –æ–ø–æ—Ä–Ω–æ–≥–æ —ç–ª–µ–º–µ–Ω—Ç–∞, —è–≤–ª—è–µ—Ç—Å—è –ª–∏–±–æ –Ω–∞–∏–±–æ–ª—å—à–∏–º, –ª–∏–±–æ –Ω–∞–∏–º–µ–Ω—å—à–∏–º —ç–ª–µ–º–µ–Ω—Ç–æ–º. –í —ç—Ç–æ–º —Å–ª—É—á–∞–µ —Å–≤–æ–¥–Ω—ã–π —ç–ª–µ–º–µ–Ω—Ç –≤—Å–µ–≥–¥–∞ –±—É–¥–µ—Ç –≤ –∫–æ–Ω—Ü–µ –æ—Ç—Å–æ—Ä—Ç–∏—Ä–æ–≤–∞–Ω–Ω–æ–≥–æ –º–∞—Å—Å–∏–≤–∞. –≠—Ç–æ —Å–æ–∑–¥–∞—Å—Ç —Ä—è–¥ –Ω–µ–Ω—É–∂–Ω—ã—Ö –ø–æ–¥–º–∞—Å—Å–∏–≤–æ–≤.

–ù–∞–∏–ª—É—á—à–∞—è —Å–ª–æ–∂–Ω–æ—Å—Ç—å –¥–ª—è —ç—Ç–æ–≥–æ –∞–ª–≥–æ—Ä–∏—Ç–º–∞ - O (n * log n). –≠—Ç–æ –ø—Ä–æ–∏—Å—Ö–æ–¥–∏—Ç, –∫–æ–≥–¥–∞ —ç–ª–µ–º–µ–Ω—Ç –ø–æ–≤–æ—Ä–æ—Ç–∞ –ª–∏–±–æ —Ä–∞–≤–µ–Ω —Å—Ä–µ–¥–Ω–µ–º—É —ç–ª–µ–º–µ–Ω—Ç—É, –ª–∏–±–æ –Ω–∞—Ö–æ–¥–∏—Ç—Å—è —Ä—è–¥–æ–º —Å–æ —Å—Ä–µ–¥–Ω–∏–º —ç–ª–µ–º–µ–Ω—Ç–æ–º.

–ß—Ç–æ–±—ã —É–∑–Ω–∞—Ç—å –±–æ–ª—å—à–µ –æ —Å–ª–æ–∂–Ω–æ—Å—Ç–∏ –∞–ª–≥–æ—Ä–∏—Ç–º–∞, –æ–∑–Ω–∞–∫–æ–º—å—Ç–µ—Å—å —Å –Ω–∞—à–∏–º —Ä—É–∫–æ–≤–æ–¥—Å—Ç–≤–æ–º –ø–æ Big O Notation .

–ó–∞–∫–ª—é—á–µ–Ω–∏–µ

Python QuickSorts –∏—Å–ø–æ–ª—å–∑—É–µ—Ç —Ä–µ–∫—É—Ä—Å–∏—é –¥–ª—è —Ä–∞–∑–±–∏–µ–Ω–∏—è —Å–ø–∏—Å–∫–∞ –Ω–∞ –±–æ–ª–µ–µ –º–µ–ª–∫–∏–µ —Å–ø–∏—Å–∫–∏, –∫–æ—Ç–æ—Ä—ã–µ –∑–∞—Ç–µ–º —Å–æ—Ä—Ç–∏—Ä—É—é—Ç—Å—è. –ö–∞–∂–¥—ã–π —Å–ø–∏—Å–æ–∫ —Å–æ—Ä—Ç–∏—Ä—É–µ—Ç—Å—è –ø–æ —Å–≤–æ–¥–Ω–æ–º—É —ç–ª–µ–º–µ–Ω—Ç—É. –≠–ª–µ–º–µ–Ω—Ç—ã –±–æ–ª—å—à–µ –æ—Å–∏ –ø–µ—Ä–µ–º–µ—â–∞—é—Ç—Å—è –≤–ø—Ä–∞–≤–æ; –±–æ–ª–µ–µ –º–µ–ª–∫–∏–µ —ç–ª–µ–º–µ–Ω—Ç—ã –ø–µ—Ä–µ–º–µ—â–∞—é—Ç—Å—è –≤ –ª–µ–≤—É—é —á–∞—Å—Ç—å –æ—Å–∏ –ø–æ–≤–æ—Ä–æ—Ç–∞.

–ß—Ç–æ–±—ã –ø–æ–ª—É—á–∏—Ç—å —Ä–µ–∫–æ–º–µ–Ω–¥–∞—Ü–∏–∏ –ø–æ –æ—Å–Ω–æ–≤–Ω—ã–º —É—á–µ–±–Ω—ã–º —Ä–µ—Å—É—Ä—Å–∞–º, –æ–Ω–ª–∞–π–Ω-–∫—É—Ä—Å–∞–º –∏ –∫–Ω–∏–≥–∞–º Python, –ø—Ä–æ—á–∏—Ç–∞–π—Ç–µ –Ω–∞—à –≤—Å–µ–æ–±—ä–µ–º–ª—é—â–∏–π –†—É–∫–æ–≤–æ–¥—Å—Ç–≤–æ –ø–æ –∏–∑—É—á–µ–Ω–∏—é Python .