পাইথনে লিঙ্কড লিস্ট রিপ্রেজেন্টেশন এবং ইমপ্লিমেন্টেশন

ল্লিঙ্কড লিস্ট হচ্ছে লিস্টের মত আরেকটা ডেটা স্ট্র্যাকচার। লিঙ্কড লিস্টে আইটেম গুলো একটা আরেকটার সাথে কানেক্টেড থাকে। অনেকটা চেইনের মত। লিঙ্কড লিস্ট মূলত অনেক গুলো নডের সমষ্টি। এখন জিজ্ঞেস করতে পারেন নড কি। নডকে চিন্তা করতে পারেন একটা বক্সের মত। যার মধ্যে দুইটা খোপ থাকে। এই খোপের একটাতে থাকে ডেটা, আরেকটাতে থাকে পরবর্তী ডেটা মেমরির … Read more

পাইথনে গ্রাফ রিপ্রেজেন্টেশন এবং ইমপ্লিমেন্টেশন

গ্রাফঃ আমাদের এমন কিছু ডেটা থাকতে পারে, যেগুলোকে ক্রমানুসারে রাখা যায় না। কিন্তু একটা ডেটা আরেকটা ডেটার সাথে র‍্যানন্ডমলি কানেক্টেড। এমন ডেটা স্টোর করার জন্য দরকার পড়ে গ্রাফ ডেটা স্ট্রাকচারের। যেমন ম্যাপের কথা ধরতে পারি। ম্যাপের প্রতিটা শহর একটা আরেকটার সাথে কানেক্টেড থাকে। এই ম্যাপ ডেটার মত ডেটা গুলো কম্পিউটারে স্টোর করার জন্য যে ডেটা … Read more

পাইথনে ট্রি – ট্রি / Tree ডেটা স্ট্রাকচার

আমরা স্ট্যাটিক ডেটা স্ট্রাকচার লিস্ট, স্ট্যাক, কিউ ইত্যাদি দেখেছি। দেখেছি ডাইনামিক ডেটা স্ট্রাকচার যেমন লিঙ্কড লিস্ট। যা থেকে সহজেই ডাইন্যামিক্যালি কোন আইটেম এড বা রিমুভ করা যায়। এগুলো দিয়ে অনেক ধরনের সমস্যা সমাধান করা যায়। তবে এগুলোর একটা সমস্যা হচ্ছে এই ডেটা স্ট্রাকচার গুলো হচ্ছে সিকোয়েনশিয়াল ডেটা স্ট্র্যাকচার। মানে ডেটা গুলো সিরিয়ালি স্টোর করে রাখে। … Read more

গ্রাফ থিওরি, গ্রাফের রিপ্রেজেন্টেশন এবং ইমপ্লিমেন্টেশন

গ্রাফঃ গ্রাফ হচ্ছে কত গুলো নোড (Node) বা ভার্টেক্স(vertice)  এবং এজের (Edge) সমষ্টি। নিচে একটি গ্রাফের ছবি দেওয়া হলোঃ এ গ্রাফে পাঁচটি নোড বা ভার্টেক্স রয়েছে। নোড গুলো হচ্ছেঃ 0,1,2,3,4,5. আর উপরের গ্রাফে এজ রয়েছে ৭টি। নোড গুলোর সংযোগ কারী রেখা হচ্ছে এজ।   গ্রাফকে নিচের মত করে ভাগ করা যায় : Directed, weighted edges … Read more