Median bestimmen



  • Hallo, ich möchte den Median von 3 Elementen a,b,c bestimmen.
    Angeblich soll das mit 3 Vergleichen gehen.
    Wie sehen diese 3 Vergleiche konkret aus?



  • iuzgjidfjkg schrieb:

    Hallo, ich möchte den Median von 3 Elementen a,b,c bestimmen.
    Angeblich soll das mit 3 Vergleichen gehen.
    Wie sehen diese 3 Vergleiche konkret aus?

    ich kann nur nachweisen, daß 3 in der tat reichen.

    if(a>b) swap(a,b);//nu ist das größte in b oder c
    if(b>c) swap(b,c);//nu isses in c
    if(a>b) swap(a,b);//nu sind alle drei sortiert
    cout<<b<<endl;
    

    aber das geht auch bestimmt schneller ohne swap.



  • Bei einer normalen Implementierung hat jeder Ausführungspfad maximal drei Vergleiche. Hier mal kryptisch:

    (a < b) ? ((c < a) ? (c) : ((c < b) ? (c) : (b))) : 
              ((c > a) ? (a) : ((b < c) ? (c) : (b)));
    

Anmelden zum Antworten