அல்கோரிதம்three way partition

Three-way partition

TT
Testlaa Team
May 14, 20261 min read

மூன்று-வழி partition — pivot-க்கு பல சமங்கள் இருக்கும்போது quicksort மேம்பாடு; <, =, > பகுதிகள்; நடுவை மீண்டும் முன்னேற்றாது.

உண்மை உலகில் இது ஏன் முக்கியம்?

குறைந்த cardinality நெடுவரிசைகள் — நிறைய சம keys; மூன்று-வழி ஆழம் குறைப்பு. போட்டி — சில தனித்த மதிப்புகள் மட்டும்.

மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)

lt, gt எல்லைகள்; i நடத்தல்: < இடது; > வலது; = நடு — கவனமான பரிமாற்றம். ஒரு கடவுக்குப் பிறகு < மற்றும் > மட்டும் மீண்டும். நகல் ஆதிக்கத்தில் நேரம் குறைவு.

Pythonில் முயற்சி செய்வோம்

# Simplified 3-value partition story using Dutch flag core
from collections import Counter

def bucket_counts(nums):
    return Counter(nums)

print(bucket_counts([2, 0, 2, 1, 0, 1, 2]))

அடிக்கடி நேரும் தவறுகள்

  • பரிமாற்றத்தில் i — முடிவில்லா வளையம்.
  • எல்லா நிறங்களுக்கு Dutch குழப்பம்.
  • pivot வரம்பு மீண்டும் அழைப்பு.

முக்கியச் சுருக்கக் குறிப்புகள்

  • நகல் நிறைந்த quicksort க்கு அத்தியாவசியம்.
  • Dutch flag உணர்வு.
  • சீரற்ற pivot.

Tags:

SortingPythonமாணவர்கள்