Shafaet Ashraf's Blog, page 2
April 18, 2020
ডাইনামিক প্রোগ্রামিং ৪ (লংগেস্ট কমন সাবসিকোয়েন্স)
আগের পর্ব গুলোতে আমরা যেসব প্রবলেম দেখে এসেছি সেগুলোর সাবপ্রবলেমের স্টেট ছিল মাত্র ১টা। এইবার আমরা আরেকটু জটিল সমস্যা সমাধান করবো যার নাম লংগেস্ট কমন সাবসিকোয়েন্স বা LCS। এটা শেখার পরে আমি এডিট ডিসটেন্স প্রবলেম নিয়ে অল্প কিছু কথা বলবো এবং তোমার কাজ হবে সেটা নিজে নিজে সমাধান করা। এই প্রবলেমে তোমাকে দুটি স্ট্রিং দেয়া […]
The post ডাইনামিক প্রোগ্রামিং ৪ (লংগেস্ট কমন সাবসিকোয়েন্স) appeared first on শাফায়েতের ব্লগ.
ডাইনামিক প্রোগ্রামিং ৪: (লংগেস্ট কমন সাবসিকোয়েন্স)
আগের পর্ব গুলোতে আমরা যেসব প্রবলেম দেখে এসেছি সেগুলোর সাবপ্রবলেমের স্টেট ছিল মাত্র ১টা। এইবার আমরা আরেকটু জটিল সমস্যা সমাধান করবো যার নাম লংগেস্ট কমন সাবসিকোয়েন্স বা LCS। এটা শেখার পরে আমি এডিট ডিসটেন্স প্রবলেম নিয়ে অল্প কিছু কথা বলবো এবং তোমার কাজ হবে সেটা নিজে নিজে সমাধান করা। এই প্রবলেমে তোমাকে দুটি স্ট্রিং দেয়া […]
The post ডাইনামিক প্রোগ্রামিং ৪: (লংগেস্ট কমন সাবসিকোয়েন্স) appeared first on শাফায়েতের ব্লগ.
April 17, 2020
ডাইনামিক প্রোগ্রামিং-৩ (লংগেস্ট ইনক্রিজিং সাবসিকোয়েন্স, পাথ প্রিন্টিং)
আমরা এরই মধ্যে ডাইনামিক প্রোগ্রামিং এর বেসিক শিখে গিয়েছি, আমরা ফিবোনাচ্চি এবং DAG এ শর্টেস্ট পাথ বের করতে পারি। এবার আমরা শিখবো Longest Increasing Subsequence বা LIS বের করা। এতদিন আমরা শুধু অপটিমাল সলিউশনটা বের করতে শিখেছি, কোন পথ ধরে সলিউশনে পৌছাতে হয় সেটা বের করা শিখিনি। এবার আমরা নেক্সট-পয়েন্টার ব্যবহার করে সেটা বের করাও […]
The post ডাইনামিক প্রোগ্রামিং-৩ (লংগেস্ট ইনক্রিজিং সাবসিকোয়েন্স, পাথ প্রিন্টিং) appeared first on শাফায়েতের ব্লগ.
ডাইনামিক প্রোগ্রামিং-২ (শর্টেস্ট পাথ)
আগের পর্বে আমরা ফিবোনাচ্চি নাম্বার নিয়ে আলোচনা করেছি। আমরা দেখেছি কিভাবে ডাইনামিক প্রোগ্রামিং ব্যবহার করে রিকার্সিভলি এবং ইটারেটিভলি ফিবোনাচ্চি সংখ্যা জেনারেট করা যায়। এই পর্বে আমরা কথা বলবো শর্টেস্ট পাথ প্রবলেম নিয়ে এবং সেটা নিয়ে আলোচনা করার সময় ডিপির কিছু নতুন প্রোপার্টি নিয়ে জানবো। যদিও শর্টেস্ট পাথ গ্রাফ থিওরির একটা প্রবলেম, এই লেখা বুঝতে গ্রাফ […]
The post ডাইনামিক প্রোগ্রামিং-২ (শর্টেস্ট পাথ) appeared first on শাফায়েতের ব্লগ.
ডাইনামিক প্রোগ্রামিং – ১ (ফিবোনাচ্চি)
ডাইনামিক প্রোগ্রামিং নামটা শুনতে একটু কঠিন মনে হলেও এর পিছনে কনসেপ্টটা বেশ সহজ। ডাইনামিক প্রোগ্রামিং কে এক কথায় বর্ণনা করতে গেলে বলা যায় – একটা সমস্যাকে ছোট ছোট ভাগ করে সাব-প্রবলেমগুলো সমাধান করবো তবে একই সাবপ্রবলেম একবারের বেশি সমাধান করবো না। মোটা দাগে বলতে গেলে এটাই ডাইনামিক প্রোগ্রামিং। তবে কখন একটা প্রবলেমকে ডাইনামিক প্রোগ্রামিং দিয়ে […]
The post ডাইনামিক প্রোগ্রামিং – ১ (ফিবোনাচ্চি) appeared first on শাফায়েতের ব্লগ.
March 31, 2020
প্রোবাবিলিস্টিক ডাটা স্ট্রাকচার: কাউন্ট-মিন স্কেচ
কিছুদিন আগে একটা আর্টিকেল লিখেছিলাম ব্লুম ফিল্টার নিয়ে। কাউন্ট-মিন স্কেচ অনেকটা সেরকমই একটা প্রোবালিস্টিক ডাটা স্ট্রাকচার। এরা কাজও করে অনেকটা একইভাবে যদিও কাজের ধরণ এবং ব্যবহার সম্পূর্ণ আলাদা। অ্যালগরিদম জানা থাকলে কম রিসোর্স খরচ করেই কিভাবে অনেক ডাটা হ্যান্ডেল করা যায় তার একটা চমৎকার উদাহরণ কাউন্ট-মিন স্কেচ। ব্লুম ফিল্টার কিভাবে কাজ করে সেটা না জানলেও […]
The post প্রোবাবিলিস্টিক ডাটা স্ট্রাকচার: কাউন্ট-মিন স্কেচ appeared first on শাফায়েতের ব্লগ.
March 25, 2020
ক্যাশিং অ্যালগরিদম: এল-আর-ইউ ক্যাশ
আজকে আমরা জানবো ক্যাশিং কি এবং এল-আর-ইউ ক্যাশ কিভাবে কাজ করে। তুমি যদি ক্যাশিং সম্পর্কে আগে থেকেই জানো তাহলে প্রথম অংশটা দ্রুত পড়ে পরের অংশে চলে যেতে পারো। ধরা যাক তুমি একটি অ্যান্ড্রয়েড অ্যাপ তৈরি করছো। অ্যাপের ইউজারদের তুমি ৩টা রকমের লেভেল অ্যাসাইন করেছো, প্লাটিনাম, গোল্ড আর সিলভার। যখনই কোনো ইউজার অ্যাপ চালু করে তখনই […]
The post ক্যাশিং অ্যালগরিদম: এল-আর-ইউ ক্যাশ appeared first on শাফায়েতের ব্লগ.
March 14, 2020
প্রোবাবিলিস্টিক ডাটা স্ট্রাকচার: ব্লুম ফিল্টার
যদি তোমার একটি নিজস্ব ওয়েবসাইট থাকে তাহলে অবশ্যই সেখানে একাধিক ইউজার থাকবে। আর প্রতিটি ইউজারের একটি নিজস্ব অ্যাকাউন্ট থাকবে যেখানে তারা নিজেদের ইউজারনেম এবং পাসওয়ার্ড দিয়ে লগইন করতে পারবে। এখন নতুন কোনো ইউজার যদি অ্যাকাউন্ট খুলতে চায় তখন তোমাকে খেয়াল রাখতে হবে যে, সে যেই ইউজারনেমটি ব্যবহার করছে সেই একই ইউজারনেম ব্যবহার করে ইতোমধ্যেই অন্য […]
The post প্রোবাবিলিস্টিক ডাটা স্ট্রাকচার: ব্লুম ফিল্টার appeared first on শাফায়েতের ব্লগ.
ডাটা স্ট্রাকচার: ব্লুম ফিল্টার
যদি তোমার একটি নিজস্ব ওয়েবসাইট থাকে তাহলে অবশ্যই সেখানে একাধিক ইউজার থাকবে। আর প্রতিটি ইউজারের একটি নিজস্ব অ্যাকাউন্ট থাকবে যেখানে তারা নিজেদের ইউজারনেম এবং পাসওয়ার্ড দিয়ে লগইন করতে পারবে। এখন নতুন কোনো ইউজার যদি অ্যাকাউন্ট খুলতে চায় তখন তোমাকে খেয়াল রাখতে হবে যে, সে যেই ইউজারনেমটি ব্যবহার করছে সেই একই ইউজারনেম ব্যবহার করে ইতোমধ্যেই অন্য […]
The post ডাটা স্ট্রাকচার: ব্লুম ফিল্টার appeared first on শাফায়েতের ব্লগ.
October 21, 2019
বাগ ফ্রি কোডিং – অপরিবর্তনীয় বা ইমিউটেবল ভ্যারিয়েবল
প্রতিটা বড় প্রজেক্টের কোডেই কম বেশি বাগ থাকে তবে কিছু নিয়ম মেনে কোড লিখলে বাগ কমিয়ে আনা যায়। সফটওয়্যার ইঞ্জিনিয়ারিং করতে গিয়ে সেরকম কিছু নিয়ম শিখেছি যেটা কনটেস্ট করতে গিয়ে শেখা হয় নি। এর মধ্যে সবথেকে গুরুত্বপূর্ণ আমার মনে হয়েছে অপরিবর্তনীয় বা ইমিউটেবল ভ্যারিয়েবল/অবজেক্টের ধারনাটা। এই লেখাটা সফটওয়্যার ইঞ্জিনিয়ার এবং অ্যাডভান্সড স্টুডেন্টদের জন্য, তুমি যদি […]
The post বাগ ফ্রি কোডিং – অপরিবর্তনীয় বা ইমিউটেবল ভ্যারিয়েবল appeared first on শাফায়েতের ব্লগ.


