লিঙ্কড লিস্টের ধারণা এবং প্রকারভেদ

লিঙ্কড লিস্ট (Linked List in C) - সি দিয়ে ডেটা স্ট্রাকচার (DSA using C) - Computer Programming

363

লিঙ্কড লিস্ট হল একটি ডেটা স্ট্রাকচার যা ডেটার উপাদানগুলোকে (নোড) একত্রে সংযুক্ত করে রাখে। প্রতিটি নোডে একটি মান (ডেটা) এবং পরবর্তী নোডের পয়েন্টার (ঠিকানা) থাকে। এটি অ্যারের থেকে ভিন্ন, কারণ এতে পূর্বনির্ধারিত সাইজের প্রয়োজন হয় না এবং এটি ডাইনামিকভাবে মেমরি বরাদ্দ করতে সক্ষম।

লিঙ্কড লিস্ট ব্যবহার করে বিভিন্ন ধরনের ডেটা সংগঠনের কৌশল তৈরি করা হয়। নিচে লিঙ্কড লিস্টের ধারণা এবং এর প্রকারভেদ বিস্তারিতভাবে আলোচনা করা হলো।


১. লিঙ্কড লিস্টের ধারণা

লিঙ্কড লিস্টে প্রতিটি উপাদান (নোড) একটি পয়েন্টার ধারণ করে, যা পরবর্তী নোডের ঠিকানাকে নির্দেশ করে। প্রথম নোডটিকে হেড (head) বলা হয়, যা লিঙ্কড লিস্টের শুরুতে অবস্থিত। লিঙ্কড লিস্টের সুবিধা হল এটি ডাইনামিক সাইজিং সমর্থন করে এবং উপাদান যুক্ত বা মুছে ফেলা সহজ।

লিঙ্কড লিস্টের বৈশিষ্ট্য:

  • ডাইনামিক সাইজ: লিঙ্কড লিস্টের সাইজ প্রোগ্রাম চলাকালীন সময়ে পরিবর্তিত হতে পারে।
  • মেমরি ব্যবস্থাপনা: নতুন নোড তৈরি করার সময় মেমরি বরাদ্দ করা হয়, এবং নোড ডিলেট করার সময় মেমরি মুক্ত করা হয়।
  • দ্রুত ইনসার্ট এবং ডিলিট: লিঙ্কড লিস্টে নোড যুক্ত বা মুছে ফেলা অ্যারের তুলনায় দ্রুত হয়, কারণ এটি পুনর্বিন্যাস করতে হয় না।

২. লিঙ্কড লিস্টের প্রকারভেদ

লিঙ্কড লিস্টের বিভিন্ন প্রকার রয়েছে, এবং প্রতিটি প্রকারের নিজস্ব বৈশিষ্ট্য ও প্রয়োগ রয়েছে। প্রধান প্রকারগুলি হলো:

২.১ সিঙ্গল লিঙ্কড লিস্ট (Singly Linked List)

সিঙ্গল লিঙ্কড লিস্ট হল একটি নোডের তালিকা যেখানে প্রতিটি নোড কেবল পরবর্তী নোডের পয়েন্টার ধারণ করে। এর ফলে এটি একমুখী ডেটা প্রবাহ তৈরি করে।

  • নোড স্ট্রাকচার:
struct Node {    int data; // ডেটা অংশ    struct Node* next; // পরবর্তী নোডের পয়েন্টার };

২.২ ডাবল লিঙ্কড লিস্ট (Doubly Linked List)

ডাবল লিঙ্কড লিস্ট হল একটি নোডের তালিকা যেখানে প্রতিটি নোড পূর্ববর্তী এবং পরবর্তী উভয় নোডের পয়েন্টার ধারণ করে। এর ফলে এটি উভমুখী ডেটা প্রবাহ তৈরি করে।

  • নোড স্ট্রাকচার:
struct Node {    int data; // ডেটা অংশ    struct Node* next; // পরবর্তী নোডের পয়েন্টার    struct Node* prev; // পূর্ববর্তী নোডের পয়েন্টার };

২.৩ সার্কুলার লিঙ্কড লিস্ট (Circular Linked List)

সার্কুলার লিঙ্কড লিস্ট হল একটি সিঙ্গল বা ডাবল লিঙ্কড লিস্ট যেখানে শেষ নোডের পরবর্তী পয়েন্টার প্রথম নোডকে নির্দেশ করে। এটি একটি সার্কেলের মতো তৈরি করে।

  • নোড স্ট্রাকচার:
struct Node {    int data; // ডেটা অংশ    struct Node* next; // পরবর্তী নোডের পয়েন্টার };

২.৪ সার্কুলার ডাবল লিঙ্কড লিস্ট (Circular Doubly Linked List)

সার্কুলার ডাবল লিঙ্কড লিস্ট হল একটি ডাবল লিঙ্কড লিস্ট যেখানে শেষ নোডের পরবর্তী পয়েন্টার প্রথম নোড এবং প্রথম নোডের পূর্ববর্তী পয়েন্টার শেষ নোডকে নির্দেশ করে।

  • নোড স্ট্রাকচার:
struct Node {
    int data; // ডেটা অংশ
    struct Node* next; // পরবর্তী নোডের পয়েন্টার
    struct Node* prev; // পূর্ববর্তী নোডের পয়েন্টার
};

Content added By
Promotion

Are you sure to start over?

Loading...