ডেটা স্ট্রাকচার ও অ্যালগরিদম (DSA) শিখুন গল্পে গল্পে! Algorithm আছে আমাদের জীবনের সব জায়গায়! আপনার অজান্তেই আপনিও একজন Algorithm Master!

Level 34
সুপ্রিম টিউনার, টেকটিউনস, ঢাকা

আমরা যখনই "Algorithm (অ্যালগরিদম)" শব্দটা শুনি, কী মনে হয় আপনার? হয়তো ভাবেন, এটা নিশ্চয়ই Computer Science-এর কোনো জটিল বিষয়, যা শুধুমাত্র University-র Professor-রা গবেষণা করেন, অথবা Software Engineer-দের বিশেষ Programming Language-এর কোড দিয়ে তৈরি কোনো রহস্যময় Formula! প্রথম ঝলকে দেখে হয়তো মনে হতে পারে, Algorithm মানেই বুঝি জটিল Mathematics আর উচ্চতর Problem Solving-এর বিশেষ কৌশল, যা সাধারণ মানুষের বোধগম্যতার বাইরে। কিন্তু সত্যি বলতে কী, Algorithm এমন একটি মৌলিক ধারণা যা Mathematics-এর গভীর সমীকরণের চেয়েও বেশি করে আমাদের দৈনন্দিন Life-এর সাধারণ Logic এবং Step-এর সাথে জড়িত। বিশ্বাস করুন আর নাই করুন, আপনার Daily Life-এর প্রায় প্রতিটি ক্ষেত্রে, প্রতিটি Task-এর Completion-এর পেছনে কোনো না কোনো Algorithm কাজ করে যাচ্ছে। মজার ব্যাপার হলো, আমরা প্রায়শই এই Algorithm-গুলো ব্যবহার করি, কিন্তু সে সম্পর্কে মোটেও সচেতন থাকি না!

হ্যাঁ, ঠিকই শুনছেন! আপনি অজান্তেই আপনার Life-এর অনেক Problem Solution-এর জন্য অসংখ্য Algorithm শিখে ফেলেছেন এবং সেগুলোকে Daily Life-এর Task-এ প্রয়োগ করতে অভ্যস্ত হয়ে গেছেন। এই Claim-টা শুনে হয়তো আপনার একটু অবাক লাগছে, তাই না? এটা কি করে সম্ভব? কিন্তু চিন্তা নেই, আমি আপনাকে কিছু বাস্তব Example দিয়ে প্রমাণ করে দেবো যে, Algorithm আসলে কোনো দূরের বা অচেনা বিষয় নয়, বরং আপনার হাতের কাছেই, আপনার প্রতিদিনের কাজের মধ্যেই তার Presence বিদ্যমান। Algorithm-এর এই সহজবোধ্যতা এবং সর্বব্যাপীতা (Ubiquitous Presence) আমাদের Problem Solving-এর Process-কে কীভাবে প্রভাবিত করে, তা চলুন একটু বিস্তারিত আলোচনা করি!

আপনার দৈনন্দিন জীবনের অসাধারণ Algorithm-গুলো, কীভাবে কাজ করে?

ডেটা স্ট্রাকচার ও অ্যালগরিদম (DSA) শিখুন গল্পে গল্পে! Algorithm আছে আমাদের জীবনের সব জায়গায়! আপনার অজান্তেই আপনিও একজন Algorithm Master!

আমাদের প্রত্যেকের Daily Life-এর কিছু সাধারণ অভ্যাস বা Task আছে, যা আমরা খুব স্বাচ্ছন্দ্যে করি। আমরা সেগুলো করি কারণ সেগুলো সবচেয়ে Logical এবং Efficient মনে হয়। কিন্তু এই আপাতদৃষ্টিতে সাধারণ কাজগুলোর ভেতরেই লুকিয়ে আছে Algorithm-এর চমকপ্রদ প্রয়োগ। চলুন, সেই উদাহরণগুলো একটু গভীর ভাবে Explored করি এবং বোঝার চেষ্টা করি কীভাবে এগুলো আমাদের Algorithm-এর ধারণা তৈরি করে।

Example এক, Dictionary Check – Binary Search-এর অনবদ্য ব্যবহার!

ডেটা স্ট্রাকচার ও অ্যালগরিদম (DSA) শিখুন গল্পে গল্পে! Algorithm আছে আমাদের জীবনের সব জায়গায়! আপনার অজান্তেই আপনিও একজন Algorithm Master!

আপনার কি মনে আছে ছোটবেলায় Dictionary Check করার দিনগুলো? কিংবা এখনো যদি কখনো কোনো নতুন English Character বা শব্দের First Letter জেনে সেটি খুঁজতে হয়, তাহলে আপনি কীভাবে Check করেন? ধরুন, আপনার হাতে একটি বিশাল Dictionary আছে এবং আপনি 'R' দিয়ে শুরু হওয়া একটি First Letter-এর শব্দ খুঁজছেন। আপনি কি Dictionary-র প্রথম Page থেকে শেষ Page পর্যন্ত একটি একটি করে উল্টে দেখেন? অবশ্যই না! কারণ আপনি জানেন এটা কতটা সময়সাপেক্ষ এবং ক্লান্তিকর একটি Process হবে। তাহলে আপনি কী কৌশল অবলম্বন করেন?

  1. প্রথম Step: প্রথমেই আপনি Dictionary-র প্রায় মাঝ বরাবর একটি Page খোলেন। আপনি জানেন না ঠিক কোথায় আছে, তাই মোটামুটি মাঝামাঝি একটি Page বেছে নেন। এবার, আপনি ওই Page-এর First Letter কী সেটা Check করেন। ধরুন, আপনি দেখলেন ওই Page-এর First Letter হলো 'M'।
  2. দ্বিতীয় Step: এখন, আপনার Common Sense এবং Logic কি বলে? আপনি জানেন যে Alphabet Table-এ 'R' অক্ষরটি 'Q'-এর পরে আসে। এর মানে পরিষ্কার: আপনার কাঙ্ক্ষিত শব্দটি Dictionary-র প্রথমার্ধে (অর্থাৎ 'Q'-এর আগের অংশে) নেই, এটি অবশ্যই দ্বিতীয়ার্ধে আছে! তাই আপনি সঙ্গে সঙ্গে Dictionary-র প্রথম অর্ধেক (যা 'Q' পর্যন্ত ছিল) বাদ দিয়ে দেন এবং আপনার Search Range-কে বাকি দ্বিতীয়ার্ধে (অর্থাৎ 'Q'-এর পরের অংশ) সীমাবদ্ধ করেন। আপনার Problem-এর আকার অর্ধেক ছোট হয়ে গেল!
  3. পুনরাবৃত্তি এবং Solution: এইবার আপনি আপনার বাকি থাকা অংশের (দ্বিতীয়ার্ধের) আবার মাঝ বরাবর একটি Page খোলেন এবং সেই Page-এর First Letter Check করেন। যদি এটিও 'R'-এর আগে হয়, তাহলে আপনি আবার অর্ধেক বাদ দিয়ে দেন। এই দুটি Step (Page খোলা এবং First Letter Check করে Search Range সংকুচিত করা) আপনি বারবার পুনরাবৃত্তি করতে থাকেন, যতক্ষণ না আপনি 'R' এর First Letter-এর সঠিক Page Number-এ পৌঁছান।

আপনার ছোটবেলার এই সহজবোধ্য Skill টি, যা আপনি আজো প্রায় অবচেতন মনেই করেন, এটিই হলো Computer Science-এর একটি অত্যন্ত গুরুত্বপূর্ণ এবং শক্তিশালী Algorithm, যার নাম "Binary Search"! Data Structure-এর দৃষ্টিকোণ থেকে, আপনি যে Dictionary ব্যবহার করছেন, সেটি আসলে একটি Sorted "Array" (কারণ Dictionary-র সব শব্দ Alphabetical Order-এ সাজানো থাকে)। আর আপনি যে Page খোলা, Letter Check করা এবং Search Range ছোট করার ধারাবাহিক Operation গুলো করছেন, সেটিই হলো "Binary Search" Algorithm। এই Algorithm কেন এত শক্তিশালী এবং Efficient? কারণ এটি প্রতিটি Step-এ আপনার Search Space-কে প্রায় অর্ধেক করে দেয়। এই "Divide And Conquer" (ভাগ করো এবং জয় করো) কৌশলটি একটি বড় Dictionary-তেও খুব দ্রুত আপনার কাঙ্ক্ষিত শব্দ খুঁজে বের করা সম্ভব করে তোলে। কল্পনা করুন, যদি একটি Linear Search-এর মতো প্রতিটি Page ধরে ধরে খুঁজতেন, তাহলে কতটা সময় লাগতো! Binary Search আমাদেরকে এই অদক্ষতা থেকে মুক্তি দেয়।

Example দুই: Playing Cards গোছানো – Insertion Sort-এর সহজ কৌশল এবং কার্যকারিতা!

ডেটা স্ট্রাকচার ও অ্যালগরিদম (DSA) শিখুন গল্পে গল্পে! Algorithm আছে আমাদের জীবনের সব জায়গায়! আপনার অজান্তেই আপনিও একজন Algorithm Master!

আপনারা যারা Playing Cards খেলেন, তারা নিশ্চয়ই জানেন যে প্রতিটি Round-এর আগে হাতের Cards গুলোকে একটি নির্দিষ্ট Order-এ (যেমন ছোট থেকে বড়) সাজিয়ে নেওয়া কতটা জরুরি। এতে Card খেলা আরও সহজ এবং Strategy তৈরি করা আরও সুবিধাজনক হয়। কিন্তু আপনি আপনার Playing Cards গুলো কীভাবে সাজিয়ে নেন, যখন নতুন Cards পান বা খেলার সময় Cards এলোমেলো হয়ে যায়?

  1. প্রাথমিক Setup: প্রথমেই আপনি আপনার Playing Cards গুলোকে মনে মনে দুটো Part-এ ভাগ করে নেন: একটি "Ordered" Part (যে Cards গুলো সাজানো আছে) এবং একটি "Unordered" Part (যে Cards গুলো এখনও এলোমেলো)। একদম শুরুতে, আপনি ধরে নেন যে আপনার হাতের বামদিকের প্রথম একটি Playing Card (বা হাতে রাখা প্রথম Card) ইতিমধ্যেই Ordered আছে। এটি আপনার Ordered Part-এর ভিত্তি, একটি একক Card দিয়ে শুরু হয়।
  2. একটি Card নির্বাচন: এরপর আপনি Unordered Part থেকে একটি নতুন Playing Card তুলে নেন। এটি হলো আপনার সেই Card যাকে সঠিক Position-এ বসাতে হবে।
  3. সঠিক Position-এ Insertion: এইবার সবচেয়ে গুরুত্বপূর্ণ Step: আপনি এই নতুন Card-টিকে আপনার ইতিমধ্যে Ordered থাকা Part-এর মধ্যে সঠিক Position-এ Insert করেন। অর্থাৎ, আপনি Ordered Part-এর Card গুলোর মধ্যে এমন একটি Position খুঁজে বের করেন যেখানে এই নতুন Card-টিকে রাখলে আগের Order বজায় থাকে এবং আপনার Ordered Part-টি এখনও Sorted থাকে। উদাহরণস্বরূপ, যদি আপনার Ordered Part-এ 3, 7, 9 থাকে এবং আপনি 5 পেলেন, তাহলে আপনি 5-কে 3 এবং 7-এর মাঝে ঢুকিয়ে দেবেন। এই Card-টিকে সঠিকভাবে Insert করার পর, আপনার বামদিকের (বা Ordered Section-এর) Playing Card-গুলোর সংখ্যা একটি বেড়ে যায় এবং সেগুলো এখন আরও বেশি Card নিয়ে Ordered হয়ে যায়।
  4. পুনরাবৃত্তি এবং সম্পূর্ণ Order: আপনি এই Step টি বারবার Loop করতে থাকেন। প্রতিটি Round-এ আপনি Unordered Part থেকে একটি করে Playing Card নেন এবং সেটিকে Ordered Part-এর মধ্যে সঠিক Position-এ Insert করেন, যতক্ষণ না আপনার হাতের সমস্ত Playing Cards Ordered হয়ে যায়।

Playing Cards গোছানোর এই পদ্ধতিটি হলো "Insertion Sort" Algorithm-এর একটি চমৎকার বাস্তব উদাহরণ। এই Algorithm তুলনামূলকভাবে ছোট Dataset গুলোকে পরিচালনা করার জন্য অত্যন্ত Efficient এবং সহজবোধ্য। এর একটি বড় সুবিধা হলো, এটি "In-Place Sorting" করে, অর্থাৎ অতিরিক্ত Memory-র প্রয়োজন হয় না এবং এটি "Adaptive" - যদি Dataset আংশিকভাবে Sorted থাকে, তাহলে এটি আরও দ্রুত কাজ করে। মজার ব্যাপার হলো, অনেক Professional Programming Language-এর Sorting Library Function-এর মধ্যেও এই Insertion Sort-এর Presence দেখা যায়, বিশেষ করে যখন ছোট Data-এর সাথে কাজ করতে হয় অথবা অন্যান্য Complex Sorting Algorithm (যেমন Timsort বা Introsort) এর অংশ হিসেবে। এটি একটি খুব Fundamental Sorting Algorithm যা এর সরলতা এবং কার্যকারিতার জন্য শিক্ষাক্ষেত্রে এবং কিছু ব্যবহারিক Scenario-তে বহুল ব্যবহৃত।

Example তিন: Currency Change – Greedy Algorithm-এর বিচক্ষণ প্রয়োগ এবং তার সীমা!

ডেটা স্ট্রাকচার ও অ্যালগরিদম (DSA) শিখুন গল্পে গল্পে! Algorithm আছে আমাদের জীবনের সব জায়গায়! আপনার অজান্তেই আপনিও একজন Algorithm Master!

আপনারা সবাই নিশ্চয়ই প্রতিদিনের Life-এ Supermarket বা দোকানে কেনাকাটা করেন। ধরুন, আপনি Supermarket থেকে 69 টাকার-এর একটি Product কিনেছেন এবং Cashier-কে 100 টাকা দিলেন। এক্ষেত্রে Cashier-এর আপনাকে 31 টাকা Change ফেরত দিতে হবে। একজন Cashier এই 31 টাকা Change কীভাবে দেবেন, তার পেছনেও কিন্তু একটি Algorithm কাজ করে! তিনি খুব স্বাভাবিকভাবেই Figure 1-3 এ দেখানো চিন্তা প্রক্রিয়ার মাধ্যমে এই Problem-টির Solution করেন:

  1. Available Options চিহ্নিতকরণ: প্রথমেই Cashier তার Available Options গুলোকে মনে মনে চিহ্নিত করেন এবং সাজিয়ে নেন। অর্থাৎ, 31 টাকার-এর চেয়ে ছোট Denomination-এর Currency গুলোকে চিহ্নিত করেন যা তার Cashier Drawer-এ আছে। সাধারণত এই Denomination-গুলোর মধ্যে থাকে: 1 টাকা, 5 টাকা, 10 টাকা, এবং 20 টাকা।
  2. সর্বোচ্চ Denomination নির্বাচন (প্রথম ধাপ): এবার, Cashier তার Available Options থেকে সবচেয়ে বড় Denomination-এর Currency টি বেছে নেন, যা 31 টাকা থেকে দেওয়া সম্ভব। এক্ষেত্রে সেটি হলো 20 টাকা। তিনি আপনাকে একটি 20 টাকা-এর Note দেন। এখন আপনাকে আরও 31 - 20 = 11 টাকা দিতে বাকি থাকে।
  3. পুনরাবৃত্তি (দ্বিতীয় ধাপ): এখন, অবশিষ্ট 11 টাকা-এর জন্য তিনি আবার তার Available Options থেকে (এখন Available Options-এর মধ্যে সবচেয়ে বড় হলো 10 টাকা বেছে নেন। তিনি আপনাকে একটি 10 টাকা-এর Note দেন। এখন বাকি থাকে 11 - 10 = 1 টাকা।
  4. পুনরাবৃত্তি (শেষ ধাপ): অবশেষে, তিনি অবশিষ্ট 1 টাকা-এর জন্য Available Options থেকে সবচেয়ে বড় Denomination (এখন Available Options-এর মধ্যে শুধু 1 টাকা বেছে নেন। তিনি আপনাকে একটি 1 টাকা-এর Coin দেন। এখন বাকি থাকে 1 - 1 = 0 টাকা।
  5. Change সম্পন্ন: এভাবেই Cashier আপনাকে মোট 20 + 10 + 1 = 31 টাকা-এর Change সঠিকভাবে এবং সবচেয়ে Efficient উপায়ে দিয়ে দেন।

উপরের এই পুরো Step গুলিতে, Cashier প্রতিটি মুহূর্তে সেই Choice টি গ্রহণ করেছেন যা সেই মুহূর্তে সবচেয়ে ভালো মনে হয়েছে – অর্থাৎ, যতটা সম্ভব বড় Denomination-এর Currency ব্যবহার করে অবশিষ্ট Amount কমিয়ে আনা। Data Structure এবং Algorithm-এর দৃষ্টিকোণ থেকে, এই পদ্ধতিটি হলো "Greedy Algorithm"। Greedy Algorithm হলো এমন এক ধরনের Algorithm যা প্রতিটি Step-এ একটি "Best Local Choice" (বর্তমান অবস্থার জন্য সবচেয়ে ভালো Choice) করে, এই আশায় যে এটি একটি "Best Global Solution" (সামগ্রিক সেরা Solution) দেবে। Currency Change-এর ক্ষেত্রে এই Algorithm খুব সুন্দরভাবে কাজ করে, কারণ আমাদের Currency System সাধারণত এমনভাবে ডিজাইন করা হয়েছে যেন Greedy Approach কাজ করে এবং সবচেয়ে কম সংখ্যক Note বা Coin ব্যবহার করে Change দেওয়া সম্ভব হয়।

তবে, একটি গুরুত্বপূর্ণ বিষয় মনে রাখতে হবে: সব Problem-এর জন্য কিন্তু Greedy Algorithm সেরা Solution নাও দিতে পারে। এমন কিছু Scenario আছে যেখানে একটি Local Optimum (তৎকালীন সেরা Choice) আপনাকে Global Optimum (সামগ্রিক সেরা Solution) থেকে দূরে সরিয়ে দিতে পারে। উদাহরণস্বরূপ, যদি আপনার কাছে 1, 7, 10 টাকার Coin থাকে এবং আপনাকে 14 টাকা Change দিতে হয়। Greedy Algorithm প্রথমে 10 টাকা দেবে, তারপর 1 টাকা (বাকী 4 টাকার জন্য) চারবার দেবে (মোট 5টি Coin)। কিন্তু সেরা Solution হলো 7 টাকার দুটি Coin (মোট 2টি Coin)। এটি Greedy Algorithm-এর সীমাবদ্ধতা তুলে ধরে। কিন্তু আমাদের সাধারণ Currency System-এ (যেমন টাকা, ডলার, ইউরো) Greedy Approach সাধারণত কাজ করে।

Algorithm, সব সমস্যার মূল চাবিকাঠি এবং Computer-এর সাথে তার মেলবন্ধন!

ডেটা স্ট্রাকচার ও অ্যালগরিদম (DSA) শিখুন গল্পে গল্পে! Algorithm আছে আমাদের জীবনের সব জায়গায়! আপনার অজান্তেই আপনিও একজন Algorithm Master!

লক্ষ্য করেছেন তো? আপনার রান্নাঘরের একটি সাধারণ Dish Cooking করা থেকে শুরু করে বিশাল মহাকাশে Rocket-এর Interstellar Travel পর্যন্ত, জীবনের প্রতিটি ছোট-বড় Problem-এর Solution কোনো না কোনো Algorithm-এর উপর নির্ভরশীল। Algorithm হলো একগুচ্ছ সুসংজ্ঞায়িত Step বা নির্দেশাবলী যা একটি নির্দিষ্ট Task সম্পন্ন করতে বা একটি Problem Solution করতে ব্যবহৃত হয়। এটি একটি Recipe-র মতো, যেখানে প্রতিটি Step স্পষ্ট এবং অনুসরণযোগ্য। এই Step গুলো অবশ্যই সুনির্দিষ্ট হতে হবে যাতে যেকোনো ব্যক্তি বা Machine সেগুলো অনুসরণ করে একই ফলাফল পেতে পারে।

Computer-এর আবির্ভাব এই Algorithm-এর ধারণাকে সম্পূর্ণ নতুন মাত্রায় নিয়ে গেছে। Computer আসার আগে Algorithm মানুষ Manually Execute করতো। কিন্তু Computer আসার পর, আমরা বিশাল পরিমাণ Data এবং Complex Problem-কে Algorithm-এর মাধ্যমে সমাধান করতে পারি অভাবনীয় গতিতে। এখন আমরা Programming-এর মাধ্যমে Complex Data Structure গুলোকে Computer-এর Memory-তে সংরক্ষণ করতে পারি। এই Memory হলো Computer-এর অস্থায়ী কাজের জায়গা, যেখানে Data এবং Program দ্রুত Access করা যায়। এরপর, আমরা বিশেষভাবে তৈরি Code লিখে Computer-এর Central Processing Unit (CPU) এবং Graphics Processing Unit (GPU)-কে Algorithm Execute করার নির্দেশ দিতে পারি।

CPU (Central Processing Unit)

Computer-এর "মস্তিষ্ক" বা "Brain" হিসেবে পরিচিত। এটি Algorithm-এর Step By Step Instruction গুলোকে Process করে এবং Logical Calculation-গুলো সম্পাদন করে। এটি Single-Threaded (একটি কাজ একবারে) Performance-এর জন্য Optimized।

GPU (Graphics Processing Unit)

এটি মূলত Graphics Rendering-এর জন্য ডিজাইন করা হলেও, আজকাল এটি Parallel Processing-এর জন্য অত্যন্ত শক্তিশালী একটি Hardware হিসেবে ব্যবহৃত হচ্ছে। বিশেষ করে Machine Learning এবং Artificial Intelligence-এর মতো ক্ষেত্রগুলিতে, যেখানে একই Algorithm-এর অনেক গুলো Instance এক সাথে Execute করতে হয়, সেখানে GPU Algorithm-এর Execution-কে অবিশ্বাস্যভাবে গতি দেয়।

এভাবেই আমরা আমাদের Daily Life-এর জটিল Problem গুলোকে Computer-এর উপর স্থানান্তর করতে পারি এবং অবিশ্বাস্যভাবে আরও Efficient ও Accurate উপায়ে বিভিন্ন Challenge-এর Solution খুঁজে পেতে পারি। Computer-এর Processing Power এবং Algorithm-এর Combination আমাদের পক্ষে এমন সব কাজ করা সম্ভব করে তুলেছে যা আগে শুধুমাত্র কল্পনাতেই সীমাবদ্ধ ছিল। উদাহরণস্বরূপ, GPS Navigation System, Social Media Feed-এর Personalization, Online Recommendation System (যেমন Netflix বা Amazon), Medical Diagnosis, Weather Forecasting, Stock Market Prediction এবং Google-এর মতো Search Engine-গুলো সবই Complex Algorithm-এর উপর নির্ভরশীল। এই Algorithm-গুলোই কোটি কোটি Data Process করে আমাদেরকে প্রয়োজনীয় Information সরবরাহ করে এবং আমাদের জীবনকে অনেক সহজ এবং উন্নত করেছে।

আপনার Algorithm-এর যাত্রা শুরু হোক এখনই!

ডেটা স্ট্রাকচার ও অ্যালগরিদম (DSA) শিখুন গল্পে গল্পে! Algorithm আছে আমাদের জীবনের সব জায়গায়! আপনার অজান্তেই আপনিও একজন Algorithm Master!

যদি Data Structure, Algorithm, Array এবং Binary Search-এর মতো Concepts গুলো সম্পর্কে আপনার এখনও একটু অস্পষ্টতা থাকে বা আপনি নিজেকে এই বিষয়ে অনভিজ্ঞ মনে করেন, তাহলে একদমই চিন্তা করার কিছু নেই! এই টিউন সিরিজটি ঠিক সেইসব পাঠক এবং শিক্ষার্থীদের জন্য তৈরি করা হয়েছে, যারা Algorithm-এর জগতের রহস্য উন্মোচন করতে চান। Algorithm শেখা মানে শুধু Computer Science শেখা নয়, এটি আপনাকে আরও ভালো Problem Solver হতে শেখাবে, আপনাকে Critical Thinking-এ উৎসাহিত করবে এবং আপনার Logic-কে শাণিত করবে। আপনার Problem Solving-এর ক্ষমতা বাড়বে, যা আপনার Personal এবং Professional Life-এর প্রতিটি ক্ষেত্রে কাজে দেবে।

তাই আর দেরি না করে, জ্ঞান অন্বেষণের এই রোমাঞ্চকর যাত্রা শুরু করুন। প্রতিটি Step-এ নতুন কিছু শিখুন, Algorithm-এর শক্তিকে নিজের Problem Solving Capacity-তে যুক্ত করুন, আর হয়ে উঠুন আপনার Problem-গুলোর নিজস্ব Algorithm Master! আপনার এই যাত্রা যেন কেবল নতুন জ্ঞান অর্জনের না হয়ে, একটি নতুন Perspective এবং Problem Solving-এর নতুন পদ্ধতির অন্বেষণের যাত্রা হয়।

Level 34

আমি সোহানুর রহমান। সুপ্রিম টিউনার, টেকটিউনস, ঢাকা। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 2 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 675 টি টিউন ও 200 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 123 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

কখনো কখনো প্রজাপতির ডানা ঝাপটানোর মত ঘটনা পুরো পৃথিবী বদলে দিতে পারে।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস