Esiste una funzione di comparazione delle stringhe approssimativa che è dispari come le funzioni matematiche sono dispari?

0

Dico strano come una funzione matematica, una funzione matematica è dispari se

f(-x) = -f(x)

Capisco che il confronto tra due stringhe può sembrare avere poco a che fare con questo, perché gli argomenti non possono essere negativi, ma voglio dire che il valore delle funzioni dovrebbe essere il negativo del suo valore con gli argomenti scambiati, cioè,

distance(str2, str1) = -distance(str1, str2);
    
posta iharob 24.04.2015 - 13:08
fonte

2 risposte

5

Puoi farlo con qualsiasi funzione di distanza stringa.

Ad esempio, considera la seguente funzione di distanza:

distance(a, b)
{
    return calc(a, b);
}

Se si rende significativo l'ordine degli argomenti, è possibile invertire il segno del risultato secondo necessità:

distance(a, b)
{
    var first = getFirstAlphabetically({a, b});

    var isNegative = (a != first);
    var sign = isNegative ? -1 : 1;

    return calc(a, b) * sign;
}

Ricorda che questo è solo pseudocodice.

    
risposta data 24.04.2015 - 13:36
fonte
0

Sì, ce ne sono molti! Questa è solo la teoria delle parti anche e dispari adattate a questo contesto.

Prendi qualsiasi funzione h definita sulla coppia di stringhe e imposta ĥ (a, b) = h (b, a) . Quindi la dispari e anche parte di h sono rispettivamente h- = (h - ĥ) / 2 e < em> h + = (h + ĥ) / 2 .

Ora, se si prende qualsiasi funzione h definita sulla coppia di stringhe, la sua parte dispari h - si adatta alle proprie esigenze. Inoltre ottieni in questo modo ogni funzione interessante, perché se h è dispari allora è una sua parte dispari h = h - .

Potrebbe anche essere divertente notare, come ha fatto @MetaFight, quella data qualsiasi funzione dispari u che prende solo i valori 1, 0 e -1 , quindi la moltiplicazione per u trasforma una funzione dispari in una funzione pari e al contrario!

    
risposta data 24.04.2015 - 18:41
fonte

Leggi altre domande sui tag