Le 8 domande e risposte per l'intervista all'algoritmo (Aggiornato per il 2019)

Sommario:

Anonim

Introduzione all'algoritmo Intervista Domande e risposte

Prepararsi per un colloquio di lavoro in algoritmo. Sono sicuro che vuoi conoscere le domande e le risposte più comuni sull'intervista dell'algoritmo 2019 che ti aiuteranno a risolvere facilmente l'intervista con l'algoritmo. Di seguito è riportato l'elenco delle principali domande di intervista sugli algoritmi e le risposte in vostro soccorso.

Di seguito è riportato l'elenco delle domande e risposte sull'intervista dell'algoritmo 2019, che può essere chiesto durante un'intervista per avere più esperienza ed esperienza.

1. Scrivere un algoritmo per invertire una stringa. Ad esempio, se la mia stringa è "vahbunA", il mio risultato sarà "Anubhav".

Risposta:
Step 1: Inizia
Passaggio 2: prendere due variabili I e j.
Passaggio 3: j viene posizionato sull'ultimo carattere (tecnicamente possiamo farlo per lunghezza (stringa) -1)
Step 4: I è posizionato sul primo carattere (possiamo farlo per stringa (0))
Passaggio 5: String (i) è scambiato String (j) Passaggio 6: Incrementare I di 1
Passaggio 7: incrementare J di 1
Passaggio 8: Se "I"> "j", andare al passaggio 3
Passaggio 9: Stop

2.Scrivere un algoritmo per inserire un nodo nell'elenco collegato presupponendo che l'elenco collegato sia già ordinato.

Risposta:
Caso 1: se l'elenco collegato è vuoto, creare il nodo come head e restituirlo.
Codice: New_node-> Next = head;
head = New_node
Caso 2: inserire il nodo al centro
Codice: While (P! = Insert_position)
(
P = p-> Avanti;
)
Store_next = P-> Next;
P-> Next = New_Node;
New_Node-> Next = Store_next;
Caso 3: inserire un nodo alla fine
Codice: While (P-> next! = Null)
(
P = P-> Successivo;
)
P-> Next = New_Node;
New_Node-> Next = null;

3. Scrivere un algoritmo per l'ordinamento a bolle.

Risposta: implementeremo l'algoritmo di ordinamento delle bolle attraverso il linguaggio C.
Passaggio 1: ripetere i passaggi 2 e 3 per I = da 1 a 10
Passaggio 2: impostare j = 1
Passaggio 3: ripetere mentre j <= n (dove n è il numero di elementi nell'array)
(Se a (i) <a (j) Quindi scambiare a (i) e a (j) (End of if))
Impostare j = j + 1
(Fine dell'anello interno) (Fine dell'anello esterno del passaggio 1) Passaggio 4: Esci

4. Scrivere un algoritmo per Heapsort.

Risposta:
Passaggio 1: poiché l'albero soddisfa la proprietà max-Heap, l'elemento più grande viene archiviato nel nodo principale.
Passaggio 2: rimuovere l'elemento radice e posizionarlo alla fine dell'array (nona posizione) posizionare l'ultimo elemento dell'albero (heap) nel luogo libero.
Passaggio 3: Riduci la dimensione dell'heap di 1 e heap di nuovo l'elemento root in modo da avere l'elemento più alto nella radice.
Passaggio 4: il processo viene ripetuto fino a quando tutti gli elementi dell'elenco non vengono ordinati.

5. Scrivere un algoritmo per la ricerca di Fibonacci.

Risposta:
Passaggio 1: A è sort_int_array;
Passaggio 2: prendere una variabile c
Passaggio 3: Fib2 = 1, Fib1 = 1 e fib = 2
Passaggio 4: Mentre fib <n lo fa (dove n è il numero dell'elemento nell'elenco)
Passaggio 5: assegnare la variabile
Fib2 = Fib1
Fib1 = Fib
Fib = Fib1 + Fib2
Finisci mentre
Passaggio 6: assegnare il valore alla variabile temporanea I = 0, offset = 0;
Passaggio 7: Mentre Fib> 1 lo fa
I = min (offset + Fib2, n)
Se c <A (i) allora
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
Altrimenti se c> A (i) allora
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Offset = I;
Altro
Ritorna vero
Finisci se
Finisci mentre
Restituisci falso

6. Scrivere un algoritmo di operazione push e pop nello stack.

Risposta: per l'operazione push
Procedura Aggiungi (oggetto, pila, N, in alto)
(Inserisci 'Articolo' nella 'pila' di dimensione massima 'n', in alto è il numero di elementi attualmente in 'Pila')
Passaggio 1: Verifica che lo Stack sia troppo pieno?
Se (in alto> = N)
Lo stack è troppo pieno
Uscita
Passaggio 2: se lo stack non trabocca, incrementare il loop
Top = Top + 1
Passaggio 3: inserire l'elemento
Stack (in alto) = Articolo
Passaggio 4: Esci
Per l'operazione POP
Passaggio 1: verificare che lo stack sia underflow significa vuoto
If (inizio <= 0)
Lo stack è vuoto
Uscita
Passaggio 2: se lo stack non è underflow, quindi eliminare l'elemento
Item = stack (top) Passaggio 3: decremento del valore superiore
Top = Top - 1
Passaggio 4: Esci

7. Scrivere un algoritmo per l'operazione di inserimento ed eliminazione in coda.

Risposta: per l'operazione di inserimento
Aggiunta procedura (coda, F, R, N, elemento)
(Questo inserirà 'item' nella 'coda' dopo 'R' (raro) dove 'n' è la dimensione dell'array.)
Passaggio 1: verificare che la coda sia in overflow significa che la coda è piena
Se (R> = N)
La coda è piena
Uscita
Passaggio 2: se la coda non viene traboccata, incrementare il ciclo
R = R + 1
Passaggio 3: inserire un elemento nella coda
Coda (R) = oggetto
Passaggio 4: impostazione del puntatore 'F' (anteriore)
Se (F = 0)
F = 1
Uscita
Per l'operazione di eliminazione in coda
Eliminazione procedura (coda, F, R, elemento)
(Elimina 'item' dallo 'stack', 'F' è il puntatore Front-end e 'R' è il puntatore raro.
Passaggio 1: verificare che la coda non sia in corso significa che è vuota
Se (R <= 0)
La coda è vuota
Uscita
Passaggio 2: eliminazione di un elemento dalla coda
Item = queue (F) Passaggio 3: incrementare il valore di F
F = F + 1
Passaggio 4: controllo della coda vuota
Se (F> R)
Quindi F = R = 0
Uscita

8. Scrivere un algoritmo per trovare la profondità minima di un albero binario.

Risposta: Lascia che "nodo" sia il puntatore al nodo radice di una sottostruttura.
Passaggio 1: se il nodo è uguale a null, restituisce 0
Passaggio 2: se il nodo è un nodo foglia, restituire 1.
Passaggio 3: ricorsivamente, trova la profondità minima del sottoalbero sinistro e destro, lascia che sia rispettivamente Profondità minima sinistra e Profondità minima destra.
Passaggio 4: per ottenere l'altezza minima dell'albero radicata nel nodo, prenderemo almeno la profondità minima sinistra e la profondità minima destra e 1 per il nodo radice.
Programma:
Procedura min Profondità (nodo)
Passaggio 1: if (root = null)
Ritorna 0
Passaggio 2: if (root -> Left = Null e root -> right = Null)
Ritorno 1
Passaggio 3: if (root -> left non è null)
Restituisce minDepth (radice -> destra) + 1;
Passaggio 4: If (root -> Right non è null)
Return minDepth (root -> left) + 1;
Passaggio 5: return min (minDepth (root -> left), minDepth (root -> right)) + 1

Articoli consigliati

Questa è stata una guida completa alle Domande e risposte sull'intervista dell'algoritmo, in modo che il candidato possa facilmente reprimere queste Domande sull'intervista con l'algoritmo. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Domande e risposte di intervista di apprendimento automatico
  2. Guida utile sulle domande di intervista sui Big Data
  3. Importanti domande di intervista su Elasticsearch
  4. Domande e risposte utili di intervista di Apache PIG