PYTHON - ΜΑΘΗΜΑ 16 - OOP: ΚΛΑΣΕΙΣ - Μέρος 13 από 16 - Algorithm: Quick Sort (Γρήγορη Ταξινόμηση)

preview_player
Показать описание
ΠΕΡΙΕΧΟΜΕΝΑ ΒΙΝΤΕΟ:
2. Algorithm: Quick Sort (Γρήγορη Ταξινόμηση)
=====================================
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ:
1. Αντικειμενοστραφής Προγραμματισμός (OOP)
1.1. Κλάσεις
1.2. Μέλη Κλάσης και η μέθοδος __init__()
1.3. Μέθοδοι Κλάσης
1.4. Δημόσια και Ιδιωτική Πρόσβαση
1.5. Σχέση “έχει” μεταξύ κλάσεων
1.6. Παρατηρήσεις
2. Algorithm: Quick Sort (Γρήγορη Ταξινόμηση)
3. Data Structures: Stack (Στοίβα)
4. Game Project: WoW Part 1
5. Data Project: CRUD – Refactoring
Рекомендации по теме
Комментарии
Автор

Καλησπέρα και πάλι,
Αρκετό παίδεμα και εδώ! Το αποτέλεσμα είναι σημαντικά διαφορετικό από το παράδειγμα που δείξατε αλλά κατά ένα περίεργο τρόπο δείχνει να δουλεύει. Η πολύ γενική ιδέα, (πρώτα προσπαθώ να βρω το "guide_index" (pos) και μετά να διαιρέσω τους πίνακες) είναι η ίδια αλλά η εκτέλεση είναι διαφορετική:


def quick_sort(array):

guide_index = 0
checking_index = 1
loop_counter = 0

while loop_counter < len(array)-1:
if array[guide_index] > array[checking_index]:
array[checking_index], array[guide_index] = array[guide_index], array[checking_index]
guide_index = checking_index
checking_index += 1
else:
temp = array.pop(checking_index)
array.append(temp)
loop_counter += 1

if len(array) < 3:
return array
else:

array_first_leg = array[:guide_index]
array_second_leg = array[(guide_index + 1):]
guide = array[guide_index]

array_first_leg = quick_sort(array_first_leg)
array_second_leg = quick_sort(array_second_leg)

array.clear()

array = array_first_leg + array_second_leg

return array


Έχετε κάποια παρατήρηση σε κάτι που μου έχει ξεφύγει;

arvanitisdionisis
Автор

Ο πιο δύσκολος αλγόριθμος από τις ταξινομήσεις είναι αυτός κύριε Δημήτρη με βάση τους αλγόριθμους ταξινόμησης που έχουμε δει ως τώρα.

johnniewalkerjohnniewalker
Автор

Καλησπερα Δασκαλε,
στο μαθημα των αναδρομικων συναρτησεων διαπιστώσαμε οτι αυτος ο τροπος ειναι αργος (δηλαδη αναδρομικη κληση π.χ. fibonacci ).
Εδω γιατι γινεται πιο γρηγορος? (η ταξινομηση χρονικα γινεται πιο γρηγορα οκ, αλλα γιατι? αφου γινεται αναδρομικη κληση πολλες φορες)

ΔημήτρηςΤσάκαλος-ζο
welcome to shbcf.ru