aa
Hugo: Dziadek Mróz s1e01 The Listy
#include <iostream>
using namespace std;
struct node{
int val;
node* next;
};
void push(node *&H, int x) // dodaje za glowe
{
node *tmp=new node;
tmp−>val=x;
tmp−>next=H;
H=tmp;
}
int main(){
cout<<"struktura"<<endl;
node *lista1=NULL;
push(lista1, 5);
cout<<lista1−>val;
return 0;
};
~3.09 pisze algorytmy, mam nadzieje ze Dziadka tu zastanę
Dziś listy spróbuję
24 sie 15:55
Hugo: Liczenie sumy wartości elementów listy
void suma(node *&H)
{ int suma=0;
node *p = H;
while(p!=NULL)
{
suma += p−>val;
p = p−>next;
}
cout<<"Suma to "<<suma<<endl;
}
działa ale czy jest to dobrze
?
24 sie 16:33
Dziadek Mróz:
Panie, wiesz Pan, co to jest edytor tekstu z kolorowaniem składni?
24 sie 16:41
24 sie 16:43
Dziadek Mróz:
Kilka razy malowałem tutaj jak wygląda fizycznie lista, sumowanie to tak jak na kartce,
ślizgasz się po liście i jak leci dodajesz wartości elementów aż do NULLa.
while (p != NULL) to to samo co while (p)
24 sie 16:47
Hugo:
24 sie 17:32
Hugo: mam pytanie;
napisac program który usunie jakąś licze w zbiorze
i ja napisalem:
void del
x(node *&H, int x)
{
node*p = H;
while(p−>next−>val != x)
{
p=p−>next;
}
p−>next = p−>next−>next;
}
czy to jest poprawne?
a jak dodam delete p, to bedzie poprawne?
...
i znajomy zrobił kosmiczną funkcje do tego i nie wiem co mam myśleć:
http://scr.hu/2pdc/60ymk
Co byś powiedzial? Którego sie uczyc
24 sie 18:19
Dziadek Mróz:
Jeżeli działa to pasi
Ja się inaczej uczyłem list. Była struktura węzła, a później struktura listy z węzłów.
24 sie 19:46
Hugo: nie wolno magazynowa danych których się nie używa bo dają 2.0 : x ehh
24 sie 20:38
Dziadek Mróz:
Co do drugiej metody, tego znajomego to nie wiem co tam jest bo 404
24 sie 21:10
Hugo: chyba dzis juz wyłącze tu swoją aktywnosc poskypuje z moim mentorem, ale prosze czuwaj bo cale
6 pkt ects co wygrania
24 sie 21:23
26 sie 13:31
26 sie 13:47
Dziadek Mróz:
Ja znam trochę inny algorytm heapsort, ale ok
26 sie 14:53
Hugo: !
potem leciałem przez scalanie i wstawianie ale to banalne jest
Quick−sort mam pewne wątpliwości bo widzę kilka jak by dróg pośrednich.
Quickshort swój przykład dla:
(w przypadku nie parzystego środka np a,b,c,d, biorę wartość na lewo od środka w tym wypadku b)
351
4206 // środek to 4 − jest od teraz pivotem zamieniamy go z ost wartością
6
|
351620 p.4 // 3 <4 w lewo
3|
51620 p.4 //5 > 4 w prawo
3|5
1620 p.4 // 1<4 więc zamieniam z 5 (najbardziej skrajną lewą liczbą >4)
31|5
620 p.4 // 6>4 w prawo
31|56
20 p.4 // 2<4 więc zamieniam z 5
312
|65
0 p.4 // 0<4 więc zamieniam z 6
3120
|4| 56
i następnie wykonuje to dla podzbiorów?
3120 // środek to 1 i 2 biorę lewą.
3
120 // 1 to piwot , zamieniam z ostatnią
302 p.1
|
302 p.1 // 3>1
|3
02 p.1 // 0<1 idzie w lewo
0|3
2 p.1 // 2>1 idzie w prawo
0
|32
0132
Więc mamy 0132 4 56
32 sortujemy piwot będzie 3
2 p.3 // 2<3 więc w lewo
23
Całość 0123456
Co sądzisz o tym? może być? Chodzi mi tu o to by na examinie umiec na papier przelać.
Mógłbyś mi wyjaśnić jakie są rodzaje f.partition i jakoś to omówić bo nie rozumiem
?
26 sie 18:39
Dziadek Mróz:
W QS masz dwa wskaźniki i oraz j. Zależnie od położenia wskaźników algorytm się wykonuje do
pewnego momentu, więc nie ma żadnych podzbiorów tylko dwie liczby, które się porównuje
To o czym mówisz samo się wykonuje, te posortowane są na końcu.
26 sie 19:28
Dziadek Mróz:
Ja tam znam wersję, że piwot zamieniasz z ostatnim elementem i jedziesz po kolei z tymi
wskaźnikami.
26 sie 19:50
Hugo: QS − Query Script
Tyle mam umieć : > na 3.09
1. Operacje na listach jednostronnie wiązanych,
2. Dodawanie wielomianów,
3. QuickSort (różne funkcje partition),
4. Sortowanie przez kopcowanie,
5. Algorytm MergeSort,
6. BST (tablice oraz struktury),
7. Algorytm Kruskal
8. Algorytm Dijstry
9. Metoda łańcuchowa rozwiązania kolizji,
10. Algorytm Karpa Rabina
26 sie 20:57
Dziadek Mróz:
No to wcinaj, smacznego
26 sie 21:09
27 sie 21:43
jakubs: Coś tam jest z AiSD
Baw się dobrze
27 sie 21:43
Dziadek Mróz:
CIEZKA PRACA.pdf
28 sie 11:47
Hajtowy: sortowanie bąbelkowe?
28 sie 12:32
Krzyś: sortowanie bąbelkowe jak algorytm naiwny XD
31 sie 17:31
Hugo: Hugo jeździ po lesie(drzewo − las spójny) windą na wskaźnikach
sam napisał !
void del(node *&root, int w)
{
node*p = root;
node*y=root;
while(p!=NULL)
{
if(p−>val==w)
break;
y = p;
if(p−>val>w)
p = p−>left;
else if(p−>val<w)
p = p−>right;
}
if(p−>right ==NULL && p−>left !=NULL)
{
y−>right = NULL;
y−>left = p−>left;
node*lewy = p−>left;
lewy−>parent=y;
delete p;
cout<<"Zastapiony lewy to: "<<y−>left−>val<<endl;
}
else if(p−>right !=NULL && p−>left ==NULL)
{
y−>left = NULL;
y−>right = p−>right;
node*prawy = p−>right;
prawy−>parent=y;
delete p;
cout<<"Zastapiony prawy to: "<<y−>right−>val<<endl;
}
else if(p−>right ==NULL && p−>left ==NULL)
{
y−>left = NULL;
y−>right = NULL;
delete p;
cout<<"usunieto"<<endl;
}
else
cout<<"Wezel ma syna lewego i prawego, nie da sie usunac"<<endl;
}
dzis wszystko sie okaze
3 wrz 06:12
Dziadek Mróz:
Powodzenia życzę
3 wrz 12:52
Hugo: labki chyba siadły ale ćwiczenia moze zabraknąć
Dziadku?
1. Napisz funkcje remove, która usunie z drzewa bst wszystkie liście przechowujace klucze
spelniajace warunek cond (key). Dla drzewa bst przyjmij implementacje wskaznikowa. Zdefiniuj i
opisz wszystkie struktury i zmienne.
I 2. Używając pseudokodu napisz funkcje maxnode, która wyznaczy największy co do wartości
element w drzewie binarnych, wskazywanym przez root i zwróci wskaźnik na ten element.
Przyjmij ze implementacja drzewa jest wskaznikowa.
Czy bylbys którekolwiem z tych zadanek napisac :x?
3 wrz 18:35
ktos: Hugo − mogę wiedzieć co i gdzie studiujesz?
3 wrz 18:36
Dziadek Mróz:
Panie, ja bym najpierw musiał teorię o BST obczaić a później coś napisać, co zajmie mi około
2−3 dni
3 wrz 18:44
Dziadek Mróz:
A chyba już pamiętam, na lewo mniejsze od węzła nadrzędnego a na prawo większe
3 wrz 18:47
Hugo: IT studiujem
, Dziadek traci wiedze z wiekiem
3 wrz 20:19
Dziadek Mróz:
Z usuwaniem jest myk, że jeżeli usuwasz liść to pikuś, jak ma dwoje dzieci, to zastępujemy go
jego poprzednikiem, a jak ma jedno dziecko to ono go zastępuje
3 wrz 20:26
Hugo: oooo
3 wrz 20:33
Hugo: ah jutro wyniki zobaczymy nie ma co sie uczyc na egzamin za pas
3 wrz 20:34