Patrocinado

ডেপথ ফার্স্ট সার্চ অ্যালগরিদম - Depth-First Search

0
2

ব্রেডথ ফার্স্ট সার্চ অ্যালগরিদমে আমরা একটা নডের পরবর্তী লেভেলের যত গুলো নড রয়েছে, সব গুলো ভিজিট করেছি আগে। ডেপথ ফার্স্ট সার্চে হবে উল্টোটা। একটা নড থেকে পরের নডে, পরের নড থেকে পরের নডে এভাবে নিচের দিকের নড গুলো ভিজিট করবে প্রথমে।

নিচের অ্যানিমেশনটা দেখি, ডেপথ ফার্স্ট সার্চ কিভাবে হয়, তার ভিজুয়াল চিত্রঃ

image_proxy.php?url=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F7%2F7f%2FDepth-First-Search.gifডেপথ ফার্স্ট সার্চ কিভাবে হয়, তার ভিজুয়াল চিত্র। সোর্সঃ উইকিপিডিয়া
ডেপথ ফার্স্ট সার্চ করার জন্য আমরা ব্যবহার করি Stack ডেটা স্ট্র্যাকচার। Stack হচ্ছে Last In First Out ডেটা স্ট্রাকচার। আনফেয়ার ডেটা স্ট্রাকচারও বলতে পারেন। স্ট্যাকের উদাহরণ হচ্ছে খাবারের প্লেট গুলো। প্লেট যেটা সবার আগে রাখা হয়, সেটা থাকে সবার নিচে। যেটা একবারে শেষে রাখা হয়, সেটা থাকে সবার উপরে। এবং আমরা সাধারনত সবার উপরেরটাই সবার আগে নেই।

Depth-First Search Traversal:
আমরা নিচের গ্রাফটি ডেপথ ফার্স্ট সার্চ অ্যালগরিদমের সাহায্যে ভ্রমন করব।
simple-graph-depth-first-search

এ জন্য প্রথমে আমরা রুট নড বা ইনিশিয়াল নড দিয়ে শুরু করব। যেমন 1 হচ্ছে আমাদের রুট নড। এটাকে স্ট্যাকে ঢুকাবো। তাহলে স্ট্যাকে থাকে শুধু 1।

দেখব এক থেকে এর পর যাওয়া যায় 2 তে। স্ট্যাকে 2 ঢুকাবো। 2 থেকে যাওয়া যায় 3 এ। স্ট্যাকে 3 ঢুকাবো। 3 থেকে যাওয়া যায় 4 এ। স্ট্যাকে 4 ঢুকাবো। 4 থেকে আর কোথাও যাওয়া যায় না। স্ট্যাকে থাকবে 1,2,3,4।

চার থেকে যেহেতু আর কোথাও যাওয়া যায় না, আমরা 4 কে স্ট্যাক থেকে বের করব। বের করে ভিজিটেড লিস্টে রাখব। এখন স্ট্যাকের সবার উপরে থাকবে 3। 3 থেকে দেখব কোথায় যাওয়া যায়। 3 থেকে চার এ যাওয়া যায়। 4 আমাদের ভিজিটেড লিস্টে রয়েছে। তাই 4 এ আর ভিজিট করব না। এ ছাড়া 3 থেকে আর কোথাও যাওয়া যায়? যায় না। তাহলে 3 স্ট্যাক থেকে রিমুভ করব। এবং 3 কে ভিজিটেড লিস্টে রাখব। তাহলে স্ট্যাকে থাকবে 1,2।

এখন স্ট্যাকে সবার উপরে যেহেতু 2 থাকবে, আমরা দেখব দুই থেকে প্রথমে কোথায় যাওয়া যায়। দেখব 3 এ যাওয়া যায়। 3 এ আমরা এর আগে একবার গিয়েছি। তাই 3 ছাড়া দেখব আর কোথায় যাওয়া যায়। আর কোথাও যাওয়া যায় না। তাহলে 2কে স্ট্যাক থেকে রিমুভ করব এবং ভিজিটেড লিস্টে রাখব। স্ট্যাকে এখন রয়েছে শুধু 1।

1 থেকে সবার আগে কোথায় যাওয়া যায়? 2 এ। 2 আমরা ভিজিট করেছি। এরপর যাওয়া যায় 5 এ। তাহলে 5 কে স্ট্যাকে ঢুকাবো। 5 থেকে এরপর আগে যাওয়া যায় 6 এ। 6 কে স্ট্যাকে ঢুকাবো। 6 থেকে যাওয়া যায় 7 এ। 7 কে স্ট্যাকে ঢুকাবো। 7 থেকে আর কোথাও যাওয়া যায় না। যেহেতু 7 থেকে আর কোথাও যাওয়া যায় না, তাই আমরা 7 কে স্ট্যাক থেকে রিমুভ করব এবং ভিজিটেড লিস্টে রাখব। তাহলে আমাদের স্ট্যাকে এখন থাকবেঃ 1,5,6

স্ট্যাকের এখন সবার উপরে থাকবে 6। 6 থেকে যেহেতু আর কোথাও যাওয়া যায় না, আমরা 6 কে স্ট্যাক থেকে রিমুভ করব এবং ভিজিটেড লিস্টে রাখব। এখন স্ট্যাকে থাকবে 1,5।

5 ভিজিট করে দেখব 5 থেকে আর কোথাও যাওয়া যায়? হ্যা, যাওয়া যায়। 5 থেকে 6 এ যাওয়া যায়। কিন্তু 6 আমরা একবার ভিজিট করেছি। এরপর আর যাওয়া যায়? হ্যা, 5 থেকে এরপর 8 এ যাওয়া যায়। তাহলে আমরা স্ট্যাকে 8 ঢুকাবো। এখন স্ট্যাকে থাকবে 1,5,8। এভাবে এরপরের নড গুলো আমরা ভিজিট করব।

ডেপথ ফার্স্ট সার্চ এর ব্যবহারঃ সাধারণত সার্চিং এবং সর্টিং যেমন টপোলজিক্যাল সর্টে ডেপট ফার্স্ট সার্চ ব্যবহার করা হয়। কানেক্টেড কম্পোনেন্ট গুলো বের করার জন্যও ডেপথ ফার্স্ট সার্চ ব্যবহার করা যায়। আমরা সাধারনত যখন কোন ম্যাজ/ধাঁধা সমাধান করি, ডেপথ ফার্স্ট সার্চ এর মাধ্যমেই করি।

ডেপথ ফার্স্ট সার্চ অ্যালগরিদমের সুডোকোড নিচে দেওয়া হলো। সোর্সঃ উইকিপিডিয়া।

কমপ্লেক্সিটি: ডেপথ ফাস্ট সার্চ করার সময় আমরা প্রতিটি নড [V] একবার এবং প্রতিটা এজ [E] এ একবার গিয়েছি, তাই কমপ্লেক্সিটি হবে O(V+E)।

কমপ্লিটনেসঃ ডেপথ ফাস্ট সার্চ কমপ্লিট না। সার্চ করার সময় এটি একটি লুপে পড়তে পারে এবং তখন আর এটি সব গুলো নডে সার্চ করতে পারবে না।

মূল কনসেফট বুঝলে যে কোন ল্যাঙ্গুয়েজেই ইমপ্লিমেন্ট করা যাবে। আর ইমপ্লিমেন্ট করতে না পারলে গুগলে সার্চ করলেই অনেক কোড পাওয়া যাবে। তাই আর কোন কোড শেয়ার করলাম না।

 

রিলেটেড লেখাঃ

Pesquisar
Categorias
Leia Mais
Hacking Course
শাওমির 300w ফাস্ট চার্জিং প্রযুক্তি প্রকাশ - ৫ মিনিটে ফুল চার্জ!
গত বছরের অক্টোবর মাসে শাওমি তাদের রেডমি ব্র্যান্ডের ২১০ ওয়াট মোবাইল চার্জিং প্রযুক্তি প্রদর্শন...
Por Nettumi 2026-09-25 09:52:38 0 6
Tech
ওয়ার্ডপ্রেস কাস্টম পেইজ টেমপ্লেট তৈরি
ওয়ার্ডপ্রেসের কিছু কিছু থিমে অনেক পেইজের জন্য অনেক গুলো টেমপ্লেট থাকে। আবার কিছু কিছু থিমের জন্য...
Por Nettumi 2026-09-30 18:42:02 0 1
Nulled
EduAppGT Pro v9.1 - School Management System Nulled Free
Free Download EduAppGT Pro v9.1 – School Management System Nulled, with EduAppGT Pro you...
Por Nettumi 2026-09-18 03:59:12 0 26
Nulled
কিভাবে SlideShare থেকে ফ্রিতে যেকোনো স্লাইড সরাসরি PDF, PPT বা Images হিসেবে ডাউনলোড করবেন? দেখে নিন | Techtunes | টেকটিউনস
ওয়েববেইজড এফটিপি ক্লায়েন্ট, নেট টু এফটিপি মো. আমিনুল ইসলাম সজীব
Por Nettumi 2026-09-21 05:25:12 0 33
Hacking Course
আইফোন ১৭ প্রো ক্লোন! রিলিজের আগেই কপি হলো ডিজাইন?
প্রযুক্তির দুনিয়ায় অ্যাপলের আইফোন সবসময়ই আলাদা পরিচয়ের অধিকারী। ডিজাইন, সফটওয়্যার অভিজ্ঞতা...
Por Nettumi 2026-09-25 09:37:48 0 20
‎ ‎ ‎
Nettumi https://nettumi.com