상위 17개 연결 목록 인터뷰 질문 및 답변

꿈의 직업을 얻기 위한 신입생과 경력 지원자를 위한 Linked List 인터뷰 질문과 답변은 다음과 같습니다.


1) 연결리스트(Linked List)가 무엇인지 언급하세요.

연결된 목록은 항목 모음을 저장할 수 있는 데이터 구조입니다. 즉, 연결된 목록을 사용하여 동일한 유형의 여러 개체를 저장할 수 있습니다. 목록의 각 단위나 요소를 노드라고 합니다. 각 노드에는 자체 데이터와 다음 노드의 주소가 있습니다. 그것은 사슬과 같습니다. 연결된 목록은 그래프와 트리를 만드는 데 사용됩니다.

무료 PDF 다운로드: 연결 목록 인터뷰 질문 및 답변


2) 연결 목록에는 어떤 유형의 메모리 할당이 참조됩니까?

연결 목록에는 동적 메모리 할당이 참조됩니다.


3) 연결리스트의 순회란 무엇인지 언급하세요.

Term Traversal은 목록의 각 요소를 처리하는 작업을 참조하는 데 사용됩니다.


4) 링크리스트의 Node가 무엇인지 설명해주세요. 연결 목록의 유형은 무엇입니까?

(데이터 + 링크)를 합쳐서 노드라고 합니다. 연결리스트의 종류는 다음과 같습니다.

  • 단일 연결 목록
  • 이중 연결 목록
  • 연결리스트 곱하기
  • 순환 연결 목록

5) 단일 연결 목록이 무엇인지 언급하세요.

단일 연결 목록은 일종의 데이터 구조. 단일 연결 목록에서 목록의 각 노드는 노드의 내용과 목록의 다음 노드에 대한 참조 또는 포인터를 저장합니다. 이전 노드에 대한 참조나 포인터를 저장하지 않습니다.

연결 목록 인터뷰 질문
연결 목록 인터뷰 질문

6) 선형과 선형의 차이점이 무엇인지 언급하세요. 배열 그리고 연결리스트?

선형 배열과 연결 목록의 차이점은 다음과 같습니다.

선형 배열 연결된 목록
삭제와 삽입이 어렵습니다. 삭제와 삽입을 쉽게 할 수 있습니다.
삽입과 삭제를 위해서는 움직임이 필요합니다. 삽입 및 삭제를 위해 노드 이동이 필요하지 않습니다.
그 공간은 낭비된다 그 공간은 낭비되지 않습니다
비쌉니다 비싸지 않아요
요구 사항에 따라 축소 또는 확장할 수 없습니다. 요구사항에 따라 축소 또는 확장 가능
각 요소를 이용하려면 동일한 시간이 필요합니다. 각 요소를 이용하려면 서로 다른 시간이 필요합니다.
연속적인 메모리 위치에는 요소가 저장됩니다. 요소는 연속적인 메모리 위치에 저장될 수도 있고 저장되지 않을 수도 있습니다.
특정 요소로 이동해야 하는 경우 해당 위치에 직접 도달할 수 있습니다. 특정 노드에 도달하려면 해당 노드 이전에 오는 모든 노드를 통과해야 합니다.

7) 연결리스트의 응용이 무엇인지 언급하세요.

연결리스트의 응용은,

  • 연결리스트는 큐, 스택, 그래프 등을 구현하는 데 사용됩니다.
  • 연결 목록에서는 크기를 미리 알 필요가 없습니다.
  • 연결된 목록을 사용하면 목록의 시작과 끝 부분에 요소를 삽입할 수 있습니다.

8) 연결리스트의 더미 헤더에는 무엇이 들어있나요?

연결리스트에서 더미 헤더에는 실제 데이터의 첫 번째 레코드가 포함됩니다.


9) 단일 연결 리스트의 시작 부분에 데이터를 삽입하는 단계를 언급해 주시겠습니까?

단일 연결 리스트의 시작 부분에 데이터를 삽입하는 단계는 다음과 같습니다.

  • 새 노드 만들기
  • 새 노드의 다음 포인터에 헤드 포인터를 할당하여 새 노드를 삽입합니다.
  • 새 노드의 지점으로 헤드 포인터를 업데이트합니다.
Node *head;

void InsertNodeAtFront(int data)

{

/* 1. create the new node*/

Node *temp = new Node;

temp->data = data;

/* 2. insert it at the first position*/

temp->next = head;

/* 3. update the head to point to this new node*/

head = temp;

}

10) 단일 연결 목록과 이중 연결 목록의 차이점은 무엇입니까?

이중 연결 리스트 노드에는 세 개의 필드가 포함됩니다.

  • 정수 값 및
  • 다른 노드에 대한 두 개의 링크
  • 하나는 이전 노드를 가리키고
  • other는 다음 노드를 가리킵니다.

반면 단일 연결 리스트에는 다음 노드에 대한 포인트만 포함됩니다.


11) 연결 목록을 사용하는 애플리케이션이 무엇인지 언급해 주세요.

큐와 스택은 모두 연결된 목록을 사용하여 구현되는 경우가 많습니다. 다른 응용 프로그램으로는 목록, 이진 트리, 건너뛰기, 펼쳐진 연결 목록, 해시 테이블 등이 있습니다.


12) 목록의 시작 부분에 항목을 추가하는 방법을 설명해주세요.

목록의 시작 부분에 항목을 추가하려면 다음을 수행해야 합니다.

  • 새 항목을 만들고 값을 설정하세요.
  • 목록의 선두를 가리키도록 새 항목을 연결합니다.
  • 목록의 선두를 새 항목으로 설정합니다.

이 작업을 수행하기 위해 함수를 사용하는 경우 head 변수를 변경해야 합니다. 이렇게 하려면 포인터 변수에 대한 포인터(이중 포인터)를 전달해야 합니다. 따라서 포인터 자체를 수정할 수 있습니다.


13) 연결리스트의 가장 큰 장점은 무엇인지 말해 보세요.

연결 목록의 가장 큰 장점은 목록에 고정된 크기를 지정하지 않는다는 것입니다. 체인에 더 많은 요소를 추가할수록 체인이 더 커집니다.


14) 단일 연결 리스트에서 첫 번째 노드를 삭제하는 방법에 대해 언급해 주세요.

단일 연결 리스트의 첫 번째 노드를 삭제하려면

  • 현재 시작을 다른 임시 포인터에 저장
  • 시작 포인터를 한 위치 앞으로 이동
  • 시작 포인터의 업데이트된 버전이 있으므로 임시 삭제(예: 이전 시작 노드)

15) 단일 연결 목록을 처음부터 마지막까지 표시하는 방법을 언급하세요.

단일 연결 목록을 처음부터 끝까지 표시하려면

  • create()를 사용하여 연결리스트를 생성합니다.
  • 전역 변수 "start" 내에 저장된 주소를 변경할 수 없으므로 하나의 임시 변수(노드 유형의 "temp")를 선언해야 합니다.
  • 처음부터 끝까지 이동하려면 포인터 변수 즉 temp에 시작 ​​노드의 주소를 할당해야 합니다.
struct node *temp;  //Declare temp

temp = start;       //Assign Starting Address to temp

온도가 NULL이면 마지막 노드에 도달했다고 말할 수 있습니다.

while(temp!=NULL)

{

printf("%d",temp->data);

temp=temp->next;

}

16) 무료 노드를 사용할 수 있는 연결 목록에 새 노드를 삽입하는 방법을 언급해 주세요.

연결 목록에 새 노드를 삽입하려면 무료 노드를 Avail 목록에서 사용할 수 있습니다.


17) 어떤 헤더 목록에 대해 언급하면 ​​마지막 노드에 널 포인터가 포함되어 있음을 알 수 있습니까?

고정 헤더 목록의 경우 마지막 노드에 널 포인터가 포함되어 있음을 알 수 있습니다.

이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.

공유

댓글 6

  1. 화신 sameer 말한다 :

    정말 좋은 질문이네요 ..........................

  2. 화신 암리타 말한다 :

    정말 도움이 되네요 감사합니다

  3. 화신 사라 말한다 :

    이 문제를 어떻게 해결할 수 있나요?
    (더미 헤드 노드가 있는 연결 리스트)
    두 개의 연결된 목록 L1과 L2가 주어지면 ADT 연결 목록을 사용하여 L2의 마지막 요소에서 세 번째 요소 뒤에 L1를 삽입하는 의사 언어 절차를 결정합니다.

    L1이 1-2-3-4-5-6-7-8-9이고 L2가 1-1-1인 경우

    The result is 1-2-3-4-5-6-7-1-1-1-8-9

    1. 화신 무하나드 샤마스네 말한다 :

      먼저 두 개의 포인터를 사용하여 L1을 탐색해야 합니다.
      포인터1 – 머리에서 한 걸음.
      포인터2 - 머리에서 3걸음.
      동안(pointer2.next!=null){
      포인터2 = 포인터2.next;
      포인터1 = 포인터1.next;
      }
      // 이제 마지막 노드에서 세 번째 노드를 가리키는 포인터 1을 갖게 됩니다.
      온도 = 포인터1.다음
      포인터1.next = L2;
      마지막 요소를 얻기 위해 끝까지 traversL2->
      LastElementOfL2.Next = 임시;
      ...

  4. 화신 요한 복음 말한다 :

    아주 좋아요

댓글을 남겨주세요.

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *