Otwórz aplikację

Przedmioty

InformatykaInformatyka359 wyświetleń·Zaktualizowano 14 lip 2026·1 strona

Python: Wyszukiwanie liniowe, binarne i inne fajne algorytmy

user profile picture
Michał Rzepecki@miczi

Wyszukiwanie liniowe i binarne to podstawowe algorytmy wyszukiwania w programowaniu....

1
of 1
Python - wyszukiwanie liniowe i binarne  – strona 1

Wyszukiwanie liniowe i binarne

Strona ta przedstawia dwa fundamentalne algorytmy wyszukiwania: liniowe i binarne, wraz z ich implementacją w języku Python.

Wyszukiwanie liniowe to prosty algorytm o złożoności czasowej Onn. Polega on na sekwencyjnym przeglądaniu elementów zbioru w poszukiwaniu elementu spełniającego określony warunek.

Highlight: Wyszukiwanie liniowe Python jest najprostszą metodą wyszukiwania, ale może być nieefektywne dla dużych zbiorów danych.

Implementacja wyszukiwania liniowego w Pythonie wygląda następująco:

def WyszukiwanieLiniowe(lista, x):
    for i in range(len(lista)):
        if lista[i] == x:
            return i

Example: Dla listy [3, 7, 9, 21, 67, 71, 88, 90], wyszukiwanie elementu 9 zwróci indeks 2.

Wyszukiwanie binarne jest bardziej zaawansowanym algorytmem o złożoności czasowej O(log n). Działa on poprzez wielokrotne dzielenie posortowanej listy na połowy, co znacznie przyspiesza proces wyszukiwania.

Highlight: Wyszukiwanie binarne Python jest znacznie efektywniejsze niż wyszukiwanie liniowe dla dużych, posortowanych zbiorów danych.

Implementacja wyszukiwania binarnego w Pythonie:

def WyszukiwanieBinarne(lista, x):
    l = 0  # indeks lewego końca tablicy
    p = len(lista)  # indeks prawego końca tablicy
    while l <= p:
        sr = int((l+p)/2)  # środkowy indeks tablicy
        if lista[sr] == x:
            return sr
        elif lista[sr] > x:
            p = sr - 1
        else:
            l = sr + 1

Example: Dla tej samej listy [3, 7, 9, 21, 67, 71, 88, 90], wyszukiwanie elementu 67 zwróci indeks 4.

Vocabulary: Złożoność czasowa to miara określająca, jak czas wykonania algorytmu rośnie wraz z rozmiarem danych wejściowych.

Oba algorytmy są fundamentalne w nauce programowania i często wykorzystywane w praktyce. Algorytmy w Pythonie takie jak te są kluczowe dla zrozumienia podstaw przetwarzania danych i optymalizacji kodu.

Myśleliśmy, że nigdy nie zapytasz...

Nasz asystent AI jest specjalnie dostosowany do potrzeb uczniów. W oparciu o miliony treści, które mamy na platformie, możemy udzielać uczniom naprawdę znaczących i trafnych odpowiedzi. Ale nie chodzi tylko o odpowiedzi, towarzysz prowadzi również uczniów przez codzienne wyzwania związane z nauką, ze spersonalizowanymi planami nauki, quizami lub treściami na czacie i 100% personalizacją opartą na umiejętnościach i rozwoju uczniów.

Aplikację możesz pobrać z Google Play i Apple Store.

Tak, masz całkowicie darmowy dostęp do wszystkich notatek w aplikacji, możesz w każdej chwili rozmawiać z Ekspertami lub ich obserwować. Możesz użyć punktów, aby odblokować pewne funkcje w aplikacji, które również możesz otrzymać za darmo. Dodatkowo oferujemy usługę Knowunity Premium, która pozwala na odblokowanie większej liczby funkcji.

Podobne notatki

Najpopularniejsze notatki z Matematyka

9
MatematykaMatematyka

Właściwości funkcji liniowej

Zrozumienie funkcji liniowej: definicja, współczynniki a i b, monotoniczność oraz sposób wyznaczania równania prostej. Dowiedz się, jak określić dziedzinę, zbiór wartości oraz punkty przecięcia z osiami. Idealne dla uczniów przygotowujących się do egzaminów z matematyki.

129,931848
S
InformatykaInformatyka

Skróty klawiszowe

Skróty klawiszowe

83,6435
N
Język angielskiJęzyk angielski

Nauka i technologia

Poznaj podstawowe terminy związane z nauką i technologią, takie jak Bluetooth, przeglądarka internetowa i kamera wideo, w języku angielskim.

81,0570
InformatykaInformatyka

Podstawy Pythona

Odkryj podstawowe funkcje Pythona, w tym potęgowanie, deklarowanie zmiennych, wczytywanie danych oraz konwersję typów. Idealne dla początkujących programistów. Zawiera przykłady kodu i wyjaśnienia kluczowych koncepcji.

42,65775
InformatykaInformatyka

Relacyjne Bazy Danych

Zrozumienie relacyjnych baz danych: definicje, typy relacji (jeden do jednego, jeden do wielu, wiele do wielu), klucze podstawowe i obce, oraz modele baz danych. Idealne dla studentów informatyki i osób pragnących zgłębić temat baz danych.

81,05125
InformatykaInformatyka

Podstawy Sieci Komputerowych

Zrozumienie podstawowych koncepcji sieci komputerowych, w tym protokołów TCP/IP, topologii sieci, systemów liczbowych oraz bezpieczeństwa w sieci. Materiał obejmuje kluczowe elementy architektury sieci, takie jak routery, przełączniki i karty sieciowe. Idealne dla studentów informatyki i osób pragnących zgłębić tematykę sieci komputerowych.

13,433134
InformatykaInformatyka

Podstawy Grafiki Komputerowej

Zrozumienie grafiki komputerowej: różnice między grafiką wektorową a rastrową, formaty plików (PDF, SVG, EPS, PNG, TIFF, PSD, JPG, BMP, GIF), modele kolorów (RGB, CMYK, HSV) oraz kompresja danych. Idealne dla studentów informatyki i web developmentu.

41,88588
InformatykaInformatyka

Systemy Liczbowe: Działania

Zrozumienie systemów liczbowych: dwójkowy, dziesiętny i szesnastkowy. Praktyczne przykłady działań arytmetycznych, konwersji między systemami oraz kluczowe zasady dodawania, odejmowania, mnożenia i dzielenia. Idealne dla uczniów przygotowujących się do egzaminów.

14817
InformatykaInformatyka

Znaczniki HTML i selektory CSS

Krótki opis wybranych znaczników HTML i selektorów CSS.

11893

Najpopularniejsze notatki

9

Zobacz, co mówią o nas nasi użytkownicy. Pokochali nas — pokochasz też i Ty.

4.6/5App Store
4.7/5Google Play

Aplikacja jest bardzo prosta i dobrze przemyślana. Do tej pory znalazłem wszystko, czego szukałem i mogłem się wiele nauczyć z innych notatek! Na pewno wykorzystam aplikację do pomocy przy robieniu prac domowych! No i oczywiście bardzo pomaga też jako inspiracja do robienia swoich notatek.

Stefan Sużytkownik iOS

Ta aplikacja jest naprawdę świetna. Jest tak wiele notatek i pomocnych informacji [...]. Moim problematycznym przedmiotem jest język niemiecki, a w aplikacji jest w czym wybierać. Dzięki tej aplikacji poprawiłam swój niemiecki. Polecam ją każdemu.

Samantha Klichużytkownik Androida

Wow, jestem w szoku. Właśnie wypróbowałam aplikację, ponieważ widziałam ją kilka razy reklamowaną na TikToku jestem absolutnie w szoku. Ta aplikacja jest POMOCĄ, której potrzebujesz w szkole i przede wszystkim oferuje tak wiele rzeczy jak notatki czy streszczenia, które są BARDZO pomocne w moim przypadku.

Annaużytkownik iOS
InformatykaInformatyka359 wyświetleń·Zaktualizowano 14 lip 2026·1 strona

Python: Wyszukiwanie liniowe, binarne i inne fajne algorytmy

user profile picture
Michał Rzepecki@miczi

Wyszukiwanie liniowe i binarne to podstawowe algorytmy wyszukiwania w programowaniu. Omówiono ich implementację w Pythonie, wraz z analizą złożoności czasowej i przykładami kodu.

  • Wyszukiwanie liniowe ma złożoność O(n) i polega na sekwencyjnym przeglądaniu elementów.
  • Wyszukiwanie binarnema złożoność O(log n)...
1
of 1
Python - wyszukiwanie liniowe i binarne  – strona 1

Zarejestruj się, aby zobaczyć notatkę. To nic nie kosztuje!

  • Dostęp do wszystkich materiałów
  • Popraw swoje oceny
  • Dołącz do milionów studentów

Rejestrując się akceptujesz Warunki korzystania z usługi i Politykę prywatności.

Wyszukiwanie liniowe i binarne

Strona ta przedstawia dwa fundamentalne algorytmy wyszukiwania: liniowe i binarne, wraz z ich implementacją w języku Python.

Wyszukiwanie liniowe to prosty algorytm o złożoności czasowej Onn. Polega on na sekwencyjnym przeglądaniu elementów zbioru w poszukiwaniu elementu spełniającego określony warunek.

Highlight: Wyszukiwanie liniowe Python jest najprostszą metodą wyszukiwania, ale może być nieefektywne dla dużych zbiorów danych.

Implementacja wyszukiwania liniowego w Pythonie wygląda następująco:

def WyszukiwanieLiniowe(lista, x):
    for i in range(len(lista)):
        if lista[i] == x:
            return i

Example: Dla listy [3, 7, 9, 21, 67, 71, 88, 90], wyszukiwanie elementu 9 zwróci indeks 2.

Wyszukiwanie binarne jest bardziej zaawansowanym algorytmem o złożoności czasowej O(log n). Działa on poprzez wielokrotne dzielenie posortowanej listy na połowy, co znacznie przyspiesza proces wyszukiwania.

Highlight: Wyszukiwanie binarne Python jest znacznie efektywniejsze niż wyszukiwanie liniowe dla dużych, posortowanych zbiorów danych.

Implementacja wyszukiwania binarnego w Pythonie:

def WyszukiwanieBinarne(lista, x):
    l = 0  # indeks lewego końca tablicy
    p = len(lista)  # indeks prawego końca tablicy
    while l <= p:
        sr = int((l+p)/2)  # środkowy indeks tablicy
        if lista[sr] == x:
            return sr
        elif lista[sr] > x:
            p = sr - 1
        else:
            l = sr + 1

Example: Dla tej samej listy [3, 7, 9, 21, 67, 71, 88, 90], wyszukiwanie elementu 67 zwróci indeks 4.

Vocabulary: Złożoność czasowa to miara określająca, jak czas wykonania algorytmu rośnie wraz z rozmiarem danych wejściowych.

Oba algorytmy są fundamentalne w nauce programowania i często wykorzystywane w praktyce. Algorytmy w Pythonie takie jak te są kluczowe dla zrozumienia podstaw przetwarzania danych i optymalizacji kodu.

Myśleliśmy, że nigdy nie zapytasz...

Nasz asystent AI jest specjalnie dostosowany do potrzeb uczniów. W oparciu o miliony treści, które mamy na platformie, możemy udzielać uczniom naprawdę znaczących i trafnych odpowiedzi. Ale nie chodzi tylko o odpowiedzi, towarzysz prowadzi również uczniów przez codzienne wyzwania związane z nauką, ze spersonalizowanymi planami nauki, quizami lub treściami na czacie i 100% personalizacją opartą na umiejętnościach i rozwoju uczniów.

Aplikację możesz pobrać z Google Play i Apple Store.

Tak, masz całkowicie darmowy dostęp do wszystkich notatek w aplikacji, możesz w każdej chwili rozmawiać z Ekspertami lub ich obserwować. Możesz użyć punktów, aby odblokować pewne funkcje w aplikacji, które również możesz otrzymać za darmo. Dodatkowo oferujemy usługę Knowunity Premium, która pozwala na odblokowanie większej liczby funkcji.

Podobne notatki

Najpopularniejsze notatki z Matematyka

9
MatematykaMatematyka

Właściwości funkcji liniowej

Zrozumienie funkcji liniowej: definicja, współczynniki a i b, monotoniczność oraz sposób wyznaczania równania prostej. Dowiedz się, jak określić dziedzinę, zbiór wartości oraz punkty przecięcia z osiami. Idealne dla uczniów przygotowujących się do egzaminów z matematyki.

129,931848
S
InformatykaInformatyka

Skróty klawiszowe

Skróty klawiszowe

83,6435
N
Język angielskiJęzyk angielski

Nauka i technologia

Poznaj podstawowe terminy związane z nauką i technologią, takie jak Bluetooth, przeglądarka internetowa i kamera wideo, w języku angielskim.

81,0570
InformatykaInformatyka

Podstawy Pythona

Odkryj podstawowe funkcje Pythona, w tym potęgowanie, deklarowanie zmiennych, wczytywanie danych oraz konwersję typów. Idealne dla początkujących programistów. Zawiera przykłady kodu i wyjaśnienia kluczowych koncepcji.

42,65775
InformatykaInformatyka

Relacyjne Bazy Danych

Zrozumienie relacyjnych baz danych: definicje, typy relacji (jeden do jednego, jeden do wielu, wiele do wielu), klucze podstawowe i obce, oraz modele baz danych. Idealne dla studentów informatyki i osób pragnących zgłębić temat baz danych.

81,05125
InformatykaInformatyka

Podstawy Sieci Komputerowych

Zrozumienie podstawowych koncepcji sieci komputerowych, w tym protokołów TCP/IP, topologii sieci, systemów liczbowych oraz bezpieczeństwa w sieci. Materiał obejmuje kluczowe elementy architektury sieci, takie jak routery, przełączniki i karty sieciowe. Idealne dla studentów informatyki i osób pragnących zgłębić tematykę sieci komputerowych.

13,433134
InformatykaInformatyka

Podstawy Grafiki Komputerowej

Zrozumienie grafiki komputerowej: różnice między grafiką wektorową a rastrową, formaty plików (PDF, SVG, EPS, PNG, TIFF, PSD, JPG, BMP, GIF), modele kolorów (RGB, CMYK, HSV) oraz kompresja danych. Idealne dla studentów informatyki i web developmentu.

41,88588
InformatykaInformatyka

Systemy Liczbowe: Działania

Zrozumienie systemów liczbowych: dwójkowy, dziesiętny i szesnastkowy. Praktyczne przykłady działań arytmetycznych, konwersji między systemami oraz kluczowe zasady dodawania, odejmowania, mnożenia i dzielenia. Idealne dla uczniów przygotowujących się do egzaminów.

14817
InformatykaInformatyka

Znaczniki HTML i selektory CSS

Krótki opis wybranych znaczników HTML i selektorów CSS.

11893

Najpopularniejsze notatki

9

Zobacz, co mówią o nas nasi użytkownicy. Pokochali nas — pokochasz też i Ty.

4.6/5App Store
4.7/5Google Play

Aplikacja jest bardzo prosta i dobrze przemyślana. Do tej pory znalazłem wszystko, czego szukałem i mogłem się wiele nauczyć z innych notatek! Na pewno wykorzystam aplikację do pomocy przy robieniu prac domowych! No i oczywiście bardzo pomaga też jako inspiracja do robienia swoich notatek.

Stefan Sużytkownik iOS

Ta aplikacja jest naprawdę świetna. Jest tak wiele notatek i pomocnych informacji [...]. Moim problematycznym przedmiotem jest język niemiecki, a w aplikacji jest w czym wybierać. Dzięki tej aplikacji poprawiłam swój niemiecki. Polecam ją każdemu.

Samantha Klichużytkownik Androida

Wow, jestem w szoku. Właśnie wypróbowałam aplikację, ponieważ widziałam ją kilka razy reklamowaną na TikToku jestem absolutnie w szoku. Ta aplikacja jest POMOCĄ, której potrzebujesz w szkole i przede wszystkim oferuje tak wiele rzeczy jak notatki czy streszczenia, które są BARDZO pomocne w moim przypadku.

Annaużytkownik iOS