Strony: 1 ... 8 9 [10]
 91 
 : Marca 15, 2015, 08:27:46  
Zaczęty przez Behoston - Nowe: wysłane przez pjankowski
Cytuj
czyli sądzisz że robiąc tylko 2 zmiany w każdym przebiegu listy polegające na zamianie sąsiadujących wartości jesteśmy w stanie przesortować całą listę?
Oczywiście, że tak. Każda zmiana (choćby i jedna w każdym przebiegu) zbliża nas do sukcesu. Jeśli to nie jest dla Ciebie oczywiste - zakoduj to w Pythonie i zobacz (5min roboty). Chętnie ujrzę kontrprzykład Mrugnięcie

Zawsze znajdzie się droga, na jakieś czitowanie, ale nie twórzmy zadań, które można rozwiązać w minutę z prośbą o zrobienie tego "na około". Bubblesorta można (prosząc o ten setny krok) pozbawić tej wady, więc te dla których nie da się wymyślić obejścia po prostu sobie darujmy. Do nauki są tutoriale, a czelendże są do czelendżowania. Takie jest moje zdanie. Amen.

P.S. Mógłby się ktoś poza nami wypowiedzieć na ten temat, bo mamy wyraźnie odmienne poglądy. Dobrze byłoby sprawdzić kto jest w tym aspekcie mniejszością.

 92 
 : Marca 15, 2015, 08:03:06  
Zaczęty przez Behoston - Nowe: wysłane przez Behoston
czyli sądzisz że robiąc tylko 2 zmiany w każdym przebiegu listy polegające na zamianie sąsiadujących wartości jesteśmy w stanie przesortować całą listę? Szykujmy się na nobla z matematyki :E
Wiem że udziwniamy ale nie zrobisz nic lepszego jak koniecznie chcesz mieć pewność, że ktoś nie użyje gotowej funkcji (moim zdaniem martwienie się o to jest głupotą ale jak kto uważa)

 93 
 : Marca 15, 2015, 07:44:32  
Zaczęty przez Behoston - Nowe: wysłane przez pjankowski
Po 1: strasznie udziwniamy algorytm, co odwraca uwagę od meritum (i złożoności obliczeniowej)
Po 2: przecież na końcu ta lista będzie posortowana (jak każda inna)

kolejne trzy kroki:
5-4 zamiana, 5-6 ok, 6-3 zamiana > break
4,5,3,6,8,8
4-5 ok, 5-3 zamiana, okokokokok > następny przebieg
4,3,5,6,8,8
4-3 zamiana okokokokokok > następny przebieg
3,4,5,6,8,8
Co?Co?Co?Co?Co? chyba, że czegoś nadal nie rozumiem

EDIT:
Czekaj, czekaj, czekaj... Mam pomysł!
Możemy dać listę na start i poprosić o wpisanie listy po np. 100 obrotach pętli bubble-sorta. Z tym, że ciężko coś analogicznego wymyślić dla algorytmów rekurencyjnych...

 94 
 : Marca 15, 2015, 07:20:50  
Zaczęty przez Behoston - Nowe: wysłane przez Behoston
ok dam przykład bubble sorta:

lista  5,8,6,4,8,3
powiedzmy że możemy jedną liczbę przesunąć tylko 2 razy
5-8 jest ok, 8-6 zamiana, 8-4 zamiana > break bo już 2 zmiany zrobiliśmy
5,6,8,4,8,3
5-6 jest ok, 6-8 jest ok, 8-4 zamiana, 8-8 jest ok, 8-3 zamiana > następny przebieg bo koniec listy
5,6,4,8,3,8
5-6 ok, 6-4 zamiana, 6-8 ok, 8-3 zmiana > break bo 2 zmiany
5,4,6,3,8,8
itd.
na tej liście wyjdzie słabo to zaburzenie ale nie bardzo mam chęć silić się na lepszy przykład.
Lista będzie "niedosortowana"

 95 
 : Marca 15, 2015, 06:19:25  
Zaczęty przez Behoston - Nowe: wysłane przez pjankowski
Zdefiniuj dokładnie te "zaburzenia", bo nie jestem w stanie przeanalizować => zrozumieć tego co napisałeś. Tak z interpunkcją i takimi tam...  Mrugnięcie

Co do sortowania w n-wymiarach: zdefiniuj jaką macierz (póki co w (edit: 2d i) 3d uznajemy za posortowaną), bo to też nie musi być proste.

 96 
 : Marca 15, 2015, 05:56:34  
Zaczęty przez Behoston - Nowe: wysłane przez Behoston
nope, parser tego nie załatwi. A jak załatwi to będzie koniec końców robił rzeczywiście sortowanie takie na jakim nam zależy :E przeanalizuj to sobie to zrozumiesz.
A sortowanie w kilku wymiarach sprowadza się do posortowania kilka razy lub z wagami więc jest znacząco prostsze od zaburzonego sortowania Język

 97 
 : Marca 15, 2015, 05:32:40  
Zaczęty przez Behoston - Nowe: wysłane przez pjankowski
Nadal te modyfikacje sprowadzają się do:
(parser)
sorted()
(parser)

Zadań na parsowanie już trochę jest, więc moje zdanie pozostaje niezmienione - darowałbym sobie to.

Aczkolwiek to sortowanie w n-wymiarach brzmi bardzo fajnie i jakbyś to jakoś rozwinął to mogłoby wyjść coś naprawdę ciekawego i niestandardowego - to jak najbardziej popieram!

 98 
 : Marca 15, 2015, 03:35:25  
Zaczęty przez Behoston - Nowe: wysłane przez Behoston
to jak ktoś napisze parser to też dobrze no nie Język ?
Można do sortowania wprowadzić modyfikację że w bubblesort można przesunąć k w przód maksymalnie (co da nam nie do końca posortowaną listę)
a w megesort hmm...
łejeaminyt
można dać wagi poszczególnych "modułów" że np. ten którego odchylenie standardowe jest mniejsze jest mniejszy a jeśli równe to dopiero się dzieli na mniejsze a jak długość "modułu" jest 1 to wtedy porównuje wartości. To też da nam nieposortowaną listę.
no w każdym razie bezpieczne zadanie typu sortowanie czy struktury danych jest bardzo ciężko sprawdzać w szczególności jeśli inputem do sprawdzania może być jedynie jakiś ciąg znaków..
Quicksorta od ręki "zaburzyć" nie potrafię bo musiał bym powtórzyć sobie ten algorytm.
Można też dać sortowanie w przestrzeni n-wymiarowej gdzie łatwiej napisać od 0 (jakimś algorytmem o złożoności długość_listy^(wymiar+1))
Ale to są zadania z puli tych "ciekawszych" i sami najpierw musieli byśmy porządnie przeanalizować jak te algorytmy sensownie modyfikować.
Zabawa jest Chichot

 99 
 : Marca 15, 2015, 02:49:14  
Zaczęty przez Behoston - Nowe: wysłane przez pjankowski
Wtedy algorytm rozwiązania wygląda tak:
prosty parser
sorted()

Generalnie myślałem o sortowaniu jak zastanawiałem się nad zadaniem "optymalizacyjnym", ale z przyczyn, które wymieniłem odrzuciłem tą myśl. Ciężko jest ułożyć tego typu zadanie tak, żeby sorted() nie było najprostszym rozwiązaniem, ale być może jest to możliwe.

 100 
 : Marca 15, 2015, 07:20:03  
Zaczęty przez Behoston - Nowe: wysłane przez Behoston
Zawsze można dać listę jakichś obiektów i kazać po jakimś paramerze sortować

Strony: 1 ... 8 9 [10]

SimplePortal 2.3.1 © 2008-2009, SimplePortal