Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

c++ - Optymalizacja iteracji stosując unordered_set lub/i unordered_map

Jakub_30 28 Paź 2016 22:05 579 0
  • #1 28 Paź 2016 22:05
    Jakub_30
    Poziom 3  

    Witam Forumowiczów,
    Proszę o podpowiedzi jak zoptymalizować ciało voida stosując unoldered_set lub/i unoldered_map ponieważ inni forumowicze napisali, że to znacznie przyspieszy działanie voida.
    Zamieszczam przykładowy kod jak wywoływana jest funkcja void. Dane w tabeli Z[] są zawsze rosnące i unikalne, bez powtórzeń.
    Napisałem kod do generatora losowego, tak by liczby w tabeli były rosnące, w przykładzie liczby się powtarzają,
    co będzie można zobaczyć po kompilacji podanego niżej kodu.
    Pierwsze i trzecie ciało voida działa na tej samej zasadzie, zlicza niepowtarzalne liczby, oraz te powtarzalne, tak może robić bo
    w rzeczywistym kodzie jak pisałem wartości są unikalne i rosnące.
    Natomiast drugie ciało voida zlicza unikalne wartości w tabeli, co tez jest poprawne , gdy są unikalne wartości w tabeli Z[].
    Z kolei zmienna 'q' po każdej iteracji funkcji zlicza zera w tabeli Z[], także na tym przykładzie zmienna q na starcie ma wartość 19 i maleje wraz z ilością iterowań funkcji.
    Zmienna q jest potrzeba w dalszym kodzie do optymalizacji innych iteracji.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 0