프로그래머를위한 상위 40 이진 트리 코딩 인터뷰 질문

프로그래머와 내 독자의 많은 일부 이진 트리 기반 코딩 인터뷰 질문을 공유하는 저를 요구하고있다,나는 배열에 대해했던 것처럼,링크 된 목록,문자열,소프트웨어 디자인,패턴,해시 테이블,일반적으로 데이터 구조. 이 작업은 실제로 꽤 오랫동안 보류 중이었고 수집 할 수있는 모든 질문에 대한 해결책을 찾기 위해 노력했습니다. 그래서 지금 이진 트리 인터뷰 질문 목록을 게시하고 나중에 솔루션을 별도의 기사로 게시하기로 결정했습니다. 이것은 당신이 당신의 인터페이스에 의존하는 다른 사람들을 차단하지 않도록 나중에 인터페이스를 만들고 구현을 제공하는 것과 같습니다(실제로 이것은 자바 또는 다른 프로그래밍 언어로 인터페이스를 사용하는 한 가지 이점입니다).

이진 트리 데이터 구조 란 무엇입니까?

어쨌든,이진 트리로 돌아와서,트리 데이터 구조에 대한 유용한 몇 가지 사항을 다시 반복하고 싶습니다.이 질문은 이러한 질문을 스스로 해결하는 데 도움이됩니다.
1)트리는 선형 배열이나 링크 된 목록과 달리 계층 적 데이터 구조입니다. 즉,조직 구조,가계도 등과 같은 트리 데이터 구조를 사용하여 계층 적 정보를 저장할 수 있습니다.
2)트리에는 노드와 자식이 있습니다. 맨 위 또는 첫 번째 노드를 루트라고 합니다.
3)시각화하려는 경우 트리 데이터 구조는 실제 세계의 거꾸로 된 트리와 같습니다. 제 말은,여러분 주변의 나무를 볼 때,그 뿌리는 맨 아래에 있지만,프로그래밍이나 컴퓨터 과학에서 트리 데이터 구조를 그릴 때,그 뿌리는 맨 위에 있습니다.
4)이진 트리는 최대 두 개의 자식을 가질 수있는 특수 트리입니다. 즉,하나의 노드는 자식 없음,자식 하나 또는 자식 둘 중 하나 일 수 있습니다. 그들은 세 자녀 이상을 가질 수 없습니다.
5)자식이 없는 모든 노드를 리프 노드라고 합니다.
6)이진 검색 트리는 왼쪽 하위 트리의 값이 루트보다 작거나 같고 오른쪽 하위 트리의 노드 값이 루트보다 크거나 같은 특별한 유형의 이진 트리입니다. 이것은 이진 검색 트리에 정렬 구조를 제공하여 검색을 정말 빠르게 만듭니다.
데이터 구조 및 알고리즘을 확인할 수도 있습니다. 데이터 구조 및 알고리즘 기술을 새로 고치는 가장 좋은 코스 중 하나입니다.

이진 트리 데이터 구조 인터뷰 질문

7) 이진 검색 트리는 모든 반복 후 입력 크기를 절반으로 줄이는 원칙에 따라 작동하는 이진 검색과 밀접한 관련이 있습니다. 이것은 검색을 정말 빠르게 만들고 이진 검색 트리의 모든 요소를 찾을 수 있습니다.
8)트리 데이터 구조를 트래버스하는 방법에는 깊이 우선 또는 수준 우선 두 가지가 있습니다. 깊이-먼저 방문 할 노드가 더 이상 없을 때까지 내려간 다음 동일한 수준의 노드를 방문하기 위해 다시 돌아옵니다.
레벨 순서 순회 중에 다음 레벨로 이동하기 전에 동일한 레벨의 모든 노드를 방문합니다. 바이너리 트리의 노드를 트래버스하는 데 사용되는 바이너리에 대한 사전 주문,사후 주문 및 주문 순회도 있습니다. 순차 순회는 모든 노드를 정렬 된 순서로 방문하기 때문에 특별합니다.
9)균형 잡힌 이진 트리는 각 하위 트리에 동일한 수의 노드를 갖는 것과 같습니다.:
10)균형이 맞지 않거나 균형이 맞지 않는 이진 검색 트리는 검색이 걸리는 링크 된 목록과 같은 역할을합니다.
이것들은 모든 프로그래머가 이진 트리 데이터 구조에 대해 알아야 할 중요한 점 중 일부입니다. 트리 기반 코딩 문제를 해결하는 데 도움이됩니다. 바이너리 트리 및 기타 데이터 구조에 대해 더 자세히 알고 싶다면 데이터 구조 및 알고리즘과 같은 좋은 데이터 구조 및 알고리즘 과정에 참여하는 것이 좋습니다.

40+ 자바 프로그래머를위한 이진 트리 인터뷰 질문

더 이상 시간을 낭비하지 않고 프로그래밍 면접에서 얻은 이진 트리 및 이진 검색 트리 기반 코딩 문제의 목록이 있습니다. 나는 가능한 곳 솔루션에 연결했지만 링크가없는 경우,당신은 또한 단지 구글 검색을 수행하여 솔루션을 찾을 수 있습니다. 그들은 매우 인기있는 질문이며 많은 사람들이 이미 해결했습니다.
이 목록을 최대한 활용하려면,당신의 마음이 작동 만 다음 솔루션을 조사하기 전에 문제를 해결하려고 당신은 도전에 직면하고 이해를 통합합니다. 즉시 솔루션을 보면,당신은 단지 10%를 배울 수 있지만 당신이 시도하면 각 질문 뒤에 개념과 트릭의 80~90%를 배울 것입니다.
1)자바에서 이진 트리의 가장 낮은 공통 조상을 어떻게 찾을 수 있습니까? (솔루션)
2)자바에서 이진 트리의 왼쪽 뷰를 어떻게 인쇄합니까? (솔루션)
3)자바 순회 및 선주문 순회에서 트리를 구성하는 프로그램을 작성 하시겠습니까? (솔루션)
4)자바의 두 이진 검색 트리에 공통 노드를 어떻게 인쇄합니까? (솔루션)
5)우선 순위 큐를 구현하기 위해 이진 힙이 더 나은 선택 인 이유는 무엇입니까? (답변)
6)주어진 이진 트리가 균형을 이루고 있는지 여부를 어떻게 확인합니까? 이진 트리를 수용하고 그렇지 않으면 균형 또는 거짓 인 경우 참 반환 자바 방법을 작성합니다. (솔루션)
7)해시 테이블 데이터 구조에 대한 이진 검색 트리의 장점은 무엇입니까? (답변)
8)주어진 이진 트리가 다른 이진 트리의 하위 트리인지 어떻게 확인합니까? (해결책)

두 개의 이진 트리를 제공했으며 첫 번째 이진 트리가 두 번째 이진 트리의 하위 트리 인 경우 참 을 반환해야합니다. 이진 트리의 하위 트리 비티 이다 트리 티…에서 노드 비티 그리고 모든 그 자손. 9)이진 트리에서 두 노드 사이의 거리를 어떻게 찾을 수 있습니까? (해결책)
10)자바의 이진 트리에서 가장 낮은 공통 조상을 찾는 방법은 무엇입니까? (해결책)
11)주어진 이진 트리의 모든 잎이 같은 수준에 있는지 확인하기 위해 자바 프로그램을 작성 하시겠습니까? (솔루션)
12)주어진 이진 트리를 자바에서 두 번 연결된 목록으로 어떻게 변환합니까? (해결책)
13)자바에서 주어진 이진 트리의 깊이를 찾는 프로그램을 작성 하시겠습니까? (솔루션)
14)이진 검색 트리와 이진 검색 트리의 차이점은 무엇입니까? (답변)
15)자기 균형 나무 란 무엇입니까? (답변)
16)이 나무는 무엇입니까? (답변)
17)이진 검색 트리의 선주문 순회를 인쇄하는 자바 프로그램을 작성 하시겠습니까? 반복과 재귀를 모두 사용하여 솔루션을 제공 하시겠습니까? (솔루션)
18)주문 후 순회를 인쇄 하시겠습니까? 반복 및 재귀 알고리즘 제공(솔루션)
19)자바에서 서머 타임 순회를 인쇄 하시겠습니까? 반복 알고리즘과 재귀 알고리즘 모두 제공(솔루션)
20)두 개의 노드가 교환되는 곳을 지정 했습니까? 어떻게 원래 태평양 표준시를 복구 할 수 있습니까? (솔루션)
21)이진 트리를 자바의 이진 검색 트리로 어떻게 변환합니까? (해결책)
22)자바에서 주어진 이진 트리의 가장 큰 하위 트리를 찾으십니까? (솔루션)
23)이진 트리와 동일한 수준의 노드를 연결하는 자바 프로그램을 작성 하시겠습니까? (솔루션)
24)트라이 데이터 구조 란 무엇입니까? (답변)
25)이진 트리와 트라이의 차이점은 무엇입니까? (답변)
26)자바에서 이진 트리의 주어진 노드의 조상을 인쇄 하시겠습니까? (솔루션)
27)이진 트리에서 주어진 노드의 레벨을 인쇄하는 자바 프로그램을 작성 하시겠습니까? (해결책)
28)자바에서 주어진 두 개의 공통 노드를 인쇄합니까? (해결책)
29)이진 트리를 제공하고 자바에서 모든 루트-투-리프 경로를 인쇄합니까? (솔루션)
30)자바에서 재귀없이 주문 트리 순회를 인쇄 하시겠습니까? (솔루션)
31)자바에서 재귀 및 스택없이 사전 주문 트리 순회를 인쇄합니까? (솔루션)
32)자바에서 재귀없이 포스트 더 트리 순회를 인쇄합니까? (해결책)
33)주어진 이진 트리가 서머 타임인지 아닌지를 확인하는 자바 프로그램? (솔루션)
34)이진 트리에서 리프 노드를 계산하는 자바 프로그램을 작성 하시겠습니까? (해결책)
35)이진 트리의 높이 또는 깊이를 찾기 위해 자바 프로그램을 작성 하시겠습니까? (해결책)
36)주어진 두 개의 이진 트리가 같은 경우 어떻게 찾을 수 있습니까? (솔루션)
그렇지 않으면 거짓 반환,두 개의 이진 트리를 받아 그들이 같은 경우 참 반환 자바에서 방법을 작성합니다.
37)자바의 이진 검색 트리에서 주어진 노드를 어떻게 삭제합니까? (솔루션)
38)이진 검색 트리에 주어진 노드를 추가하는 자바 함수를 작성 하시겠습니까? (솔루션)
39)자바에서 수직 순서로 이진 트리를 인쇄 하시겠습니까? (해결책)
40)빨강-검정 트리 데이터 구조는 무엇입니까? (답변)
답변-빨강-검정 트리는 모든 노드가 다음 속성을 갖는 자체 균형 이진 검색 트리입니다.
나무의 뿌리는 항상 검은 색이다.
다)인접한 두 개의 빨간색 노드가 없습니다(빨간색 노드는 빨간색 부모 또는 빨간색 자식을 가질 수 없습니다).
디)루트에서 널 노드까지의 모든 경로는 동일한 수의 검은 색 노드를가집니다.
당신은 또한 자바에서 데이터 구조를 확인할 수 있습니다:레드 블랙 트리 데이터 구조에 대한 자세한 내용은 교육적인 인터뷰 재교육 과정.

프로그래머를위한 상위 40 개의 이진 트리 코딩 인터뷰 질문

이 모든 것이 프로그래밍 인터뷰에서 얻은 상위 40 개의 이진 트리 및 이진 검색 트리 기반 코딩 문제 목록에 있습니다. 이 솔루션은 자바 프로그래밍 언어로 제공되지만,당신은 파이썬,기음,기음++,자바 스크립트,루비,또는 스위프트 같은 당신의 선택의 프로그래밍 언어에 이러한 질문을 해결하기 위해 오신 것을 환영합니다. 커뮤니티가 솔루션을 검토하고 유용한 피드백을 제공할 수 있도록 댓글 섹션에 솔루션을 게시할 수도 있습니다.
코딩 인터뷰에 대한 모든 최고의.
추가 학습
11 필수 코딩 면접 질문.
코딩 인터뷰 마스터:데이터 구조+알고리즘
코딩 인터뷰 그로킹: 코딩 질문에 대한 패턴
기타 코딩 인터뷰 질문 리터 당신은

  • 자바에서 삽입 정렬 알고리즘을 구현하는 방법을 좋아할 것입니다. (튜토리얼)
  • 어떻게 자바 장소에 퀵 정렬 알고리즘을 적용? (튜토리얼)
  • 자바에서 버블 정렬 알고리즘을 구현하는 방법은 무엇입니까? (튜토리얼)
  • 비교와 비 비교 기반 정렬 알고리즘의 차이점은 무엇입니까? (답변)
  • 자바에서 버킷 정렬을 적용하는 방법? (자습서)
  • 재귀없이 퀵 정렬 알고리즘을 구현하는 방법은 무엇입니까? (튜토리얼)
  • 자바에서 이진 검색 알고리즘을 수행하는 방법? (자습서)
  • 합계가 케이(솔루션)와 같은 배열의 모든 쌍을 찾는 방법
  • 자바 배열에서 중복을 제거하는 방법은 무엇입니까? (솔루션)
  • 정렬하지 않고 배열에서 가장 중요하고 가장 작은 숫자를 찾는 방법은 무엇입니까? (솔루션)
  • 자바에서 정렬되지 않은 배열에서 중복을 찾는 방법은 무엇입니까? (솔루션)
  • 정렬 된 배열에서 누락 된 번호 하나를 찾는 방법은 무엇입니까? (솔루션)
  • 1 에서 100 을 포함하는 배열에서 누락 된 값을 찾는 방법은 무엇입니까? (솔루션)
  • 50+데이터 구조 및 알고리즘 인터뷰 문제(질문)
  • 내가 가장 좋아하는 무료 과정은 심층 데이터 구조를 배울 수(프리 코드 캠프)
  • 어떻게 자바의 배열에서 요소를 제거하는 방법? (솔루션)
  • 배열에 특정 값이 포함되어 있는지 확인하는 방법은 무엇입니까? (해결책)
  • 10 프로그래머를위한 무료 데이터 구조 및 알고리즘 강좌(강좌)
  • 100+인터뷰 데이터 구조 코딩 문제(질문)

이 기사를 읽어 주셔서 감사합니다. 이 문서를 좋아하는 경우에,당신의 친구 및 동료들과 공유하시기 바랍니다. 질문이나 의견이 있으면,다음 메모를 삭제하시기 바랍니다.
추신-데이터 구조 및 알고리즘에 대한 이해를 향상시키기 위해 몇 가지 무료 알고리즘 과정을 찾고 있다면,당신은 또한 고급 데이터 구조에 쉬운 과정을 확인해야합니다. 그것은 구글 소프트웨어 엔지니어 및 알고리즘 전문가에 의해 작성,그리고 비용은 완전 무료입니다.

You might also like

답글 남기기

이메일 주소는 공개되지 않습니다.