Przejdź do treści
Biblioteka skilli
Programowanie · Nauka i wyjaśnianie

algorithmic-complexity

/algorithmic-complexity

Wyjaśnia, jak czas działania i pamięć rosną z rozmiarem danych i kiedy odpowiedź asymptotyczna bywa myląca, przy wyborze podejścia i przeglądzie pętli po danych.

Repozytorium
AI-SKILLS ↗
Licencja
MIT
Ostatnia zmiana repozytorium
05.09.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 05.09.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Wyjaśnia, jak czas działania i pamięć rosną z rozmiarem danych i kiedy odpowiedź asymptotyczna bywa myląca, przy wyborze podejścia i przeglądzie pętli po danych.

Oryginalny opis (EN)

Reason about how running time and memory grow with input size, and know when the asymptotic answer is the wrong one. Use when choosing an approach, reviewing code that loops over data, or explaining why something slows at scale.

Jak działa

  1. Method
  2. Boundaries
Sekcje z nagłówków SKILL.md, w oryginale · 39 linii, 275 słów
Podgląd SKILL.md
---
name: algorithmic-complexity
description: Reason about how running time and memory grow with input size, and know when the asymptotic answer is the wrong one. Use when choosing an approach, reviewing code that loops over data, or explaining why something slows at scale.
---

# Algorithmic complexity

Complexity describes growth, not speed. An algorithm with worse
asymptotics often wins on real input sizes, and one with good
asymptotics can be slow because of constants and memory behaviour.
Knowing both is what makes the analysis useful.

## Method

1. **Identify what grows.** Complexity is relative to a named input:
   number of records, size of text, number of users. Analysis without
   naming the variable is meaningless.
2. **Count the dominant operation.** The one inside the innermost loop
   or the recursive step. Everything else disappears into constants at
   scale.
3. **Watch for hidden loops.** A lookup inside a loop that is itself
   linear makes the whole thing quadratic, and library calls hide this
   routinely (see n-plus-one-queries).
4. **Analyse space alongside time.** An approach that is fast and holds
   everything in memory fails at a size the time analysis says is fine.
5. **Distinguish worst, average, and amortised.** Hash lookups are
   constant on average and linear in the worst case, and which one
   matters depends on whether an adversary chooses your input.
6. **Check the real input size before optimising.** Quadratic on twenty
   items is instant, and replacing it with a complex linear algorithm is
   a net loss (see performance-optimization).
7. **Measure to confirm.** Constants, cache behaviour, and allocation
   dominate at small sizes, so analysis predicts the shape and
   measurement gives the answer (see profiling-cpu).

## Boundaries

Complexity predicts scaling, not performance; two algorithms with the
same class can differ by an order of magnitude in practice. Real
workloads have distributions that average-case analysis may not match.
Parallelism and memory hierarchy change the picture in ways simple
counting does not capture (see cpu-architecture).

Wersje

W bazie nie ma innych skilli o nazwie algorithmic-complexity.

Migawka bazy z 13.11.2026 · wersja paczki 0da90285d3b3 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100algorithmic-complexity-review
    Przegląda kod pod kątem przypadkowych problemów ze złożonością Big-O, takich jak zagnieżdżone pętle, zapytania N+1, rekursja wykładnicza i kwadratowe budowanie ciągów.
  • 100code-complexity-analysis
    Ocenia wydajność kodu przez złożoność czasową i pamięciową oraz wskazuje wąskie gardła i sposoby optymalizacji.
  • 100dsa-time-space-complexity-big-o-analysis
    Dokładnie analizuje asymptotyczny czas działania algorytmu, pamięć stosu i pamięć pomocniczą na potrzeby rozmów rekrutacyjnych.
  • 100algorithmic-intelligence
    Optymalizuje wydajność kodu przetwarzającego dane: znajduje algorytm i strukturę danych o najniższej możliwej złożoności bez zmiany działania dla użytkowników.
  • 90big-o-in-practice
    Stosuje analizę złożoności tam, gdzie rozmiar danych rzeczywiście decyduje o wydajności, i pomija ją tam, gdzie dominują stałe czynniki, przy wyborze algorytmu lub struktury danych.
  • 100performance-code-review-complexity-allocations
    Wykrywa w przeglądzie kodu nieefektywne algorytmy, zapytania N+1 i nadmierne alokacje pamięci.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.