Kurs C++ odc. 16: Struktury danych: stos, kolejka, lista, drzewo binarne



Jeżeli masz ochotę zobaczyć więcej naszych filmów, podcastów i artykułów w coraz lepszej jakości, to zachęcamy do pozostawienia subskrypcji. Można także wesprzeć nasze . Informacje: odsłon: 310937, czas trwania: 50m 45s, ocena: 5583.

Kurs C++ odc. 16: Struktury danych: stos, kolejka, lista, drzewo binarne

- 23:35 Ucze się z twojego kursu i znalazłem błąd w tym kodzie (to chyba znaczy, że dobry jest ten kurs). Linijki 58-65 są czałkowicie nie potrzebne a nawet wrecz przeciwnie jest w nich błąd, poniewarz jeżeli głowa jest ustawiona na 4 komurce i nie ma żadnego elemętu w kolejce to przez if (ile==0) wtedy ustawimy ogon na komurke 5 która nie nalerzy do nas i pruba zapisu nie skonczy się dobrze. Trzeba tam zamienić, że ogon=(ogon+1)%5 lub poprostu wywalić linijki 58-65. Jak ktoś chce sprawdzić ten błąd to wystarczy wpisać do kolejki 4 liczby a puzniej je usunąć (nie warzne czy wpiszemymy 4 i usuniemy 4 czy bedziemy wpisywać i wusuwać na zmiane) teraz ogon jest na komurce 4 (naszej ostaniej) wystarczy teraz zapisać w kolejce jeszcze jena liczbe i usunąć teraz ogon jest ustawiony na komurce 5 ktora nie jest nasz. Teorytycznie ciagle czyszcąc kolejke zeby działał ten if (ile==0) w tym programi i dopisywania tam kolejnych liczb pozwala na na dojście do kolumny 10, 50, 100 i dalej, co napewno nie jest zbyt bezpieczne.
- Niesamowite jest to, w jak prosty i zrozumiały sposób przekazujesz swoją wiedzę innym. Oby kiedyś nauczyciele potrafili przekazywać wiedzę w taki przystępny i ciekawy sposób :D
- Ja używam vectorów do zaalokowania dynamicznie miejsca na nieznaną z góry liczbę elementów.
- DEADlinu
- Przydała by się jakaś aktualizacja tematu w Pana wykonaniu Panie Mirku. Ten kurs jest już nieco przestarzały i opiera się na starych technologiach. A może by tak Nowy kurs w VC ze standardem C++ 20 ?
- Elegancko
- 39:56 tutaj chyba niepotrzebnie jest narysowana struktura od początku, bo przed wprowadzeniem liczb jest nieznana. Początkowo jest korzeń, później korzeń + węzeł z lewej itd.
- Dlaczego mój wykładowca tak nie tłumaczy? :D
- Dajmy na to ze pracuje już jako programista i mam za zadanie zrobienie takiej listy. Czy można skorzystać z gotowego kodu którego użyto na filmiku czy będzie to kradzież ? Zastanawiam się pod tym względem że chciałbym zrobić sobie własną "bibliotekę " funkcji i nie wiem czy mogę zapisywać sobie gotowce z neta. Jak to działa w praktyce ?
- Witam , może pan dać odcinek na nieblubiczny , bo nie chce mi się robić zadania z informatyki, prosze
- Zobacz więcej licówki lublin - też tak sądze.
- haha " lepiej, żebym nie przekroczył deadline ..." dobre
- Chciałbym serdecznie Panu podziękować za cały ten kurs, który nauczył bardzo dużo mnie jak i zapewne wiele innych osób. Ten kurs obrasta już w tych kręgach legendą... Każdy, kogo ja znam, kto uczy się programowania na własną rękę zna ten kurs. Chcę, aby Pan wiedział jak ogromny wkład wniósł Pan w rozwój tysięcy młodych talentów. Jednym słowem: Dziękuję! :)
- właśnie zdałeś mi propgramowanie
- czemu pan nie użyje bibliotek c++ tylko tworzy implementacje?
- Jest Pan WIELKI a jest to cecha tylko ludzi skromnych, pozbawionych pychy i nieprzeciętnych. Ogromny szacunek dla Pana pracy w tylu playlistach. Mam nieoceniony zaszczyt i świadomość że korzystam z wiedzy uporządkowanej, fundamentalnej. Panie Mirku dużo zdrowia i radości z tego co Pan lubi i co Pan robi na ten i przyszłe lata.
- Piekna praca bozeee kocham cie
- 15:23
- Dla modulo gdy dzielna jest mniejsza od dzielnika:
1 % 5 --> 0 * 5 + 1 == 1 --> r = 1
2 % 5 --> 0 * 5 + 2 == 2 --> r = 2
- Super odcinek, dziękuje :)
- Nie wiem czy coś się zmieniło, ale wygodniej jest używać gotowych containerów, przynajmniej dla leniwych osób, takich jak ja, bo po co pisać dlugi kod za każdym razem, skoro można implementować już gotowe:

//stos (nazwa<typ danych<nazwa pliku) (Wymaga #include <stack>) Przykład:
stack < int > stos 1;

//kolejka (nazwa<typ danych<nazwa pliku) (Wymaga #include <queue>) Przykład:
queue < string > nazwa;

//lista (nazwa<typ danych<nazwa pliku) (Wymaga #include <list>)(tak wiem była podana w filmie) Przykład:
list < float > lista;

/*Ogólnie z drzewem jest więcej kombinowania bo nie ma w go w zwykłych bibliotekach.
Można wtedy pobrać header tree.hh (znajdziecie ją jak wpiszecie w googlu tree.hh header, drugi link)
Po wypakowaniu pliku o końcówce .tar.gz wchodzicie w src i znajdujecie plik tree.hh, wrzucacie go do folderu z projektem.*/
//Następnie do projektu dodajecie:
#include "tree.hh"
//i od teraz tylko dodajecie container
//drzewo (nazwa<typ danych<nazwa pliku)
tree < int > nazwa
/* i możecie z tego korzystać jak ze stosu, kolejki czy listy, cała dokumentacja na stronie

W przypadku kopca jest podobnie. Wpisujecie w googla: "arlenebatada Min Heap Header", wchodzicie w pierwszy link i pobieracie plik z githuba.*/
//W archiwum macie minheap.h analogicznie wkładacie go do projektu i załączacie przy pomocy
#include "minHeap.h"
//i od teraz tylko dodajecie container
//kopiec (nazwa<typ danych<nazwa pliku)
minHeap < int > nazwa
//Warto zapoznać się z przykładowym plikiem i dokumentacją

Z góry mówię, nie podaje linków bo YT blokuje, i tak załatwiłem 3/4 roboty za Ciebie w szukaniu tego :) Wiec mam nadzieje, że dalej poradzisz sobie samemu i Ci się to przyda.