คำถามและคำตอบสัมภาษณ์รายการเชื่อมโยง 17 อันดับแรก

ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์ใน Linked List สำหรับนักศึกษาใหม่และผู้สมัครที่มีประสบการณ์เพื่อให้ได้งานในฝัน

1) พูดถึงรายการที่เชื่อมโยงคืออะไร?

รายการที่เชื่อมโยงคือโครงสร้างข้อมูลที่สามารถจัดเก็บคอลเลกชันของรายการได้ กล่าวอีกนัยหนึ่ง รายการลิงก์สามารถใช้เพื่อจัดเก็บออบเจ็กต์ประเภทเดียวกันหลายรายการได้ แต่ละหน่วยหรือองค์ประกอบของรายการเรียกว่าโหนด แต่ละโหนดมีข้อมูลของตัวเองและที่อยู่ของโหนดถัดไป มันก็เหมือนโซ่ รายการที่เชื่อมโยงใช้ในการสร้างกราฟและต้นไม้

ดาวน์โหลดไฟล์ PDF ฟรี: รายการลิงค์คำถามและคำตอบสัมภาษณ์


2) การจัดสรรหน่วยความจำประเภทใดที่อ้างถึงสำหรับรายการที่เชื่อมโยง

การจัดสรรหน่วยความจำแบบไดนามิกมีการอ้างอิงถึงรายการที่เชื่อมโยง


3) พูดถึงการแวะผ่านในรายการที่เชื่อมโยงคืออะไร?

Term Traversal ใช้เพื่ออ้างอิงการดำเนินการประมวลผลแต่ละองค์ประกอบในรายการ


4) อธิบายว่า Node ในรายการลิงก์คืออะไร และตั้งชื่อประเภทของ Linked Lists อย่างไร?

ร่วมกัน (ข้อมูล + ลิงค์) เรียกว่าโหนด ประเภทของ Linked List ได้แก่

  • รายการที่เชื่อมโยงเพียงรายการเดียว
  • รายการที่เชื่อมโยงเป็นสองเท่า
  • ทวีคูณรายการที่เชื่อมโยง
  • รายการที่เชื่อมโยงแบบวงกลม

5) พูดถึง Singly Linked list คืออะไร?

Singlely Linked list เป็นประเภทของ โครงสร้างข้อมูลในรายการที่เชื่อมโยงแบบเดี่ยว โหนดแต่ละโหนดในรายการจะจัดเก็บเนื้อหาของโหนดและการอ้างอิงหรือตัวชี้ไปยังโหนดถัดไปในรายการ โดยจะไม่จัดเก็บการอ้างอิงหรือตัวชี้ไปยังโหนดก่อนหน้า

คำถามสัมภาษณ์รายการลิงค์
คำถามสัมภาษณ์รายการลิงค์

6) พูดถึงความแตกต่างระหว่างเชิงเส้นคืออะไร แถว และรายการที่เชื่อมโยง?

ความแตกต่างระหว่าง Linear Array และ Linked List แสดงไว้ด้านล่าง

อาร์เรย์เป็น Linear รายการที่เชื่อมโยง
การลบและการแทรกทำได้ยาก การลบและการแทรกสามารถทำได้อย่างง่ายดาย
ในการแทรกและการลบ จำเป็นต้องมีการเคลื่อนไหว สำหรับการแทรกและการลบ ไม่จำเป็นต้องมีการเคลื่อนย้ายโหนด
ในนั้นเปลืองพื้นที่ พื้นที่ในนั้นไม่สูญเปล่า
มันแพง มันไม่แพง
ไม่สามารถลดหรือขยายได้ตามความต้องการ สามารถลดหรือขยายได้ตามความต้องการ
เพื่อประโยชน์ของแต่ละองค์ประกอบต้องใช้เวลาเท่ากัน เพื่อประโยชน์ของแต่ละองค์ประกอบต้องใช้เวลาต่างกัน
องค์ประกอบตำแหน่งหน่วยความจำที่ต่อเนื่องกันจะถูกจัดเก็บไว้ องค์ประกอบอาจหรืออาจจะไม่ถูกจัดเก็บไว้ในตำแหน่งหน่วยความจำต่อเนื่องกัน
เราสามารถเข้าถึงที่นั่นได้โดยตรงหากเราต้องไปที่องค์ประกอบใดองค์ประกอบหนึ่ง ในการเข้าถึงโหนดใดโหนดหนึ่ง คุณจะต้องผ่านโหนดทั้งหมดที่มาก่อนโหนดนั้น

7) กล่าวถึงการใช้งานของ Linked Lists คืออะไร?

การใช้งานของ Linked List คือ

  • รายการที่เชื่อมโยงจะใช้ในการสร้างคิว สแต็ค กราฟ ฯลฯ
  • ใน Linked Lists คุณไม่จำเป็นต้องทราบขนาดล่วงหน้า
  • รายการที่เชื่อมโยงช่วยให้คุณสามารถแทรกองค์ประกอบที่จุดเริ่มต้นและจุดสิ้นสุดของรายการได้

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) พูดถึงความแตกต่างระหว่างรายการเชื่อมโยงเดี่ยวและรายการเชื่อมโยงคู่คืออะไร?

โหนดรายการที่เชื่อมโยงแบบทวีคูณประกอบด้วยสามฟิลด์:

  • ค่าจำนวนเต็มและ
  • สองลิงก์ไปยังโหนดอื่น
  • อันหนึ่งเพื่อชี้ไปที่โหนดก่อนหน้าและ
  • อื่นๆ เพื่อชี้ไปยังโหนดถัดไป

ในขณะที่รายการเชื่อมโยงเดี่ยวมีจุดไปยังโหนดถัดไปเท่านั้น


11) พูดถึงแอปพลิเคชันใดบ้างที่ใช้รายการเชื่อมโยง?

ทั้งคิวและสแต็กมักจะใช้งานโดยใช้รายการลิงก์ แอปพลิเคชันอื่นๆ ได้แก่ รายการ ต้นไม้ไบนารี สคิป รายการลิงก์ที่คลี่ออก ตารางแฮช เป็นต้น


12) อธิบายวิธีการเพิ่มรายการไปที่จุดเริ่มต้นของรายการ?

หากต้องการเพิ่มรายการไปที่จุดเริ่มต้นของรายการ คุณต้องดำเนินการดังต่อไปนี้:

  • สร้างรายการใหม่และตั้งค่าของมัน
  • เชื่อมโยงรายการใหม่เพื่อชี้ไปที่ส่วนหัวของรายการ
  • ตั้งส่วนหัวของรายการให้เป็นรายการใหม่ของเรา

หากคุณใช้ฟังก์ชันในการดำเนินการนี้ คุณจะต้องแก้ไขตัวแปร head เมื่อต้องการทำเช่นนี้ คุณต้องส่งตัวชี้ไปยังตัวแปรตัวชี้ (ตัวชี้คู่) ดังนั้นคุณจะสามารถแก้ไขตัวชี้ได้เอง


13) กล่าวถึงข้อได้เปรียบที่ใหญ่ที่สุดของรายการที่เชื่อมโยงคืออะไร?

ประโยชน์สูงสุดของรายการที่เชื่อมโยงคือ คุณไม่ได้ระบุขนาดคงที่สำหรับรายการของคุณ ยิ่งคุณเพิ่มองค์ประกอบลงในห่วงโซ่มากเท่าไร ห่วงโซ่ก็จะยิ่งใหญ่ขึ้นเท่านั้น


14) พูดถึงวิธีการลบโหนดแรกออกจากรายการที่เชื่อมโยงโดยลำพัง?

หากต้องการลบโหนดแรกออกจากรายการเชื่อมโยงเดี่ยว

  • จัดเก็บการเริ่มต้นปัจจุบันในตัวชี้ชั่วคราวอื่น
  • เลื่อนตัวชี้เริ่มไปข้างหน้าหนึ่งตำแหน่ง
  • ลบ temp เช่น โหนดเริ่มต้นก่อนหน้า เนื่องจากเราได้อัปเดตเวอร์ชันของ Start Pointer แล้ว

15) พูดถึงวิธีการแสดงรายการที่เชื่อมโยงเดี่ยวจากรายการแรกไปรายการสุดท้าย?

หากต้องการแสดงรายการลิงค์เดี่ยวจากรายการแรกไปรายการสุดท้าย

  • สร้างรายการเชื่อมโยงโดยใช้ create()
  • คุณไม่สามารถเปลี่ยนที่อยู่ที่เก็บไว้ในตัวแปรส่วนกลาง "เริ่มต้น" ดังนั้นคุณต้องประกาศตัวแปรชั่วคราวหนึ่งตัว - "temp" ของโหนดประเภท
  • หากต้องการสำรวจตั้งแต่ต้นจนจบ คุณควรจัดสรรที่อยู่ของโหนดเริ่มต้นในตัวแปร Pointer เช่น 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) พูดถึงวิธีการแทรกโหนดใหม่ในรายการที่เชื่อมโยงซึ่งจะมีโหนดว่างให้ใช้งานได้?

หากต้องการแทรกโหนดใหม่ในรายการที่เชื่อมโยง โหนดอิสระจะพร้อมใช้งานในรายการความพร้อม


17) เมื่อกล่าวถึงรายการส่วนหัวใด คุณจะพบว่าโหนดสุดท้ายมีตัวชี้ว่าง

สำหรับรายการส่วนหัวที่มีการต่อสายดินคุณจะพบว่าโหนดสุดท้ายมีตัวชี้ว่าง

คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)

Share

6 คอมเมนต์

  1. รูปโพรไฟล์ อาเบล พูดว่า:

    ดีมาก

  2. รูปโพรไฟล์ sameer พูดว่า:

    มันเป็นคำถามที่ดีทีเดียว………………

  3. รูปโพรไฟล์ อมฤธา พูดว่า:

    มันช่วยฉันได้มากขอบคุณ

  4. รูปโพรไฟล์ ซาร่าห์ พูดว่า:

    ได้โปรดฉันจะแก้ไขปัญหานี้ได้อย่างไร
    (รายการที่เชื่อมโยงกับโหนดหัวจำลอง)
    ให้สองรายการที่เชื่อมโยง 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 ก่อนโดยใช้พอยน์เตอร์สองตัว:
      pointer1 – ห่างจากศีรษะหนึ่งก้าว
      pointer2 – 3 ก้าวจากศีรษะ
      ในขณะที่ (pointer2.next!=null){
      ตัวชี้2 = ตัวชี้2.ถัดไป;
      ตัวชี้1 = ตัวชี้1.ถัดไป;
      }
      // ตอนนี้คุณจะมีพอยน์เตอร์ 1 ชี้ไปที่โหนดที่ 3 จากจุดสุดท้าย
      อุณหภูมิ = pointer1.next
      pointer1.next = L2;
      traversL2 ไปยังจุดสิ้นสุดเพื่อรับองค์ประกอบสุดท้าย ->
      LastElementOfL2.Next = อุณหภูมิ;
      ...

  5. รูปโพรไฟล์ จอห์น พูดว่า:

    ดีมาก

เขียนความเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมาย *