অধ্যায় ৪ঃ লিঙ্কড লিস্টের বৈশিষ্ট্যাবলি

রচনামূলক


উত্তরঃ মনে করি লিস্টে ডাটগুলো সজ্জিত আকারে আছে । Pointer variable, PTR এর প্রতিটি Node এর INFO [PTR] এর সাথে ITEM কে তুলনা করতে হবে । যতক্ষন ITEM INFO[PTR] কে অতিক্রম না করছে ততক্ষন পর্যন্ত সার্চ করতে থাকবে । তবে, ITEM= INFO[PTR] হলেই সার্চ সফল বলে ধরে নেয়া হবে। কাজেই ITEM >INFO [PTR] হলেই সার্চ বন্ধ হবে।

Algorithm: SEARCH (INFO, LINK, START, ITEM, LOC)

এখানে লিস্ট হচ্ছে মেমরীতে Sorted লিস্ট । এই অ্যালগোরিদম নোডের লোকেশন LOC যেখানে প্রথম ITEM কে দেখা যায় তা খুজে বের করা অথবা LOC= NULL নির্ধারণ করা ।

   Step-01: set PTR: = START.
   Step-02: Repeat step 3 while PTR ≠ NULL:
   Step-03: If ITEM < INFO [PTR] then:
   		Set PTR: = LINK [PTR].  [PTR points to next Node]
   	Else if :
   		ITEM= INFO [PTR], Then:
   		Set LOC: = PTR, and Exit. [search is successfull]
   	Else:
	Set LOC:= NULL, and Exit. [ITEM now exceeds INFO[PTR]]
	[End of If stracture]
[End of Step 2 loop]
   Step-04: Set LOC: = NULL
   Step-05: Exit


উত্তরঃ Linked List : ডাইনামিক মেমরি আলকেশন পদ্ধতিতে প্রোগ্রাম এ ব্যবহারিত ডাটার মাঝে একটি সম্পর্ক স্থাপন করা হয় । ডাটার এরুপ সংযুক্তিকে লিঙ্কড লিস্ট বলে।নিচে লিঙ্কড লিস্টে ডাটা ইনসার্ট করার অ্যালগরিদম প্রদান করা হলঃ

মনে করি আমরা যে লিঙ্কড লিস্টে ডাটা সংযুক্ত করতে যাচ্ছি তা সজ্জিত নয়। তাহ্লে লিস্ট এর বিশেষ স্থানে নতুন নোড সংযোযজনের কারণ নেই । লিস্ট এর সুরুতে খুব সহজে নোড সংযোজন করা যায় । অ্যালগরিদম টি ধাপে ধাপে নিচে দেখানো হল ।

Step -01:  [ Overfollow? ] if AVAIL= NULL, then Write: Overflow and Exit.
Step -02: [ Remove the first Node From AVAIL List ]
		Set NEW:= AVAIL and AVAIL and AVAIL:= LINK[AVAIL]
Step -03: set INFO[ NEW ]: = ITEM. [copy new data into new node]
Step -04:  set LINK[ NEW ] : = START. [Change Start so it Points to the New  Node ]
Step -05:  set START: =NEW. [change start so it points to the new node]
Step-06: END