পাইথন প্যাকেজ ম্যানেজার PIP

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

পাইথনের একের অধিক ভার্সন ম্যানেজমেন্ট এবং ভার্চুয়াল এনভারনমেন্ট

কম্পিউটারে একের অধিক পাইথন ব্যবহার আমাদের এক একটা প্রজেক্টে ভিন্ন ভিন্ন পাইথন ভার্সন বা বিভিন্ন প্যাকেজের আলাদা ভার্সন ব্যবহার করতে হতে পারে। আর কম্পিউটারে একের অধিক পাইথন ইন্সটল করা এবং এগুলো ম্যানেজ করার জন্য ব্যবহার করতে পারি Pyenv। এটা হচ্ছে কম্পিউটারে পাইথনের ভার্সন ম্যানেজমেন্ট করার একটা প্যাকেজ। ইন্সটল pyenv: pyenv ইন্সটলেরজ অন্য Homebrew ব্যবহার করতে … Read more

পাইথনে ডাইনামিক প্রোগ্রামিং

ডাইনামিক প্রোগ্রামিং কোন অ্যালগরিদম নয়। মূলত এটা একটা কৌশল। নির্দিষ্ট কিছু সমস্যা, যে সমস্যা গুলোতে ছোট ছোট অংশ গুলোর সমাধানের পুনরাবৃত্তি ঘটে। ডাইনামিক প্রোগ্রামিং ব্যবহার করে সেই সমস্যা গুলো ইফিসিয়েন্টলি সমাধান করা যায়। সাধারণত যে সমস্যা গুলো ডিভাইড এবং কনকার কৌশল ব্যবহার করে সমাধান করা যায়, সেগুলো ডিভাইড এবং কনকার কৌশলের সাথে ডাইনামিক প্রোগ্রামিং কৌশল … Read more

পাইথনে বাইনারি সার্চ

একটা সর্টেড লিস্টে একটা আইটেম আছে কিনা, তা খুঁজে দেখার জন্য বাইনারি সার্চ ব্যবহার করা হয়। যদি থেকে থাকে, তাহলে ঐ আইটেমের ইনডেক্স রিটার্ণ করে। এর আগে আমরা লিনিয়ার সার্চ সম্পর্কে জেনেছি। বাইনারি সার্চ লিনিয়ার সার্চ থেকে দ্রুত কাজ করে। যেমন 1, 3, 4, 5 , 7 , 9 , 12 এই লিস্টে 7 বা … Read more

পাইথনে কুইক সর্ট

মার্জ সর্টের মত কুইক সর্টও ডিভাইড এবং কনকার কৌশল ব্যবহার করে কোন লিস্টকে সর্ট করে। কুইক সর্ট নিচের মত করে কাজ করেঃ কুইক সর্টে কোন লিস্টকে সাব লিস্টে ভাগ করা হয়। এই ভাগ করার জন্য লিস্ট থেকেই একটা ইলিমেন্ট নেওয়া হয় পিভেট (pivot) ইলিমেন্ট হিসেবে। এই পিভেট ইলিমেন্ট এমন ভাবে লিস্টের মাঝে রাখা হয়, যেন … Read more

পাইথন মার্জ সর্ট

খুবি জনপ্রিয় একটা সর্টিং অ্যালগরিদম হচ্ছে মার্জ সর্ট। এটি ডিভাইড এবং কনকার অ্যালগরিদম স্ট্রেটেজি ফলো করে কোন লিস্ট সাজিয়ে দেয়। ডিভাইড এবং কনকার স্ট্রেটেজিঃ ডিভাইড এবং কনকার স্ট্রেটেজিতে একটা বড় সমস্যাক ছোট ছোট ভাগে ভাগ করা হয়। এরপর ঐ ছোট ছোট অংশ গুলোকে সবার আগে সমাধান করা হয়। পরিশেষে সমাধানকৃত ছোট অংশ গুলো একত্র করে … Read more

পাইথনে সিলেকশন সর্ট

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

পাইথনে রিকার্শন

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

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

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

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

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