Wednesday, November 26, 2014

Python: Sorting Algorithm

আশা করি এই কোড দেখে পাইথনের ডাটাস্ট্রাকচার সর্ম্পকে কিছু ধারনা নেয়া যাবে।

পাইথনের কোড বুঝার আগে মনে রাখার মত কিছু জিনিসঃ 

  • পাইথনে branching এর জন্য কোন কার্লি ব্রাকেট { ... } নাই।
  • Branching করতে হয় স্পেস দিয়ে।
  • ৪ টা স্পেস standard.
  • তারমানে এখানে indentation এর ভূমিকা ব্যাপক। :)
  • পাইথনে single line কমেন্ট করা হয় # দিয়ে এবং multiple line কমেন্ট করা হয় """ comment """ দিয়ে।
  • if condition লিখা হয়  1. if condition: 2. if condition: elif conditoin: else:
  • range একটা ফাংশন যা লুপের রেঞ্জ ঠিক করে দেয় কত থেকে কত পর্যন্ত লুপ ঘুরবে। range(n) মানে লুপ ঘুরবে 0 থেকে n-1 পর্যন্ত। range(x,n) মানে লুপ ঘুরবে x থেকে n-1 পর্যন্ত।
  • for loop লিখা হয়,  1. for i in range(x,y): এখানে লুপ x থেকে y-1 পর্যন্ত ঘুরবে।  2. for i in Li: মানে Li লিস্টের প্রতিটা এলিমেন্ট i হিসেবে থাকবে প্রতি ইটারেশনে।
  • while loop লিখা হয় while condition:
  • function লিখা হয়ঃ def function_name(parameter_list): ----
  • Details about python

1.Bubble Sort:

Complexity:
Best case: O(N)
Average Case:O(N^2)
Worst Case: O(N^2)

2. Insertion Sort:

Complexity:
Best case: O(N)
Average Case: O(N^2)
Worst Case: O(N^2)

3.Quick Sort:

Complexity:
Best case: O(N log N)
Average Case: O(N log N)
Worst Case: O(N^2)


4. Merge Sort:

Complexity:
Best case: O(N log N)
Average Case: O(N log N)
Worst Case: O(N log N)


4. Counting Sort:

Complexity:
Best case: O(N)
Average Case: O(N)
Worst Case: O(N)

No comments:

Post a Comment

Popular posts