All posts filed under “এলগরিদম

comments 2

কম্পিটিটিভ প্রোগ্রামিং টিউটোরিয়াল লিঙ্কবাকসো

প্রোগ্রামিং সিলেবাস

ইন্সপায়ারিং অর স্ট্রাটেজিক

ডাটা স্ট্রাকচার

  • স্ট্যাক ডাটা স্ট্রাকচারhttps://goo.gl/YHKFZo (কন্টেস্ট প্রোগ্রামার তানভির হাসানের লেখা । অসাধারণ ।)
  • কিউ ডাটা স্ট্রাকচারhttps://goo.gl/DLT4gu (তানভির হাসানের লেখা ।)
  • লিঙ্কড লিস্ট ডাটা স্ট্রাকচার – https://goo.gl/apWYAt (তানভির হাসানের লেখা ।)
  • সেগমেন্ট ট্রি-১ – http://goo.gl/dTKLFk (শাফায়েত ভাইয়ের লেখা । শাফায়েত ভাই হিউজ পপুলার ব্লগ রাইটার ফ্রম বাংলাদেশ)

ডাইনামিক প্রোগ্রামিং

  • প্রিলিমিনারি ডাইনামিক প্রোগ্রামিং  http://goo.gl/lqtS9n  ( চাইনিজ ভাষায় লেখা । গুগল ক্রোম ব্যবহার করে ট্রান্সলেট করে নিতে হবে।)
  • How to come up with solutions for DP problems – https://goo.gl/Yv5JkS (Anwser from Quora by Michal Danilák)
  • Dynamic Programming Youtube Tutorial – https://goo.gl/QiurTN ( Youtuber speaks in Arabian. But english subtitles available. Awesome Links has been added with video. So check it out.)
  • How can I effectively practice Dynamic Programming to improve my skills – https://goo.gl/0VKz91
  • Awesome Youtube Video Tutorial by Tushar Royhttps://goo.gl/DrwFz7
  • Dynamic Programming (starting approach) – https://goo.gl/CzjGkO

নাম্বার থিওরী

  • এক্সটেন্ডেড ইউক্লিডীয়ান এলগোরিদম – http://goo.gl/lxvhmy (জুবায়ের হাসান লিখেছেন)
  • Chinese Remainder Theorem – http://goo.gl/ayvTkh (আবু আসিফের লেখা ।)
  • ম্যাট্রিক্স এক্সপোনেনসিয়েশন – http://goo.gl/4rTMh9 (ঢাবি শিক্ষক আনা ফারিয়া লিখেছেন।)
  • Practice Recursions – http://goo.gl/1m1l9b
  • Segmented Sieve of Eratosthenes – http://goo.gl/vdwd0o
  • Segmented Sieve – http://goo.gl/e4c1tS
  • ইনভার্স মড – https://goo.gl/WkUN6N
  • ইউলার ফাই ফাংশন – http://goo.gl/c9nct5
  • ন্যূনতম সংখ্যাতত্ত্ব – http://goo.gl/pznOJV
  • Pollard Rho Brent Integer Factorization – https://goo.gl/VQUkYu
  • Miller Rabin Primality Testhttps://goo.gl/xlbiay
  • পূর্ণ সংখ্যার প্রাইম ফ্যাক্টরাইজেশন – http://goo.gl/YBqDcO
  • প্রাইমারিলিটি টেস্টিং (সিভ অব এরাটস্থেনিজ) – http://goo.gl/DNH82v

কোড লাইব্রেরী

  • কন্টেস্ট কোড লাইব্রেরীhttps://goo.gl/dJ6Hpo ( জুবায়ের হাসানের কন্টেস্ট রিপো, মিলিওন ডলার দামি )
  • স্ট্যান্ডার্ড টেম্প্লেট লাইব্রেরী – https://goo.gl/7QJlCH ( ফাহিম ভাইয়ের লেখা, অবশ্য পাঠ্য)
  • গিট পরিচিতি – http://goo.gl/q31tqJ  (জনপ্রিয় প্রোগ্রামার হাসিন হায়দায়ের লেখা)
  • Lightweight Set of Boolean ওরফে Bitmaskhttp://goo.gl/1zDZpm (রুয়েট শিক্ষার্থী আবু আসিফের লেখা ।)
comments 2

সিনট্যাক্স টু কম্পিটিটিভ প্রোগ্রামিং জার্নি

কম্পিউটার সায়েন্সের শিক্ষার্থীদের এক দুটো সেমিস্টার যাওয়ার পর খুবই কমন একটি প্রশ্ন হলো, আমি সি ল্যাঙ্গুয়েজ পারি অথবা আমি পাইথন পারি – এখন কি করবো, ভাইয়া ? এই কথাটি শুনে সিনিয়র ভাইটি একটু মৃদু হেসে উত্তর দেন, ১০ বছরেও তো একটা ল্যাঙ্গুয়েজ পুরো শিখতে পারবা না এখনি সব পারো ! আসলে তুমি যেটা পারো সেটা হলো ব্যাসিক সিনট্যাক্স । কিভাবে ইনপুট আউটপুট নিয়ে কাজ করতে হয়, ডাটা টাইপ, ভেরিয়েবল, অপারেটর, কন্ডিশনাল স্টেটমেন্ট – if else, switch, কন্ট্রোল স্টেটমেন্ট – for loop, while loop এসব বেসিক কিছু ব্যাপার শিখে ফেলাটা খুব কঠিন কিছু না । তামিম শাহরিয়রের সুবিনের বই আর টন টন অনলাইন টিউটরিয়ালের ভিড়ে ক্লাস সিক্স অথবা সেভেনের ছেলেপেলেও এখন এসব পারে ।

comment 0

Graph Theory Algorithms

Why Graph Theory

Graph theory is an important topics in computer science algorithm arena. To be a good programmer you need to know couple of graph theory algorithms. Top sites like google, facebook or others, where searching is needed, you need to conduct with graph theory. Here, I just wrote code of different popular graph theory algorithms. If you want to know theoretical details or pseudo-code you may love to visit Shafayet Vai’s Blog . He explained graph theory in a very good way. I think, he is best tutorial maker in bengali language for algorithms. You should read CLRS book to know details.

comment 0

ডিএফএস ইমপ্লিমেন্টেশন কোড

[code language=”C++”] #include <bits//stdc++.h> using namespace std; int M[128][128]; // adjacency matrix bool seen[128]; // which vertices have been visited by dfs() int n; // number of vertices void dfs(int u) { seen[u] = true; printf(“%d “, u); for(int v = 0; v < n; v++) if(!seen[v] && M[u][v]) dfs(v); } int main() { scanf(“%d”, &n); for(int i=0; i<n; i++) { for(int j =0; j<n; j++) { scanf(“%d”, &M[i][j]); } } for(int i=0; i<n; i++) seen[i] = false; dfs(0); return 0; } [/code] রেফারেন্স লিঙ্কঃ Depth First Traversal for a Graph

comment 0

বিএফএস ইমপ্লিমেন্টেশন কোড

[code language=”C”] vector<int> adj[100]; //adj[a].push_back(b); for add an edge from a to b int visited[100]={0}; //O if not visited, 1 if visited int level[100]; void addEdge(int v, int w) { adj[v].push_back(w); // Add w to v’s list. } void bfs(int s, int n) { for(int i=0; i<n; i++) visited[i] = 0; queue<int>Q; Q.push(s); visited[s] = 1; level[s] = 0; while(!Q.empty()) { int u = Q.front(); cout << u <<" "; for(int i=0; i<adj[u].size(); i++){ if(visited[adj[u][i]]==0){ int v = adj[u][i]; level[v] = level[u]+1; visited[v] = 1; Q.push(v); } } Q.pop(); } cout<<endl; for(int i=0; i<n; i++) { printf("%d to %d distance…