Przedstawiony kod szuka określonej wartości w tablicy. Aby zoptymalizować kod pod względem iteracji pętli można wstawić
Przedstawiony kod szuka określonej wartości w tablicy. Aby zoptymalizować kod pod względem iteracji pętli można wstawić
1. int[] tab = new int[1000];
2. int i, szukana = 20, indeksSzukanej = -1;
3.
4. Random rnd = new Random();
5. for (i = 0; i < tab.Length; i++) {
6. tab[i] = rnd.Next(0, 255);
7. }
8.
9. for (i = 0; i < tab.Length; i++) {
10. if (tab[i] == szukana)
11. indeksSzukanej = i;
12. }Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź to A. Oryginalna pętla for (linie 9-12) zawsze wykonuje 1000 iteracji, nawet jeśli szukany element jest na początku tablicy (jest to nieoptymalne). Zastosowanie pętli while(tab[i] != szukana) przerywa działanie natychmiast po znalezieniu elementu, co zmniejsza średnią liczbę iteracji. (Uwaga: W praktyce taki kod wymagałby zabezpieczenia przed wyjściem poza zakres tablicy, np. poprzez wartownika, ale w kontekście pytań egzaminacyjnych chodzi o ideę przerwania pętli po znalezieniu wyniku).
Chcesz poćwiczyć całą kwalifikację INF.04?
Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.
Pojęcia z tego pytania
- Wyszukiwanie liniowe i z wartownikiem (Linear Search)Podstawowy algorytm przeszukiwania tablicy sprawdzający elementy kolejno od początku do końca o złożoności O(n), nie wymagający posortowania danych.
- Stos (LIFO) i Kolejka (FIFO)Liniowe struktury danych: Stos działa według zasady LIFO (ostatni wchodzi, pierwszy wychodzi), a Kolejka według FIFO (pierwszy wchodzi, pierwszy wychodzi).
- Funkcje agregujące w SQL (COUNT, SUM, AVG, MIN, MAX)Standardowe funkcje języka SQL wykonujące obliczenia na zbiorze wartości kolumny i zwracające pojedynczą wartość podsumowującą.
Podobne pytania z działu „Algorytmy sortowania i wyszukiwania”
Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 23 pytań z tego działu.
- #93
Aby zaprojektować zestaw danych do zainicjowania algorytmu sortowania bąbelkowego tablicy, należy zastosować przynajmniej typy:
- #103
Metoda poszukiwań w tablicach posortowanych, która polega na podzieleniu tablicy na kilka bloków i wyszukaniu liniowym tylko w tym bloku, w którym docelowy element może się znajdować, w języku angielskim nosi nazwę
- #129
Który z wymienionych algorytmów działających na tablicy jednowymiarowej ma złożoność obliczeniową O(n2)?
- #143
Strategia budowania algorytmu poprzez podział na dwa lub więcej mniejszych podproblemów tak długo, aż fragmentu staną się proste do bezpośredniego rozwiązania jest metodą:
- #144
Z tabeli przedstawiającej złożoność obliczeniową algorytmów sortowania na dowolnym, dużym, zbiorze wejściowym (ponad 100 elementów) wynika, że najszybszą metodą jest algorytm sortowania: