Otwórz aplikację

Przedmioty

Python: Wyszukiwanie liniowe, binarne i inne fajne algorytmy

Otwórz

10

0

user profile picture

Michał Rzepecki

27.03.2022

Informatyka

Python - wyszukiwanie liniowe i binarne

Python: Wyszukiwanie liniowe, binarne i inne fajne algorytmy

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 binarne ma złożoność O(log n) i działa poprzez dzielenie posortowanej listy na połowy.
  • Przedstawiono implementacje obu algorytmów w Pythonie wraz z przykładami użycia.
...

27.03.2022

293

Nie ma nic odpowiedniego? Sprawdź inne przedmioty.

Knowunity jest aplikacją edukacyjną #1 w pięciu krajach europejskich

Knowunity zostało wyróżnione przez Apple i widnieje się na szczycie listy w sklepie z aplikacjami w kategorii edukacja w takich krajach jak Polska, Niemcy, Włochy, Francje, Szwajcaria i Wielka Brytania. Dołącz do Knowunity już dziś i pomóż milionom uczniów na całym świecie.

Ranked #1 Education App

Pobierz z

Google Play

Pobierz z

App Store

Knowunity jest aplikacją edukacyjną #1 w pięciu krajach europejskich

4.9+

Średnia ocena aplikacji

20 M

Uczniowie korzystają z Knowunity

#1

W rankingach aplikacji edukacyjnych w 17 krajach

950 K+

Uczniowie, którzy przesłali notatki

Nadal nie jesteś pewien? Zobacz, co mówią inni uczniowie...

Użytkownik iOS

Tak bardzo kocham tę aplikację [...] Polecam Knowunity każdemu!!! Moje oceny poprawiły się dzięki tej aplikacji :D

Filip, użytkownik iOS

Aplikacja jest bardzo prosta i dobrze zaprojektowana. Do tej pory zawsze znajdowałam wszystko, czego szukałam :D

Zuzia, użytkownik iOS

Uwielbiam tę aplikację ❤️ właściwie używam jej za każdym razem, gdy się uczę.

Python: Wyszukiwanie liniowe, binarne i inne fajne algorytmy

user profile picture

Michał Rzepecki

@miczi

·

137 Obserwujących

Obserwuj

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 binarne ma złożoność O(log n) i działa poprzez dzielenie posortowanej listy na połowy.
  • Przedstawiono implementacje obu algorytmów w Pythonie wraz z przykładami użycia.
...

27.03.2022

293

 

1/2

 

Informatyka

10

Wyszukiwanie liniowe i binarne
wyszukiwanie liniowe
złożoność czasowa - O(n)
polega na przeglądnięciu zbioru element po elemencie i znalezie

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 O(n). 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.

Nie ma nic odpowiedniego? Sprawdź inne przedmioty.

Knowunity jest aplikacją edukacyjną #1 w pięciu krajach europejskich

Knowunity zostało wyróżnione przez Apple i widnieje się na szczycie listy w sklepie z aplikacjami w kategorii edukacja w takich krajach jak Polska, Niemcy, Włochy, Francje, Szwajcaria i Wielka Brytania. Dołącz do Knowunity już dziś i pomóż milionom uczniów na całym świecie.

Ranked #1 Education App

Pobierz z

Google Play

Pobierz z

App Store

Knowunity jest aplikacją edukacyjną #1 w pięciu krajach europejskich

4.9+

Średnia ocena aplikacji

20 M

Uczniowie korzystają z Knowunity

#1

W rankingach aplikacji edukacyjnych w 17 krajach

950 K+

Uczniowie, którzy przesłali notatki

Nadal nie jesteś pewien? Zobacz, co mówią inni uczniowie...

Użytkownik iOS

Tak bardzo kocham tę aplikację [...] Polecam Knowunity każdemu!!! Moje oceny poprawiły się dzięki tej aplikacji :D

Filip, użytkownik iOS

Aplikacja jest bardzo prosta i dobrze zaprojektowana. Do tej pory zawsze znajdowałam wszystko, czego szukałam :D

Zuzia, użytkownik iOS

Uwielbiam tę aplikację ❤️ właściwie używam jej za każdym razem, gdy się uczę.