Strony: 1 ... 8 9 [10]
 91 
 : Marca 15, 2015, 10:18:16  
Zaczęty przez Behoston - Nowe: wysłane przez Behoston
też się z tym zgadzam ale to jak znalezienie Świętego Grala...

 92 
 : Marca 15, 2015, 10:03:46  
Zaczęty przez Behoston - Nowe: wysłane przez pjankowski
xD
zbliża do sukcesu, ale ja mówię o n przebiegach "zewnętrznej" pętli (założyłem, że to oczywiste, że tego nie zmieniamy)

Kod:
from random import randint
l=[]
for i in range(100):
    l.append(randint(0,100))

def bs(l):
    for i in range(len(l)-1):
        zmiana=0
        for j in range(len(l)-i-1):
            if zmiana==2:brak
            if l[i+1]<l[i]:
                zmiana+=1
                pomocnicza=l[i+1]
                l[i+1]=l[i]
                l[i]=pomocnicza
               
    return l
               
print l
print bs(l)
Dopiero po kodzie zrozumiałem o co Ci chodzi - ok to ma sens, tylko może odwrócić uwagę od meritum. Patrząc na to co wcześniej pisałeś - nie wiem z których fragmentów miałem się w tym połapać.

Cytuj
A tak w ogóle to jakie mają  tam być zadania :| jak nie do nauki to do czego? Jak do ciekawszych zadań to takie utrudnienie jest ciekawe  moim zdaniem.
Zadania mają nie tyle uczyć (no chyba, że uczyć wnioskowania, kreatywności itd.) co umożliwić sprawdzenie czy rozumie się dane zagadnienie i ewentualnie zmotywować do douczenia się. Wpisując sorted() mogę nie ogarniać nawet bubblesorta. Mogę się podpisać pod tym co napisała maciosz w punkcie 2).

 93 
 : Marca 15, 2015, 09:36:06  
Zaczęty przez Behoston - Nowe: wysłane przez Behoston
owszem są mocno naciągane, przynajmniej ten z bubblesortem. Ten z mergesortem może mieć jakikolwiek większy (acz nadal nieduży) sens.

 94 
 : Marca 15, 2015, 09:33:26  
Zaczęty przez Behoston - Nowe: wysłane przez maciosz
Wczytam się później dokładniej w te pomysły na udziwnianie, ale moje zdanie jest mniej więcej takie:
1) staramy się robić jak najwięcej zadań jak najbardziej interdyscyplinarnych, tj. łączących jakieś dziedziny, np. rozwiązywanie problemów biologicznych za pomocą matematyki etc.; nie wyklucza to tego zadania, bo nie muszą być tylko takie i oczywiście mogą się pojawić również czysto informatyczne, nie tylko do tutoriala ale i później, ale jednak podkreślam, że warto by skupiać się na bardziej łączonych między dziedzinami
2) wydaje mi się, że zadanie powinno wyglądać tak: przedstawiamy problem, zadajemy pytanie i oczekujemy odpowiedzi. Mam wrażenie, że taka powinna być uniwersalna recepta na dowolne zadanie z dowolnej dziedziny w dowolnym kontekście, bo takie uczą najwięcej - jest problem badawczy i szukamy sposobu na rozwiązanie go. Autor spodziewał się, że znajdziemy go w programowaniu, ale jeśli uda nam się na kartce czy w kalkulatorze to też spoko, grunt, że cżłowiek sam zastanowił się nad problemem i poszukał sposobu na rozwiązanie go. I koniec końców podaje odpowiedź i sprawdzamy tylko odpowiedź, nie dlatego, że nie jesteśmy w stanie sprawdzić drogi, jaką doszedł do rozwiązania, ale dlatego, że nas ta droga nie interesuje. Jeśli np. ktoś zamiast zaimplementować alignment znalazł needlemana na serwerach ebi - też spoko, miło że się dowiedział, gdzie szukać bioinformatycznych narzędzi. Tak po prostu z perspektywy potencjalnego użytkownika takiego portalu mówię: jak dostaję jakieś zadanie i proszą mnie o rozwiązanie to powinno być dla mnie challenge'em całe dotarcie do tego rozwiązania. Jeśli jestem w stanie je uzyskać prosto, a proszą mnie o chodzenie na około to zadanie jest chyba trochę źle sformułowane. Takie mam wrażenie, że byłabym zniechęcona do takiego zadania.
Może te udziwnienia coś zmienią, chociaż na pierwszy rzut oka wydają mi się naciągane.

 95 
 : Marca 15, 2015, 08:51:56  
Zaczęty przez Behoston - Nowe: wysłane przez Behoston
xD
zbliża do sukcesu, ale ja mówię o n przebiegach "zewnętrznej" pętli (założyłem, że to oczywiste, że tego nie zmieniamy)

A tak w ogóle to jakie mają  tam być zadania :| jak nie do nauki to do czego? Jak do ciekawszych zadań to takie utrudnienie jest ciekawe  moim zdaniem.
A zakoduję sobie w ramach przerwy w robieniu interfejsu do tworzenia automatycznie dzielonych histogramów w VBA Język
Jak nie było by dyskusji to od czego byśmy tu byli?

proszę Uśmiech
Kod:
from random import randint
l=[]
for i in range(100):
    l.append(randint(0,100))

def bs(l):
    for i in range(len(l)-1):
        zmiana=0
        for j in range(len(l)-i-1):
            if zmiana==2:brak
            if l[i+1]<l[i]:
                zmiana+=1
                pomocnicza=l[i+1]
                l[i+1]=l[i]
                l[i]=pomocnicza
               
    return l
               
print l
print bs(l)

 96 
 : 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ą.

 97 
 : 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)

 98 
 : 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...

 99 
 : 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"

 100 
 : 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.

Strony: 1 ... 8 9 [10]

SimplePortal 2.3.1 © 2008-2009, SimplePortal