El proceso de comparación permite ordenar la información escrita de forma estándar. Desde el punto de vista matemático, se trata de una operación que, dados dos datos de un mismo tipo, permite dilucidar cuál de ellos debe colocarse antes que el otro dentro de la secuencia de una sucesión, lo que posibilita formar listas de datos organizadas de acuerdo con un criterio predeterminado. Muchos sistemas de comparación se basan en un orden alfabético o numérico, o en extensiones y combinaciones de ambos tipos. La comparación es un procedimiento fundamental empleado implícitamente en la clasificación bibliográfica, en el proceso de crear catálogos de bibliotecas y para la compilación de obras de referencia.

Se diferencia de la clasificación en que las clases en sí no están necesariamente ordenadas. Sin embargo, incluso si el orden de las clases es irrelevante, sus identificadores pueden pertenecer a un conjunto ordenado, lo que permite utilizar algoritmos de ordenamiento para organizar los elementos por clases.

Formalmente, un método de comparación suele definir un orden total a partir de un conjunto de posibles identificadores, denominados claves de ordenación, lo que a su vez produce un preorden total a partir del conjunto de elementos de información (los elementos con el mismo identificador no se colocan en un orden definido).

Un procedimiento de comparación como el algoritmo de comparación Unicode define un orden mediante la comparación de dos cadenas de caracteres dadas y la decisión de cuál debe preceder a la otra. Cuando se define un orden de esta manera, se puede usar un algoritmo de ordenación para organizar cualquier número de elementos en una lista.

La principal ventaja de la comparación es que permite al usuario encontrar un elemento en una lista ordenada de forma rápida y sencilla, o confirmar su ausencia. En sistemas automáticos, esto se puede hacer usando búsqueda binaria o búsqueda por interpolación. La búsqueda manual se puede realizar mediante un procedimiento similar, aunque a menudo se realiza de forma inconsciente. Otras ventajas son que se puede encontrar fácilmente el primer o el último elemento de una lista (lo cual es muy útil en el caso de datos ordenados numéricamente), o elementos en un rango determinado (también muy útil en el caso de datos numéricos, y en el caso de los datos ordenados alfabéticamente, cuando solo se puede estar seguro de las primeras letras de un elemento o elementos buscados).

Ordenamiento Orden numérico y cronológico Las cadenas que representan números pueden ordenarse según los valores de los números que representan. Por ejemplo, "-4", "2.5", "10", "89" o "30,000". La aplicación pura de este método puede proporcionar solo una ordenación parcial de las cadenas, ya que diferentes cadenas pueden representar el mismo número (como con "2" y "2.0" o, cuando se usa notación científica, "2e3" y "2000").

Se puede adoptar un enfoque similar con cadenas que representan fechas u otros elementos que pueden ordenarse cronológicamente o de alguna otra forma natural.

Orden alfabético

El orden alfabético es la base de muchos sistemas de comparación donde los elementos de información se identifican mediante cadenas compuestas principalmente por letras de un alfabeto. La ordenación de las cadenas se basa en la existencia de un orden estándar para las letras del alfabeto en cuestión. El sistema no se limita a los alfabetos en sentido estricto; los idiomas que usan sistemas silábicos o alfasilábicos, como por ejemplo, el edioma cheroqui, pueden usar el mismo principio de ordenación siempre que exista un orden establecido para los símbolos utilizados.

Para decidir cuál de las dos cadenas objeto de comparación va primero en orden alfabético, se comparan inicialmente sus primeras letras. La cadena cuya primera letra aparece antes en el alfabeto va primero en orden alfabético. Si las primeras letras son iguales, se comparan las segundas, y así sucesivamente, hasta que se decide el orden. Si una cadena se queda sin letras para comparar, se considera que va primero; por ejemplo, "cart" va antes que "carhorse". El resultado de ordenar un conjunto de cadenas en orden alfabético es que las palabras con la misma primera letra se agrupan, y dentro de este grupo, las palabras con las mismas dos primeras letras se agrupan, y así sucesivamente.

Las letras mayúsculas suelen considerarse equivalentes a sus letras minúsculas correspondientes. Para tratamientos alternativos en sistemas informáticos, véase comparación automática más adelante.

Ciertas limitaciones, complicaciones y convenciones especiales pueden presentarse al usar el orden alfabético: Cuando las cadenas contienen espacios en blanco u otros separadores de palabras, se debe decidir si se ignoran estos separadores o se tratan como símbolos que preceden a todas las demás letras del alfabeto. Por ejemplo, si se utiliza el primer método, "car park" irá después de "carbon" y "carp" (como si se escribiera "carpark"), mientras que en el segundo método, "car park" irá antes de esas dos palabras. La primera regla se utiliza en muchos (pero no en todos) los diccionarios, la segunda se solía utilizar en las guías telefónicas (de modo que "Wilson, Jim K" aparece con otras personas llamadas "Wilson, Jim", y no después de "Wilson, Jimbo"). Las abreviaturas pueden tratarse como si estuvieran escritas completas. Por ejemplo, los nombres que contienen "St." (abreviatura de la palabra inglesa "Saint (Santo)") a menudo se ordenan como si estuvieran escritos como "Saint". También existe una convención tradicional en inglés según la cual los apellidos que empiezan con "Mc" y "M" se enumeran como si esos prefijos se escribieran "Mac". Las cadenas que representan nombres personales suelen ordenarse por orden alfabético del apellido, incluso si el nombre de pila aparece primero. Por ejemplo, "Juan Hernández" y "Brian O'Leary" deben ordenarse como "Hernández, Juan" y "O'Leary, Brian", incluso si no se escriben así. Palabras iniciales muy comunes, como "The", en inglés suelen ignorarse para la ordenación. Por lo tanto, "The Shining" se ordenaría simplemente como "Shining" o "Shining, The". Cuando algunas cadenas contienen números (u otros caracteres no alfabéticos), existen varios enfoques. A veces, estos caracteres se tratan como si estuvieran antes o después de todas las letras del alfabeto. Otro método consiste en ordenar los números alfabéticamente como se escribirían: por ejemplo, el nombre de la película "1776" se ordenaría en inglés como si se escribiera "seventeen seventeen-six" y "24 Heures du Mans" como si se escribiera "vingt-quatre..." (veinticuatro en francés). Cuando se utilizan números u otros símbolos como formas gráficas especiales vinculadas a letras, como el uso del número "1337" para referirse a la escritura leet, o de la grafía "Se7en" para mencionar el título de la película "Seven", se pueden ordenar como si fueran esas letras. Los idiomas tienen diferentes convenciones para tratar los signos diacríticos y ciertas combinaciones de letras. Por ejemplo, en español, la letra "ñ" se considera una letra básica después de la "n", y las letras "ch" y "ll" se consideraban anteriormente como dígrafos (hasta 1994), de manera que se colocaban respectivamente después de la "c" y después de la "l", como cualquier otra letra representada por un único carácter. Posteriormente, se ha adoptado el criterio de tratar estos dígrafos como dos letras separadas a los efectos de ordenar alfabéticamente las palabras en las que aparecen. Se puede encontrar una lista de estas convenciones para varios idiomas en Convenciones específicas de los idiomas.

En varios idiomas, las reglas han cambiado con el paso del tiempo, por lo que los diccionarios antiguos pueden usar un orden diferente al de los modernos. Además, la comparación puede depender del uso. Por ejemplo, los diccionarios y las guías telefónicas editados en Alemania emplean enfoques diferentes.

Ordenamiento por raíces Algunos diccionarios bilingüe del idioma árabe, como la obra A Dictionary of Modern Written Arabic de Hans Wehr, agrupan y ordenan las palabras árabes según sus raíces. Por ejemplo, las palabras kitaba ( 'escritura'), kitab ( 'libro'), katib ( 'escritor'), maktaba ( 'biblioteca'), maktab ( 'oficina'), maktub ( 'destino' o 'escrito'), se agrupan bajo la raíz triliteral k-t-b (), que denota 'escritura'.

Ordenamiento por radicales y trazos Véase también caracteres chinos y orden de los caracteres chinos

Otra forma de comparación es el ordenamiento por radicales y trazos''', utilizado para sistemas de escritura no alfabéticos como los ideogramas del chino y los kanji del japonés, cuyos miles de símbolos desafían la ordenación por convención. En este sistema, se identifican los componentes comunes de los caracteres, que se denominan radicales en chino y en los sistemas logográficos derivados del chino. Los caracteres se agrupan por su radical principal y luego se ordenan según el número de trazos dentro de los radicales. Cuando no hay un radical obvio o hay más de uno, la convención determina cuál se utiliza para la comparación. Por ejemplo, el carácter chino 妈 (que significa "madre") se clasifica como un carácter de seis trazos bajo el radical principal de tres trazos 女 (que significa "mujer").

El sistema de radicales y trazos es complejo en comparación con un sistema alfabético, en el que hay pocos caracteres, todos inequívocos. La elección de qué componentes de un logograma comprenden radicales separados y cuál es el principal no es del todo clara. Como resultado, los lenguajes logográficos a menudo complementan la ordenación por radicales y trazos con la clasificación alfabética de una conversión fonética de los logogramas. Por ejemplo, la palabra kanji "Tokyo" (東京) puede ordenarse como si estuviera escrita en los caracteres japoneses del silabario hiragana como "to-u-ki-yo-u" (とうきょう), utilizando el orden de clasificación convencional para estos caracteres.

Además, los caracteres chinos también pueden ordenarse mediante la clasificación basada en trazos. En la Gran China, el uso de orden de trazos del apellido es una convención en algunos documentos oficiales donde los nombres de las personas se enumeran sin jerarquía.

Automatización Cuando la información se almacena en sistemas digitales, la comparación puede convertirse en un proceso automatizado. Es entonces necesario establecer un algoritmo de comparación adecuado que permita ordenar la información de forma satisfactoria para la aplicación en cuestión. A menudo, el objetivo será lograr una ordenación alfabética o numérica que siga los criterios estándar descritos en las secciones anteriores. Sin embargo, no todos estos criterios son fáciles de automatizar.M Programming: A Comprehensive Guide, Richard F. Walters, Digital Press, 1997