mange programmerere og leserne mine har bedt meg om å dele noen binære trebaserte koding intervju spørsmål, akkurat som jeg har gjort for matrisen, koblet liste, streng, programvare design, mønstre, hash bord og datastruktur generelt. Denne oppgaven var faktisk ventende for en stund, og det ble sittende fast for meg å prøve å finne løsningen for hvert spørsmål jeg kunne ha samlet. Så, jeg bestemte meg for å publisere listen over binære treet intervju spørsmål nå og muligens publisere løsningen som en egen artikkel senere. Dette er som å lage et grensesnitt og gi implementering senere, slik at du ikke blokkerer andre som er avhengige av grensesnittet ditt (faktisk er dette en fordel ved Å bruke grensesnittet I Java eller et annet programmeringsspråk).
Hva Er Binær Tre Datastruktur?
uansett, kommer tilbake til et binært tre, vil jeg gjerne gjenta noen av de nyttige punktene om tre datastruktur generelt som vil hjelpe deg med å løse disse spørsmålene på egen hånd:
1) et tre er den hierarkiske datastrukturen i motsetning til en matrise eller koblet liste som er lineær. Dette betyr at du kan lagre hierarkisk informasjon ved hjelp av en tre datastruktur, som en organisasjonsstruktur, slektstre, etc.
2) et tre har noder og barn. Den øverste eller første noden kalles roten.
3) hvis du vil visualisere, er trestrukturen som et omvendt tre i den virkelige verden. Jeg mener, når du ser trær rundt deg, er røttene deres i bunnen, men når du tegner en trestruktur i programmering eller datavitenskap, er roten deres på toppen.
4) et binært tre er et spesielt tre, hvor du kan ha maksimalt to barn. Dette betyr at en node kan enten ingen barn, ett barn eller to barn. De kan ikke få tre barn eller flere.
5) alle noder som ikke har noen barn er kjent som en bladknute.
6) Binært Søketre Er en spesiell type binært tre hvor verdier av venstre subtre er mindre enn eller lik rot og verdier av noder på høyre subtre er større enn eller lik rot. Dette gir en sorteringsstruktur til et binært søketre, noe som gjør søkingen veldig rask.
Du kan også sjekke Datastrukturer Og Algoritmer: Dypdykk Ved Hjelp Av Java kurs På Udemy for å lære mer om binære søketrær. Det er en av de beste kursene for å oppdatere datastruktur og algoritmer ferdigheter.
7) det binære søketreet er nært forbundet med et binært søk som fungerer på prinsippet om å redusere inngangsstørrelsen til halvparten etter hver iterasjon. Dette gjør søk veldig fort, og du kan finne noe element i det binære søketreet På O (logN) tid, men bare hvis treet er balansert.
8) det er to måter å krysse en trestruktur på, dybde først eller nivå først. I dybden-først går du ned til det ikke er flere noder å besøke, og så kommer du tilbake for å besøke noder på samme nivå.
når du er i nivårekkefølge, besøker du alle noder på samme nivå før du går videre til neste nivå. Det er også pre-order, post-order og in-order traversal for binær som brukes til å krysse noder av et binært tre. Inorder traversal er spesiell fordi den besøker alle noder i sortert rekkefølge.
9) et balansert binært tre er som å ha like mange noder på hvert undertre hvis du har alle noder på det eneste venstre eller høyre undertreet enn det binære treet ditt vil bli ubalansert og det vil fungere som en koblet liste som vist i diagrammet nedenfor:
10) et ubalansert eller ikke-balansert binært søketre fungerer som en koblet liste der et søk vil ta O (n) tid i motsetning Til o(logN) tid i et balansert binært søketre.
Dette er noen av de viktige punktene som hver programmerer bør vite om binary tree datastruktur. Det vil hjelpe deg med å løse trebaserte kodingsproblemer. Hvis du vil lære mer om det binære treet og andre datastrukturer, foreslår jeg at du blir med i en god datastruktur og algoritmekurs Som Datastrukturer Og Algoritmer: Dypdykk Ved Hjelp Av Java På Udemy for å pusse grunnleggende.
40+ Binary Tree Intervju Spørsmål For Java-Programmerere
Uten å kaste bort mer av din tid, Her Er min liste over binary tree og binary search tree (bst) basert koding problemer Fra Programmering Jobbintervjuer. Jeg har koblet til løsning der det er mulig, men hvis det ikke er noen kobling, kan du også finne en løsning ved Å Bare Gjøre Et Google-søk. De er veldig populære spørsmål, og mange har allerede løst dem.
for å få mest mulig ut av denne listen, prøv å løse problemet før du ser på løsning bare da vil tankene dine fungere, og du vil møte utfordringer og konsolidere din forståelse. Hvis du ser på løsningen umiddelbart, vil du bare lære 10% , men hvis du prøver, lærer du 80 til 90% av konseptene og triksene bak hvert spørsmål.
1) Hvordan finner du den laveste felles stamfar til et binært tre I Java? (løsning)
2) Hvordan skriver du ut venstre visning av et binært tre i Java? (solution)
3) Skriv et program for å konstruere et tre Fra Inorder og PreOrder traversal I Java? (løsning)
4) Hvordan skriver du ut vanlige noder i to binære søketrær i Java? (solution)
5) hvorfor binary heap er et bedre valg OVER BST for å implementere Prioritetskø? (svar)
6) hvordan sjekker du om et gitt binært tre er balansert eller ikke? Skriv En Java-metode, som aksepterer et binært tre og returnerer sant hvis det er balansert eller falskt ellers. (solution)
7) Hva er noen fordeler med et binært søketre over en hashtable datastruktur? (svar)
8) hvordan sjekker du om et gitt binært tre er et undertre av et annet binært tre? (solution)
Du har gitt to binære trær, og du må returnere true hvis et første binært tre er et undertre av det andre. Et subtre av binært tre BT er et tre T som består av en node FRA BT og alle dets etterkommere. For eksempel, I det følgende tilfellet, Er T1 et subtre av binært tre bt
9) Hvordan finner du avstanden mellom to noder i et binært tre? (solution)
10) hvordan finne den laveste felles stamfar i et binært tre I Java? (solution)
11) Skriv Et Java-program for å sjekke om alle blader av et gitt binært tre er på samme nivå? (solution)
12) Hvordan konverterer du et gitt binært tre til dobbeltkoblet liste i Java? (solution)
13) Skriv et program for å finne en dybde av et gitt binært tre I Java? (solution)
14) hva er forskjellen mellom binære og binære søketrær? (svar)
15) Hva er et selvbalansert tre? (svar)
16) Hva ER AVL-Treet? (svar)
17) Skriv Et Java-program for å skrive ut pre-order traversering av et binært søketre? Gi en løsning ved hjelp av både iterasjon og rekursjon? (løsning)
18) Skriv ut postordre traversering AV BST? Gi Iterativ og rekursiv algoritme (løsning)
19) Skriv ut inorder traversal av EN BST I Java? Gi både Iterative og rekursive algoritmer (løsning)
20) du har gitt EN BST, hvor to noder byttes? Hvordan gjenoppretter du den opprinnelige BST? (solution)
21) hvordan konverterer du et binært tre til et binært søketre i Java? (solution)
22) Finn det største bst-undertreet av et gitt binært tre I Java? (solution)
23) Skriv Et Java-program for å koble noder på samme nivå som et binært tre? (løsning)
24) Hva Er En Trie datastruktur? (svar)
25) hva er forskjellen Mellom Det Binære treet og Trie? (svar)
26) Skriv ut forfedre av en gitt node av et binært tre I Java? (solution)
27) Skriv Et Java-program for å skrive ut nivået på en gitt node i et binært tre? (løsning)
28) Skriv ut vanlige noder av to gitt BST I Java? (løsning)
29) Gi et binært tre, skriv ut all rot-til-bladbane i Java? (løsning)
30)Skriv Ut inorder tree traversal uten rekursjon I Java? (løsning)
31) Skriv Ut preorder tree traversal uten rekursjon og stabel I Java? (løsning)
32)Skriv Ut PostOrder tree traversal uten rekursjon I Java? (solution)
33) Java Program for å sjekke om et gitt binært tre ER BST eller ikke? (solution)
34) Skriv Et Java-Program for å telle bladnoder i et binært tre? (solution)
35) Skriv Et Java-program for å finne høyden eller dybden til et binært tre? (løsning)
36) Hvordan finner du om to gitt binære trær er de samme? (solution)
Skriv en metode I Java, som vil akseptere to binære trær og returnere sant hvis de er de samme, ellers returnere false.
37) hvordan sletter du en gitt node fra et binært søketre i Java? (solution)
38) Skriv En Java-funksjon for å legge til en gitt node i et binært søketre? (løsning)
39) Skriv ut et binært tre i vertikal rekkefølge I Java? (løsning)
40) Hva Er Den Røde-Svarte tre datastrukturen? (svar)
Svar – Rødt-Svart Tre er et Selvbalanserende Binært Søketre (Bst) der hver node har følgende egenskaper
a) Hver node har en farge, enten rød eller svart.
b) roten av treet er alltid svart.
c) det finnes ikke to tilstøtende røde noder (en rød node kan ikke ha en rød forelder eller et rødt barn).
d) Hver bane fra roten til EN NULLNODE har samme antall svarte noder.
Du kan også sjekke Datastrukturer I Java: Et Intervju Oppfriskningskurs På Pedagogisk for å lære mer Om Red Black Tree datastruktur.
Det er alt i denne listen over topp 40 binære trær og binære søk tre basert koding problemer fra programmering intervjuer. Selv om løsningen er gitt I Java programmeringsspråk, er du velkommen til å løse disse spørsmålene på et hvilket som helst programmeringsspråk etter eget valg som Python, C, C++, JavaScript, Ruby eller Til Og Med Swift. Du kan også legge inn løsningen i kommentarfeltet, slik at fellesskapet kan gjennomgå løsningen og gi noen nyttige tilbakemeldinger.
Alt det beste for ditt kodingsintervju.
Videre Læring
11 Viktige Koding Intervju Spørsmål.
Mestre Kodingsintervjuet: Datastrukturer + Algoritmer
Grokking Av Kodingsintervjuet: Mønstre For Koding Spørsmål
Andre Koding Intervju Spørsmål l du kan like
- hvordan implementere innsetting sorteringsalgoritme I Java? (tutorial)
- hvordan bruke Quicksort algoritmen på plass I Java? (tutorial)
- hvordan implementere Boblesorteringsalgoritmen I Java? (tutorial)
- Forskjell Mellom Sammenligning og Ikke-Sammenligningsbasert sorteringsalgoritme? (svar)
- hvordan bruke Bøtte Sortering I Java? (tutorial)
- hvordan implementere quicksort algoritme uten rekursjon? (tutorial)
- hvordan utføre En Binær Søkealgoritme I Java? (tutorial)
- hvordan finne alle par i en matrise hvis sum er lik k (solution)
- hvordan fjerne duplikater fra En matrise I Java? (solution)
- hvordan finne det mest signifikante og minste tallet i en matrise uten sortering? (løsning)
- hvordan finne duplikater fra et usortert array I Java? (løsning)
- hvordan finne et manglende nummer i en sortert array? (løsning)
- hvordan finne en manglende verdi fra en matrise som inneholder 1 til 100? (solution)
- 50+ Datastruktur Og Algoritmer Problemer Fra Intervjuer (spørsmål)
- mine favoritt gratis kurs for å lære Datastruktur i dybden (FreeCodeCamp)
- hvordan fjerne et element fra en matrise I Java? (løsning)
- hvordan sjekke om en matrise inneholder en bestemt verdi? (solution)
- 10 Gratis Datastruktur Og Algoritme Kurs For Programmerere (kurs)
- 100 + Datastruktur Koding Problemer Fra Intervjuer (spørsmål)
Takk for at du leser denne artikkelen. Hvis du liker denne artikkelen, vennligst del den med dine venner og kolleger. Hvis du har spørsmål eller tilbakemeldinger, så kan du slippe et notat.
Ps – hvis Du er ute Etter Noen Gratis Algoritmer kurs for å forbedre forståelsen av Datastruktur og Algoritmer, bør du også sjekke Easy To Advanced Datastrukturer kurset På Udemy. Det er forfattet Av En Google-Programvareingeniør og Algoritmeekspert, og det er helt gratis.