ISRO | CS ISRO 2017 | Pregunta 50

Los caracteres de la string KRPCSNYTJM se insertan en una tabla hash de tamaño 10 utilizando la función hash

h(x) = ((ord(x) - ord(A) + 1)) mod 10

Si se usa sondeo lineal para resolver colisiones, entonces la siguiente inserción causa colisión
(A) Y
(B) C
(C) M
(D) P

Respuesta: (C)
Explicación: La tabla hash con tamaño 10 tendrá un índice de 0 a 9.
función hash = h(x) = ((ord(x) – ord(A) + 1)) mod 10
Entonces, para la string KRPCSNYTJM:
K se insertará en el índice: (11-1+1) mod 10 = 1
R en índice: (18-1+1) mod 10 = 8
P en índice: (16-1+1) mod 10 = 6
C en índice: (3-1+1) mod 10 = 3
S en índice: ( 19-1+1) mod 10 = 9
N en índice: (14-1+1) mod 10 = 4
Y en índice (25-1+1) mod 10 = 5
T en índice (20-1+1) mod 10 = 0
J en el índice (10-1+1) mod 10 = 0 // ocurre la primera colisión.
M en el índice (13-1+1) mod 10 = 3 //ocurre la segunda colisión.

Solo J y M están causando la colisión.

La tabla hash final será:

0    T
1    K
2    J
3    C
4    N
5    Y
6    P
7    M
8    R
9    S

Entonces, la opción (C) es correcta.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *