এইতো অল্প কিছুদিন পূর্বেই একটি 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 নিয়ে আমরা ৩ ধরনের কাজ করে থাকি ।
- Data input
- Data Processing
- 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 .
আমরা চাইলে একটি 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





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