#informatyka #strukturydanych #algorytmy

Czy w kolejce oznaczmy ją S mój head to S.head = 3 a tail S.tail = 1, to czy po Dequeue head dalej utrzymuje się na 3 indeksie czy jednak przechodzi na S.head = 4?
Teoretycznie kolejka jako struktura danych działa jako kolejka w sklepie, więc head powinien być na 4 indeksie teraz, ale w książce Cormena po zrobieniu Dequeue dalej u niego jest head na 3, więc nie
  • Odpowiedz
#anonimowemirkowyznania
Mirki, kończę zaraz studia informatyczne w polszy. Miałem na nich algorytmy i struktury danych, ale jakoś zignorowałem i przebrnąłem przez ten przedmiot z pomocą znajomych i internetu nie wkładając większego wysiłku w ten przedmiot.

Jednak po czasie czytałem sobie reddit i natknąłem się na specyficzny wpis, no i okazuje się, że często bardziej odpowiedzialne pracki jako programista wymagają srogiej wiedzy z algo i struktur danych i trzeba to implementować, albo używać
@kywmn: Powoli, spokojnie. Nigdzie nie napisałem, że lubię funkcje, które mają 3k linii kodu. Wręcz przeciwnie. Do tego potrzebny jest zdrowy rozsądek i logika. Podobnie, nie lubię kiedy mam tysiące klas i miliony wzorców projektowych.
  • Odpowiedz
@AnonimoweMirkoWyznania: nie sugeruj się redditem, oni głównie mówią o rynku amerykańskim gdzie firmy rzeczywiście testują w ten sposób bo zgapiają proces rekrutacyjny od gigantów typu Google czy Facebook. Te firmy z kolei w większości są nastawione na tanią siłę roboczą co oznacza ludzi świeżo po studiach - więc testują wiedzę ze studiów xD jak poczytasz trochę więcej to znajdziesz opinie ludzi którzy strasznie narzekają na to że muszą sobie odświeżać wiedzę
  • Odpowiedz
Chyba ogarniam to troche ale nie wiem jak to ubrać w słowa


@Luk_1mex: Jak nie wiesz jak ubrać w słowa, to znaczy, że nie ogarniasz ani trochę ( ͡° ͜ʖ ͡°)

moim zdaniem nie ma różnic.


@ananasowa_pythonistka: studia są dla programistów zupełnie nieprzydatne, no nie?
  • Odpowiedz
@Luk_1mex: stos jest strukturą typu LIFO. Możesz pobrać tylko element ostatnio dodany. Lista daje Ci dostęp do dowolnego elementui l modlitwie umieszczania w dowolnym. Lub nie, zależy od implementacji. Chyba że pytałeś o kolejkę, nie listę.
  • Odpowiedz
#programowanie #strukturydanych

Mam problem. Bezproblemowo piszę Listy [LinkedList] jednokierunkowe, dwukierunkowe, cykliczne itd. lecz z wartownikami odpowiednimi.

Mam zadanie:
Przedstaw bezpośrednia realizację (bez wykorzystania klasy List) stosu nieograniczonego. Do przechowywania elementów wykorzystaj jednokierunkową listę wiązaną bez wartownika.

Nie mam pojęcia jak miałoby to wyglądać, mógłby ktoś podrzucić link do czegokolwiek (odpowiednią frazę do wujka Google, gotowy kod bez różnicy w jakim języku) bo przeszukałem dość dużo internetu i nadal nie mam pojęcia jak
@Zuixiai: Ale jaki tu masz problem? O ile dobrze przeczytałem czym jest wartownik... jeżu, jak ja się będę chciał zatrudnić w polskiej firmie to polegnę na polskich nazwach.
Chcesz zrobić listę jedno kierunkową bez takiego terminatora oznaczającego koniec listy? To co to za problem po prostu sprawdzać czy node.next == null?
  • Odpowiedz
@GotoFinal: Ok, zrobię tak jak mi napisałeś - szybka modyfikacja kodu, za parę dni okaże się czy wykonanie zadania było poprawne czy też nie

Właśnie dokładnie mi się wydaje tak jak piszesz - w końcu gdzieś i w czymś musimy przechowywać dane wartości. Bardzo mi pomogłeś :) Dziękuję.
  • Odpowiedz
@SzCzoteckY: O(n) - daje funkcje ktorej zlozonosc nie przekroczy. To z jaka "dokladnosci" to napiszesz to juz inna sprawa.
Dlatego przejscie po tablicy jest O(n) <= O(n^3) <= O(n^7) itd...
  • Odpowiedz
@Szab: Wydaje mi sie ze nie. Majac drzewo zrownowazone masz zapewnione ze proces dodawania i wyszukiwania jest w czasie logn. Zakladajac ze kazdy node trzyma sume swoich dzieci + swoja wartosc. To znalezienie i-node to jest operacja koszt to logn (znalezienie noda o pozycji x i zwrocenie jest wartosci plus sumy prawego dziecka - masz wtedy sume od i do roota). Potem szukasz j-node. Majac go (koszt logn) zwracasz wartosc j-noda
  • Odpowiedz
Czy jest w javie jakaś taka szprytna mapa (może byc zewnętrzna biblioteka) która ma domyślnie jako value listę? (Taką listę wewnętrzną)- skorelowaną z keyem, i z łatwym dostępem coś w stylu

mapa.put(key, list.add("value"));

Tak że nie muszę robić oddzielnie obiektu listy i za każdym razem wkładać do mapy

#programowanie #java #strukturydanych
@b0lec: Apache Commons Collections

Interfejs MultiMap, implementacja MultiValueMap

np.

MultiMap test = new MultiValueMap<>();

test.put("a", "b");

List added = test.get("a");
  • Odpowiedz
Siema elito. Mam pytanie:

Mam tablicę atrybutów w Javie przechowywaną jako LinkedList>, nie mniej reprezentacja jest tu mało istotna.

Tablica atrybutów wygląda jak niżej, ale może być zupełnie inna w zależności od wczytanego pliku.

Moim problemem jest stworzenie algorytmu, który wypisuje każdą n-elementową kombinację wartości tych atrybutów. Any ideas?

#programowanie #java #algorytmy #strukturydanych #kodzenie
pavlucco - Siema elito. Mam pytanie:

Mam tablicę atrybutów w Javie przechowywaną jak...

źródło: comment_5GbcljxdLC2UqtCbDgMo3luxFLRE4499.jpg

Pobierz
# @pavlucco: No to zadanie jest proste.

Masz

m
typów atrybutów (size, color), losujesz liczbę naturalną mniejszą

2^m
, konwertujesz ją do postaci binarnej, i np. w przypadku 3 atrybutów 8 (111) odpowiada wykorzystanym 3 atrybutom itd. Potem z każdego wykorzystywanego atrybutu losujesz jeden.

Zamiana na iterację po wszystkich elementach zamiast losowania jest raczej trywialna.
  • Odpowiedz
@profesorek92: Właśnie czytam to z Cormena :) tam jest ładnie, elegancko wytłumaczone, bo jednak slajdy z wykładu są robione tak jak jednak powinno się robić slajdy - jako uzupełnienie gadaniny, a nie przekaz całej treści.
  • Odpowiedz