অ্যালগরিদমঃ মার্জ সর্ট ও সি প্রোগ্রামিং এ ইমপ্লিমেন্টেশন

মার্জ সর্ট হচ্ছে Divide and Conquer অ্যালগরিদম। বিভিন্ন ধরণের অ্যালগরিদমিক প্যারাডাইম রয়েছে, যেমন Greedy, Dynamic Programming ইত্যাদি। Divide and Conquer হচ্ছে একটা প্যারাডাইম। এটি একটি সমস্যাকে সমাধান করতে নিচের ধাপ গুলো অনুসরণ করেঃ   Divide: সমস্যাটাকে ছোট ছোট অংশে ভাগ করে ফেলে। Conquer: ভাগ করার পর ছোট ছোট অংশ গুলোকে সমাধান করে। সাধারণত রিকার্শন ব্যবহার […]

Read More

অ্যালগরিদমঃ ইনসার্শন সর্ট ও সি প্রোগ্রামিং এ ইমপ্লিমেন্টেশন

কোন একটা লিস্ট নেওয়া, এবং ঐ লিস্টকে ক্রম অনুযায়ী সাজানোটাই হচ্ছে সর্টিং। ক্রম টা বড় থেকে ছোট হতে পারে বা ছোট থেকে বড় হতে পারে। অনেক গুলো সর্টিং অ্যালগরিদম রয়েছে। Insertion Sort তাদের মধ্যে একটি। আর কোন একটা কাজ করার ধাপ গুলোই হচ্ছে অ্যালগরিদম।   Insertion Sort এর ব্যাসিক আইডিয়া হচ্ছে লিস্টটাকে দুইটা অংশে ভাগ […]

Read More

অ্যালগরিদম, কমপ্লেক্সিটি এনালাইসিস ও নোটেশন

অ্যালগরিদম হচ্ছে কোন একটি কাজ করার স্টেপ গুলো। প্রতিদিনই আমরা শত শত অ্যালগরিদম ব্যবহার করছি, নিজেদের অজান্তেই। বাসা থেকে স্কুলে যাবো? কোন রাস্তা দিয়ে গেলে সময় সবচেয়ে কম লাগবে, তা চিন্তা করি। এটাও একটা অ্যালগরিদম। কম্পিউটার আবিষ্কারের আগেও অ্যালগরিদম ছিল। যদিও এখন আমরা অ্যালগরিদম বলতে কম্পিউটার সাইন্স এর একটা সাবজেক্ট বুঝি। মূলত এটি গণিতের একটা […]

Read More

অ্যান্ড্রয়েড লেয়াউটস

আমরা যে ভিউ গুলো যুক্ত করি লেয়াউটে, যেগুলো একটা ভিউগ্রুপে রাখতে হয়। আমদের প্রথমে অ্যাপে অ্যান্ড্রয়েড স্টুডিও ডিফল্ট ভাবে আমাদের ConstrainLayout ভিউগ্রুপ যুক্ত করে দিয়েছে। এই ConstrainLayout ছাড়াও আমরা আরো অনেক গুলো ভিউগ্রুপ ব্যবহার করতে পারি। যেমনঃ LinearLayout FrameLayout RelativeLayout GridLayout TableLayout CoordinatorLayout ইত্যাদি। অ্যান্ড্রয়েড স্টুডিওতে একটি প্রজেক্ট তৈরি করে এই আর্টিকেলের কোড গুলো  লেয়াউট ফাইলে […]

Read More

JavaFX – বাটন, টেক্সট ফিল্ড ও লেবেল

JavaFX এ বাটন, টেক্সট ফিল্ড ও লেবেল নিয়ে কিভাবে কাজ করা যায় তা দেখব। জাভা গ্রাফিকাল ইউজার ইন্টারফেস – JavaFX লেখাটিতে কিভাবে একটি JavaFX প্রজেক্ট তৈরি করা যায়, তা সম্পর্কে বিস্তারিত আলোচনা করা হয়েছে। আমরা ছোট্ট একটি ট্যাক্স ক্যালকুলেটর তৈরি করব। যা টেক্সট ফিল্ড থেকে একটা সংখা ইনপুট নিবে, এরপর বাটনে ক্লিক করলে ট্যাক্স ক্যালকুলেট […]

Read More

জাভা গ্রাফিকাল ইউজার ইন্টারফেস – JavaFX

আমরা কনসোল অ্যাপ তৈরি করতে করতে বিরক্ত হয়ে উঠি। চিন্তা করি কিভাবে সুন্দর একটা সফটওয়ার তৈরি করব। সুন্দর সফটওয়ারে থাকে সুন্দর সুন্দর গ্রাফিকাল ইউজার ইন্টারফে। জাভাতে গ্রাফিকাল ইউজার ইন্টারফেস তৈরি করার জন্য রয়েছে বিল্টইন ক্লাস। যেমন Swing, awt এবং JavaFX। JavaFX হচ্ছে লেটেস্ট gui লাইব্রেরী। রয়েছে দারুণ সব api এবং দারুণ সব ফিচার। ফিচার গুলোর সাথে […]

Read More

জাভা প্রোগ্রাম থেকে এক্সিকিউটেবল (exe) প্রোগ্রাম তৈরি করা

সাধারণত আমরা জাভা প্রোগ্রাম তৈরি করি, রান করে দেখি। এখানেই শেষ হয়ে যায়। আমাদের তৈরি করা সফটওয়ারটি যদি অন্যদের সাথে ডিস্ট্রিভিউট করতে চাই, তাহলে আমদের দরকার হবে এক্সিকিউটেবল বা exe প্রোগ্রাম তৈরি করা। ডিফল্ট ভাবে যে কোন জাভা প্রোগ্রাম jar ফাইল তৈরি করে। এরপর এই jar ফাইলটি আমরা যে কোন রেপার ব্যবহার করে exe ফাইল বা […]

Read More

জাভা গ্রাফ্রিক্যাল ইন্টারফেস – JavaFX ChoiceBox

ChoiceBox দিয়ে একের অধিক আইটেম থেকে যে কোন একটা আইটেম সিলেক্ট করা যায়। এই উদাহরণে IDE হিসেবে IntelliJ IDEA ব্যবহার করা হয়েছে। IntelliJ তে একটা JavaFX প্রজেক্ট তৈরি করে নিব। এরপর সীন বিল্ডার এ একটা ChoiceBox যুক্ত করব, এরপর একটা আইডি দিব। বা নিচের কোড গুলো ব্যবহার করলেও হবেঃ ChoiceBox তৈরির পাশাপাশি কয়েকটা ভ্যালু সেট […]

Read More

জাভাতে স্ট্রিং পার্সিং – split

সাধারণত বড় কোন স্ট্রিং বা টেক্সট থেকে ডেটা এক্সট্রাক্ট করার জন্য স্ট্রিং পার্সিং এর দরকার হয়। অনেক ভাবেই করা যায়, যেমন Split মেথড, StringTokenizer ইত্যাদি। এখানে আমরা দেখব কিভাবে split নিয়ে কাজ করা যায়। এটি দিয়ে কোন স্টিং কে যে কোন delimiter দিয়ে টোকেনাইজ করা যায়। টোকেন বলতে পার্স করার পর তথ্য গুলো। স্প্লিট করার […]

Read More

অ্যান্ড্রয়েড প্রি বিল্ড ডেটাবেজ নিয়ে কাজ করা

অ্যান্ড্রয়েডে এসেট ফোল্ডার থেকে ডেটাবেজ নিয়ে কাজ করা যায় না। যা আমরা করতে পারি, তা হচ্ছে এসেট ফোল্ডার থেকে ডেটাবেজ কপি করে স্টোরেজে কপি করতে পারি। এরপর পরে ঐ কপি করা ডেটাবেজ ব্যবহার করতে পারি। শুরু করি এসেট ফোল্ডারে একটি ডেটাবেজ রেখে। এই লেখাতে ব্যবহৃত ডেটাবেজটি এখান থেকে ডাউনলোড করা যাবে। ডিফল্ট ভাবে assets ফোল্ডার তৈরি […]

Read More