শনিবার, ১৪ অক্টোবর, ২০১৭

ডেটা নিয়ে কারি কুরি ।। Data Structures and Algorithms




এইতো অল্প কিছুদিন  পূর্বেই  একটি  presentation  এর  জন্য   slide  তৈরি   করছিলাম  , তখন  content গুল নিয়ে   research  করে দেখতে  পেলাম অনেকেই তাদের   job  থেকে  resign  নিয়েছে  এবং আবার  পড়াশুনা শুরু করেছে  একটি টার্গেট কে  লক্ষ্য করে ।   হঠাৎ  করে তাদের জব ছেড়ে দেবার  এবং আবার পড়াশুনা শুরু করার  দরকারটাই   আবার কি ,তারা  graduates Engineer  তারপরও তারা কেন তাদের এত ভাল জব এবং  position  থেকে  resign  নিচ্ছে । কারণটা   খুব ই  simple , শাহরুখ খানের  একটি   movie  তে   dialog  আছে , " কুছ  পানে কে লিয়ে কুছ খুনা পারতাহে অর  হারকার জিত্নে বালো  কো  বাজিগার  কেহতেহে  " । ঠিক তাই তারা তাদের  টার্গেট কে লক্ষ্য করে  তাদের  জব  এবং দীর্ঘ  ১ টি  বছর  সময় কে বিসর্জন  দিয়েছে  এবং তারা একটি  সময়  সফলও  হয়েছে ।  এমন কি  শিখল তারা ১ টি বছর  পরিশ্রম  করে ,   তা  আর  কিছু   নয়  তা হল   Data Structure and Algorithms .  তারা  দীর্ঘ  ১ টি  বছর  Data Structure and Algorithms  নিয়ে পড়াশুনা  করেছে   এবং     analysis  করেছে  ।   Now they are  the Engineer and Developer  of  the  Google .

Data Structure  কি ঃ

Data Structure  হল  data optimize  ও  store  করার   কৌশল  ।  পরবর্তীতে  যেন  এসব    data  কে সর্বোত্তমভাবে  ব্যাবহার করা  যায়  এবং  ফিরে পাওয়া যায়  সেই কৌশলই  হল   data structure .





computer  এ  data  নিয়ে আমরা   ৩   ধরনের  কাজ করে  থাকি ।

  1. Data input 
  2. Data Processing 
  3. Data Output 
আর  data structure  এর  কাজ  হল  এই  ৩  ধরনের কাজকে  সহজে  সম্পন্ন  করা ।


  •  Array
  • Linked List 
  • Stack
  • Queues
  • Tree
  • Graph 
এগুলো হল  কয়েকটি   data  structure . 

Algorithms :

Algorithm  হল  কয়েকটি অপারাশনের  সেট । কোন একটা  সমস্যা কে  সবচেয়ে উৎকৃষ্ট যে   উপায়ে  সমাধান করা  যায়  তাকেই  বলা   হয়   Algorithm .

একটি  problem   এর  জন্য একটাই   Algorithm  হয়  কিন্তু  একটি    Algorithm  এর জন্য  অনেকগুলো  solve  হতে  পারে ।

আমরা চাইলে একটি  particular problem  এর জন্য  আমাদের  নিজেদের মত করে  Algorithm design  করতে পারি এবং  তা  implement   করতে  পারি । Algorithm  is the  steps of  solving a problem .

কোন   একটা  সমস্যা সাধারণ  বুদ্ধি প্রয়োগ করে  সমাধান  করলে যতটা   effective  হয় ,   Algorithm ব্যাবহার  করে   solve  করলে  তার চাইতে বেশি    effective  হয় ।  




World  জুড়ে   অনেক  Algorithm  রয়েছে  ।  কিন্তু  যেই  Algorithm  গুল  World  এ রাজক্ত  করে যাচ্ছে  সেগুলো  হল - 

  • Bubble sort
  • Merge sort
  • Quick sort
  • Insertion sort
  • Selection sort 
  • Heap sort 
  • DFS ( Depth first search )
  • BFS ( Best first search )
  • A * search 
  • Hill climbing 
  • Binary search
  • Knapsack
  • LIS
  • LCS
  • Greedy Algorithm
Programmer হিসেবে  Data Structure and Algorithm Analysis ঃ

Computer Science  এর একটি  মুল ও  শক্তিশালী  সাবজেক্ট  হল   Data Structure and Algorithm Analysis .  একজন ভাল  ও দক্ষ    programmer  হতে  হলে অবশ্যই    data structure  Algorithm  Analysis  সম্পর্কে  জানতে  হবে ।   Data Structure and Algorithm  Analysis  শিখতে  কোন    programming language  এর  প্রয়োজন হয়না । যে কোন   language  দিয়ে   Data Structure and Algorithm Analysis  শিখা  যায় ।

একটি   program  কে সুন্দর  ও প্রাণবন্ত   করতে   Data Structure and Algorithm Analysis   এর  ভূমিকা  অপরিসীম  ।




 Software Design  থেকে  শুরু  করে  বড় বড়    problem  এর  solving   এ  এর  বিশেষ  জুড়ি  রয়েছে । কাজকে  সহজ ও সুন্দর ভাবে অতি অল্প  সময়ে  সবার সামনে    represent  করতে    Data Structure and Algorithm  এর  জুড়ি  নেই ।  তাইত  google ,  facebook , Amazon  ,  YouTube  সবার  চোখের মনি হয়ে  উঠেছে   এই   Data Structure and algorithm analysis  specialist রা ।  So , আজই শুরু কর নতুন  জীবনের  পথ চলা ।  


Data Structure and Algorithm সম্পর্কে আরও জানতে ঃ

Data Structure  and Algorithm  সম্পর্কে  আরও জানতে   google করতে পারেন ,   YouTube  এ ভাল ভাল   video content  রয়েছে  তা দেখতে  পারেন । আপনাদের  জানার  আগ্রহ  আরও তৈরি  করতে  বেশ  কিছু    resource  দিয়ে দিলাম ।

YouTube  :




  • mycodeschool
  • infinite loop
  • Bappy Nur
  • easytuts4you 
  • Nabil Hijazi
  • Derek Banas
  • Sujit das (MIT Course )
  • Love Extends Code
  • Jompesh
  • MIT open courseware
  • Florin Mazilu
Book name :







  • Programming Contest , Data Structure and Algorithm by  Md.Mahbubul Hasan
  • The Art of  computer  programming 
  • Programming pearls
  • Data Structure and Algorithms made easy by Narasimha karumnachi
  • Data Structure and Algorithms in JAVA by Robert Lafore 
  • The Algorithm Design Manual  by  Steven S Skiena
  • Introduction to Algorithms 
  • Algorithms
  • Elements of programming interviews in Java , The insider guide 
  • Algorithms in C
  • problem solving with Algorithm and Data Structure using Python
  • Algorithm design and problem solving Mathematics
  • Visualization of Algorithms 
  • Hackers Delight

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন