Uprość swój przepływ pracy: Wyszukaj miniwebtool.
Dodaj
Powiązane narzędzia
Kalkulator Macierzy SąsiedztwaKalkulator Najkrótszej Ścieżki DijkstryKalkulator Kolorowania GrafówWalidator ciągu stopni grafuSprawdzanie Ścieżki HamiltonaKalkulator Minimalnego Drzewa RozpinającegoKalkulator Przepływu w Sieci (Maksymalny Przepływ)Walidator Grafu PlanarnegoSolver Problemu Stabilnych MałżeństwKalkulator liczb Stirlinga
Strona główna > Matematyka > Zaawansowane działania matematyczne > Kalkulator Sortowania Topologicznego
 

Kalkulator Sortowania Topologicznego

Oblicz porządek topologiczny skierowanego grafu acyklicznego (DAG) za pomocą algorytmu Kahna lub DFS. Wykrywa cykle, raportuje ścieżkę cyklu, buduje widok warstw wykonania równoległego, obsługuje sortowanie leksykograficzne i animuje każdy krok na interaktywnym grafie.

Kalkulator Sortowania Topologicznego
Format krawędzi: A -> B (akceptuje również , =>, :). Maks. 80 wierzchołków / 800 krawędzi.
Algorytm Kahna (leksykograficzny) daje unikalny, powtarzalny porządek. DFS post-order to klasyczna metoda przeszukiwania w głąb.

Embed Kalkulator Sortowania Topologicznego Widget

O Kalkulator Sortowania Topologicznego

Kalkulator sortowania topologicznego oblicza liniowe uporządkowanie wierzchołków skierowanego grafu acyklicznego (DAG) tak, że każda skierowana krawędź z u do v umieszcza u przed v. Wprowadź swój graf jako listę krawędzi lub listę sąsiedztwa, a narzędzie zwróci porządek topologiczny przy użyciu algorytmu Kahna lub DFS post-order, wykryje cykle (podając dokładną ścieżkę), pogrupuje zadania w warstwy wykonania równoległego, policzy liczbę poprawnych porządków i wyświetli animację każdego kroku na interaktywnym grafie.

Co to jest sortowanie topologiczne?

Dla danego grafu skierowanego G = (V, E), sortowanie topologiczne (lub porządek topologiczny) to liniowe ustawienie v₁, v₂, …, vₙ jego wierzchołków takie, że dla każdej skierowanej krawędzi (u → v), u pojawia się przed v w tym ustawieniu. Porządek topologiczny istnieje wtedy i tylko wtedy, gdy graf nie zawiera cykli skierowanych — czyli gdy jest to DAG. Porządek rzadko jest unikalny: graf może mieć wiele poprawnych sortowań topologicznych, gdy kilka wierzchołków ma jednocześnie stopień wejściowy zero.

Definicja porządku topologicznego
Permutacja (v₁, v₂, …, vn) zbioru V jest topologiczna wtedy i tylko wtedy, gdy
dla każdej krawędzi (u → v) w E: pozycja(u) < pozycja(v)

Algorytmy używane przez ten kalkulator

Algorytm Kahna (oparty na BFS, 1962)

Algorytm Kahna jest najbardziej intuicyjnym sposobem sortowania topologicznego. W każdym kroku wybiera wierzchołek o stopniu wejściowym zero (brak krawędzi wchodzących), dołącza go do wyniku i "usuwa" z grafu, zmniejszając stopień wejściowy każdego z jego następców. Gdy wiele wierzchołków ma stopień wejściowy zero, rozstrzyganie remisów może wykorzystywać kopiec typu min (dając najmniejszy leksykograficznie porządek) lub kolejkę FIFO (dając kolejność wstawiania). Algorytm Kahna działa w czasie O(|V| + |E|) i służy również jako detektor cykli: jeśli po opróżnieniu kolejki jakikolwiek wierzchołek nadal ma stopień wejściowy > 0, graf zawiera cykl.

Algorytm Kahna (pseudokod)
Kahn(G):
  Q ← { v ∈ V : indeg(v) = 0 }
  L ← [ ]
  dopóki Q nie jest pusta:
    u ← Q.pop()
    L.append(u)
    dla każdej krawędzi u → v:
      indeg(v) -= 1
      jeśli indeg(v) = 0: Q.push(v)
  jeśli |L| < |V|: zgłoś cykl
  w przeciwnym razie: zwróć L

DFS post-order (Tarjan, 1976)

Algorytm DFS wykonuje przeszukiwanie w głąb, a gdy wierzchołek kończy działanie (tj. wszyscy jego następcy zostali w pełni zbadani), jest on umieszczany na stosie. Odwrócenie stosu na końcu daje poprawny porządek topologiczny. Wykrywanie cykli jest naturalne: napotkanie wierzchołka, który jest nadal w trakcie przetwarzania (oznaczonego jako SZARY), oznacza znalezienie krawędzi wstecznej, co wyklucza bycie DAG-iem. DFS post-order również działa w czasie O(|V| + |E|).

DFS post-order (pseudokod)
DFS-Topo(G):
  dla każdego wierzchołka u w V: kolor[u] ← BIAŁY
  L ← pusty stos
  dla każdego wierzchołka u w V:
    jeśli kolor[u] = BIAŁY: odwiedź(u)
  zwróć odwrócony(L)

odwiedź(u):
  kolor[u] ← SZARY
  dla każdej krawędzi u → v:
    jeśli kolor[v] = SZARY: zgłoś cykl
    jeśli kolor[v] = BIAŁY: odwiedź(v)
  kolor[u] ← CZARNY; L.push(u)

Warstwy wykonania równoległego

Widok warstwowy DAG-a dzieli jego wierzchołki na poziomy tak, że każda krawędź prowadzi z poziomu o niższym numerze do poziomu o wyższym numerze. Wierzchołki w tej samej warstwie są od siebie niezależne, więc mogą być wykonywane równolegle. Liczba warstw jest równa długości najdłuższej ścieżki plus jeden — jest to ścieżka krytyczna DAG-a, czyli minimalna liczba rund sekwencyjnych potrzebnych do zakończenia wszystkich zadań, nawet przy nieograniczonej równoległości. Ten kalkulator generuje widok warstw automatycznie, gdy danymi wejściowymi jest DAG.

Wykrywanie cykli

Jeśli graf zawiera cykl skierowany, sortowanie topologiczne jest niemożliwe. Nasz kalkulator zgłasza dokładną ścieżkę cyklu (np. A → B → C → A) i zaznacza krawędzie cyklu na czerwono na wizualizacji. Usunięcie dowolnej pojedynczej krawędzi z cyklu wystarcza, aby przywrócić acykliczność.

Formaty wejściowe

Lista krawędzi

Wpisz każdą skierowaną krawędź jako źródło -> cel, oddzielając je przecinkami lub nowymi liniami. Akceptowane warianty strzałek: ->, , =>, -->, :. Możesz również łączyć krawędzie: A -> B -> C jest skrótem dla A->B i B->C. Etykiety wierzchołków mogą składać się z liter, cyfr, podkreśleń, myślników i kropek.

A -> B, B -> C, A -> C
C -> D
Shirt -> Tie -> Jacket

Lista sąsiedztwa

Wpisz każdy wierzchołek, dwukropek oraz jego bezpośrednich następców (wierzchołki, na które wskazuje). Wierzchołek bez następców również wymaga swojej linii, na przykład D:.

A: B, C
B: D
C: D
D:

Jak korzystać z tego kalkulatora

  1. Wybierz format: Przełączaj między listą krawędzi a listą sąsiedztwa za pomocą przycisków opcji.
  2. Wprowadź graf: Wklej swoje dane lub kliknij jeden z szybkich przykładów (kolejność ubierania, wymagania kursów, cele budowania, graf z cyklem i inne).
  3. Wybierz algorytm: Kahn leksykograficzny dla unikalnego, powtarzalnego porządku; kolejność wstawiania dla zachowania porządku wejściowego; DFS post-order dla klasycznej metody w głąb; lub Pokaż wszystkie, aby zobaczyć wszystkie porządki obok siebie.
  4. Kliknij "Sortuj topologicznie": Poniżej pojawi się porządek, wykrywanie cykli, widok warstw, długość ścieżki krytycznej, całkowita liczba poprawnych porządków oraz interaktywny graf.
  5. Eksploruj: Naciśnij Odtwórz, aby obserwować emitowanie każdego wierzchołka krok po kroku. Liczniki stopni wejściowych aktualizują się na żywo. Przeciągnij dowolny węzeł, aby zmienić układ grafu.

Zastosowania w rzeczywistym świecie

Systemy budowania i kompilatory

Narzędzia takie jak make, Bazel, Gradle i npm sortują topologicznie swoje cele budowania, aby każdy cel był kompilowany dopiero po wszystkich jego zależnościach. Cykl w grafie zależności jest zazwyczaj zgłaszany jako błąd krytyczny — system budowania nie może zdecydować, od czego zacząć.

Harmonogramowanie zadań

Menedżerowie projektów używają DAG-ów do reprezentowania zależności zadań. Sortowanie topologiczne daje poprawną kolejność wykonania, a widok warstw określa minimalną liczbę rund przy nieograniczonej równoległości. Najdłuższy łańcuch to ścieżka krytyczna, która określa czas trwania projektu.

Planowanie wymagań wstępnych kursów

Katalog kursów uniwersyteckich to DAG: krawędzie to relacje wymagań wstępnych. Porządek topologiczny to poprawny plan studiów, a warstwy mówią studentom, które zestawy kursów mogą brać równolegle w każdym semestrze.

Przeliczanie arkuszy kalkulacyjnych

Gdy komórka ulega zmianie, arkusz kalkulacyjny musi przeliczyć każdą komórkę podrzędną w kolejności zależności — jest to sortowanie topologiczne DAG-a zależności komórek. Odwołania cykliczne (cykle) są odrzucane przez aplikację.

Menedżery pakietów i ładowarki wtyczek

Apt, pip, Homebrew, Maven i niezliczone systemy wtyczek rozwiązują kolejność instalacji lub ładowania poprzez sortowanie topologiczne swoich DAG-ów zależności.

Rozwiązywanie symboli i harmonogramowanie instrukcji

Kompilatory używają sortowania topologicznego do porządkowania deklaracji, a procesory używają DAG-ów zależności danych do harmonogramowania instrukcji w buforze reorder bez naruszania hazardów danych.

Liczenie porządków topologicznych

Dla DAG-a z n wierzchołkami liczba różnych poprawnych porządków topologicznych może wahać się od 1 (dla całkowicie uporządkowanego łańcucha) do n! (dla grafu bez krawędzi). Obliczenie dokładnej liczby jest ogólnie problemem #P-zupełnym, ale dla grafów do 16 wierzchołków ten kalkulator wylicza je przy użyciu programowania dynamicznego z maską bitową: f(S) = Σ f(S ∪ {v}) po wszystkich v ∉ S, których wszyscy poprzednicy są w S.

Złożoność i wydajność

Często zadawane pytania

Co to jest sortowanie topologiczne?

Sortowanie topologiczne skierowanego grafu acyklicznego to liniowe uporządkowanie jego wierzchołków takie, że dla każdej skierowanej krawędzi z u do v, u znajduje się przed v. Reprezentuje ono poprawną kolejność przetwarzania zadań respektującą ich zależności.

Jakiego algorytmu używa ten kalkulator?

Kalkulator uruchamia zarówno algorytm Kahna, jak i DFS post-order. Algorytm Kahna wielokrotnie usuwa wierzchołek o stopniu wejściowym zero i zmniejsza stopnie wejściowe jego następców. DFS post-order wykonuje przeszukiwanie w głąb i odwraca kolejność zakończenia. Oba działają w czasie O(|V| + |E|).

Co jeśli mój graf ma cykl?

Graf z cyklem skierowanym nie posiada sortowania topologicznego. Kalkulator wykrywa cykl, zaznacza go na czerwono na wizualizacji i raportuje dokładną ścieżkę cyklu, abyś wiedział, które krawędzie usunąć, by graf stał się DAG-iem.

Czym jest najmniejszy leksykograficznie porządek topologiczny?

Gdy dostępnych jest wiele poprawnych porządków, najmniejszy leksykograficznie to taki, w którym w każdym kroku wybieramy alfabetycznie najmniejszy wierzchołek o stopniu wejściowym zero. Domyślny tryb Kahna w tym kalkulatorze zwraca ten unikalny, stabilny porządek.

Czym jest widok warstw lub poziomy?

Widok warstw grupuje wierzchołki według najdłuższej ścieżki od źródeł. Wierzchołki w tej samej warstwie nie mają zależności między sobą i mogą być uruchamiane równolegle. Liczba warstw to ścieżka krytyczna projektu.

Czy graf może mieć wiele poprawnych porządków topologicznych?

Tak. Jeśli w dowolnym kroku algorytm Kahna ma kilka wierzchołków ze stopniem wejściowym zero, każdy z nich może być następny. Kalkulator liczy dokładną liczbę takich kombinacji dla grafów do 16 wierzchołków.

Jaka jest różnica między algorytmem Kahna a DFS post-order?

Kahn działa "od góry": wielokrotnie wybiera źródła (stopień 0) i emituje je najpierw. DFS post-order działa "od dołu": najpierw kończy przetwarzanie ujść i dopisuje je na początku wyniku (po odwróceniu). Oba są O(|V| + |E|), ale zazwyczaj dają inne wyniki. Kahn jest łatwiejszy do równoleglenia; DFS łatwiej łączy się z innymi analizami grafowymi.

Jaki jest maksymalny rozmiar grafu obsługiwany przez to narzędzie?

Kalkulator obsługuje do 80 wierzchołków i 800 krawędzi. Liczenie wszystkich porządków jest ograniczone do 16 wierzchołków, ponieważ problem jest #P-zupełny, a przestrzeń stanów rośnie jako 2ⁿ. Animacja i wizualizacja działają płynnie do pełnego limitu rozmiaru.

Dalsza lektura

Cytuj ten materiał, stronę lub narzędzie w następujący sposób:

"Kalkulator Sortowania Topologicznego" na https://MiniWebtool.com/pl/kalkulator-sortowania-topologicznego/ z MiniWebtool, https://MiniWebtool.com/

przez zespół miniwebtool. Aktualizacja: 20 kwi 2026

Możesz także wypróbować nasz AI Rozwiązywacz Matematyczny GPT, aby rozwiązywać swoje problemy matematyczne poprzez pytania i odpowiedzi w języku naturalnym.

Zaawansowane działania matematyczne:

Polecane narzędzia:

Kalkulator Kompatybilności MiłosnejKalkulator kompatybilności znaków KsiężycaKalkulator znaków słońca, księżyca i ascendentu 🌞🌙✨Rozdzielacz obrazówPrzelicznik stóp na metryGenerator Prawda czy WyzwanieKalkulator numerów aniołaLosowy generator przedmiotówLosowy Generator Drabinki TurniejowejLosowy Generator GrupKalkulator Znaku WenusKalkulator znaku księżycowegoStatystyki Kanału YouTubeLosowanie listyKalkulator prędkości jazdy na rowerzeGenerator losowych słów angielskichLicznik SylabLosowy selektor filmówGenerator losowych kart kredytowychGenerator numerów loteriiKalkulator przedawkowania kofeinyLosowy generator zwierzątwyszukiwanie-adresu-MACKalkulator inflacji w USAGenerator szablonu rozwinięcia stożkaGenerator Kart BingoGenerator Losowych UrodzinWyszukiwanie IDentyfikatora użytkownika InstagramKalkulator Obwodu ElipsyKalkulator Dnia Roku - Który Dzień Roku Jest Dzisiaj?Kalkulator nachylenia i stopniaGenerator Losowych PosiłkówJaki jest mój szczęśliwy numer?Kalendarz retrogradacji MerkuregoRozdzielacz AudioMagiczna Kula 8Losowy Generator KolorówGenerator kodu Morse'aSortuj LiczbyKalkulator liczby ścieżek życiaGenerator krzyżówekKalkulator Zmiany ProcentowejGenerator wykreślanekCyfrowy Kalkulator DuszyLicznik Punktów w TenisieKalkulator Liczby ImieniaLosowy Generator LiterKalkulator dziennego procentu składanegoKonwerter ułamkowy czasuSprawdzacz Nazwy Użytkownika w Mediach Społecznościowych⏱️ Kalkulator GodzinKalkulator zarobków YouTubeKalkulator PrzeciwprostokątnejGenerator losowych supermocyKalkulator Numerów MistrzowskichKalkulator Powrotu Saturna👙 Kalkulator Rozmiaru BiustonoszaLosowy Generator Postaci RPGOdwrotny TekstGenerator losowych datGenerator Losowych Tematów DebatyGenerator Kamień Papier NożyceHumanizator tekstu AIKonwerter Rozmiarów UbrańGenerator losowych ciągówSortować alfabetycznieGenerator losowej godzinyGenerator Tekstu PrzekreślonegoKonwerter stóp i cali na centymetryZaawansowany analizator kompatybilności znaków zodiakuGenerator losowych współrzędnychKonwerter Radianów na StopnieGenerator losowych krajówKalkulator dźwigni kryptoPredyktor wagi szczeniakaGenerator LabiryntówKonwerter binarny na dziesiętnyKonwerter FPSLista liczb pierwszychLosowanie komentarzy YouTubeWalidator XMLGenerator PaletKalkulator Czasu TrwaniaKalkulator Monetyzacji YouTube ShortsKalkulator ZaokrąglaniaKonwerter liczb rzymskich🔍 Sprawdzacz PlagiatuKalkulator Wspolczynnika KorelacjiKalkulator Znaku MarsaZegar światowyGenerator losowych wymówekKalkulator Długości ŁukuGenerator Losowych Zadań MatematycznychKalkulator Współczynnika DyskontowegoPrzelicznik cm na stopy i caleGenerator Małego Tekstu ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾Kalkulator deficytu kalorycznegoKalkulator notacji naukowejGenerator anagramówGenerator pomieszanych słówKalkulator zakwasuWyszukiwanie identyfikatora użytkownika FacebookaGenerator adresów MACKalkulator Obciążenia BelkiCzytnik tekstu na mowęGenerator połącz kropkiKalkulator budowy ciałaKalkulator schodówNarzędzie do liczenia wierszyKalkulator arcus tangensaKalkulator Kąta UkośnegoKalkulator PrędkościKalkulator Zarobków na TikTokuKonwerter szesnastkowy na dziesiętnyGenerator kodów kreskowychKalkulator ilości cyfrKalkulator Objętości Elipsoidy (Wysoka Precyzja)Lista Lat PrzestępnychPołącz filmyDekoder Alfabetu Morse'aGenerator Losowych AktywnościKalkulator ciąży u psaKalkulator HexKalkulator Numeru PrzeznaczeniaKalkulator Względnego Odchylenia StandardowegoKonwerter Szybkości Transferu DanychLooper MP3Uniksowy Konwerter CzasuGenerator losowego IMEIkalkulator-hba1cKalkulator Momentu BezwładnościKalkulator odległości między dwoma punktamiKalkulator Przeliczenia WynagrodzeniaKalkulator siły siłownika hydraulicznegoKalkulator TransformatoraKonwerter Liczb na Słowa🖱️ Licznik KliknięćGenerator losowego adresu IPKalkulator bonusówKalkulator konwersji skali modeluKalkulator Momentu Dokręcania ŚrubKalkulator nawodnienia ciastaKalkulator Rozmiaru OponKalkulator Ściętego StożkaKalkulator zysku i straty z akcjiKalkulator średniej geometrycznejKompresor WideoNotatnik OnlineWyszukiwarka Cytatów (Angielski)Kalkulator Liczby EkspresjiGenerator Planu Podróży AIKalkulator Błędu ProcentowegoKalkulator podwyżki wynagrodzeniaKalkulator Rozkładu PoissonaKonwerter rozmiarów butówOdwróć kolejność liniiKonwerter Czasu na DziesiętnyDetektor treści AIKalkulator decybeli (dB)Kalkulator grillaKalkulator kalorii przy karmieniu piersiąKalkulator Numeru TygodniaKalkulator Rozkładu na Czynniki PierwszeKalkulator Równowagi Żywiołów AstrologicznychKalkulator Spożycia Mleka dla NiemowlątOdwracacz kolorówEkstraktor AudioGenerator Przepisów AI ze SkładnikówGenerator schematów kolorówKalkulator kołowyKalkulator Podsieci IPKalkulator prostokątnyKalkulator ułamka zwykłego na dziesiętnyKonwerter Daty JuliańskiejPrzycinacz WideoRzut kostkąAI Dodawanie InterpunkcjiAnalizator adresów MACGenerator kryptogramówKalkulator Ceny HurtowejKalkulator EntropiiKalkulator Liczby OsobowościKalkulator Mieszanki Oleju 2-SuwowegoKalkulator Rozmiaru ZasłonKalkulator tempa triathlonuKalkulator Trójkąta ProstokątnegoKalkulator żywicy epoksydowejKonwerter binarny na szesnastkowyKonwerter rozmiaru plikuLosuj liczbyPrzelicznik wagiKalkulator odchylenia standardowego próbyTabela ASCIIWyszukiwarka kamienia urodzenia i kwiatu zodiakuKalkulator wyników ACFTKalkulator Wilks & DOTSKalkulator Offsetu FelgWyszukiwarka indeksu nośności i oznaczenia prędkości oponKalkulator kosztu na milęKalkulator Wykupu LeasinguKalkulator Mieszania OktanówKalkulator Pojemności SilnikaKalkulator Sofy w DrzwiachKalkulator sągów drewnaKalkulator CADR Oczyszczacza PowietrzaKalkulator Wielkości OsuszaczaKalkulator rozmiaru wentylatora sufitowegoKalkulator Rozmiaru DywanuKalkulator wysokości wieszania obrazówKalkulator wysokości montażu telewizoraKalkulator Rozmiaru TVKalkulator objętości i folii oczka wodnegoKalkulator Soli do BasenuKalkulator Objętości BasenuKalkulator rozmiaru podgrzewacza wodyKalkulator Rozstawu TralekKalkulator Listew Przypodłogowych i WykończeniowychKalkulator SidinguKalkulator Bejcy do TarasuKalkulator nasion trawyKalkulator darniKalkulator AsfaltuKalkulator Jardów SześciennychKalkulator Długości AntenyKalkulator Wypełnienia Rury InstalacyjnejKalkulator kondensatorów szeregowych i równoległychKalkulator Reaktancji IndukcyjnejKalkulator Oświetlenia PokojuKalkulator luksów na lumenyKonwerter lumenów na watyKalkulator wielkości generatoraKalkulator mAh na WhKalkulator Mocy TrójfazowejKalkulator kVAKalkulator amperów na watyKalkulator Watów na AmperyKalkulator Rezystorów SzeregowychKalkulator TarciaKalkulator Równi PochyłejKalkulator Przewagi MechanicznejKalkulator Prędkości DźwiękuKalkulator Prędkości FaliKalkulator WyporuKalkulator Prędkości GranicznejKalkulator Długości Fali de BroglieKalkulator Energii FotonuKalkulator E=mc²Kalkulator dylatacji czasuKalkulator Trzeciego Prawa KepleraKalkulator Prędkości UcieczkiKalkulator Siły GrawitacjiKalkulator Prawa Beera-LambertaKalkulator równania NernstaKalkulator Ciśnienia OsmotycznegoKalkulator podwyższenia temperatury wrzeniaKalkulator obniżenia temperatury zamarzaniaKalkulator składu procentowegoKalkulator NormalnościKalkulator MolalnościKonwerter pKa na KaKalkulator Hendersona-HasselbalchaKalkulator Wydajności TeoretycznejKalkulator Reagenta OgraniczającegoKalkulator Konfiguracji ElektronowejInteraktywny Układ OkresowyGenerator Planów Lekcji AIGenerator Quizów AIGenerator Cytowań APA MLA ChicagoKalkulator frekwencjiKalkulator Wyniku APKalkulator Wyniku ACTKalkulator Wyniku SATKonwerter procentów na CGPAKonwerter CGPA na procentyŁatwy Kalkulator Ocen (EZ Grader)Kalkulator Kosztów Wychowania DzieckaKalkulator Rozmiaru PieluchGenerator Imion dla DzieciPredyktor Koloru Oczu DzieckaKalkulator Centylowy BMI dla DzieciKalkulator Przyszłego Wzrostu DzieckaKalkulator Czasu Podwojenia hCGKalkulator terminu porodu in vitroKalkulator ImplantacjiChiński Kalkulator Płci DzieckaFormater daty ISO 8601Kalkulator drzemekKalkulator faz KsiężycaKalkulator wschodu i zachodu słońcaKonwerter daty na cyfry rzymskieOdliczanie do EmeryturyKalkulator TrzeźwościKalkulator Połowy UrodzinKalkulator rocznicyKalkulator Podziału NapiwkówKalkulator ROI Email MarketinguKalkulator Kosztu Pozyskania LeadaKalkulator Kapitału Obrotowego