Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
درود دوستان! 👋
امروز می‌خوایم درباره یکی از مهم‌ترین الگوریتم‌های جست‌وجو صحبت کنیم: الگوریتم جست‌وجوی دودویی (Binary Search). این الگوریتم برای پیدا کردن سریع یک عنصر در یک آرایه مرتب‌شده استفاده می‌شه. بریم که با این الگوریتم بیشتر آشنا بشیم! 🚀

📌 الگوریتم جست‌وجوی دودویی (Binary Search)
الگوریتم جست‌وجوی دودویی یکی از سریع‌ترین الگوریتم‌های جست‌وجو هست که زمان اجرای اون O(log n) هست. این الگوریتم به صورت زیر کار می‌کنه:
1. بررسی عنصر وسط: ابتدا عنصر وسط آرایه رو پیدا می‌کنیم.
2. مقایسه: اگر عنصر وسط برابر با عنصر مورد نظر باشه، جست‌وجو تموم می‌شه.
3. تقسیم‌بندی: اگر عنصر مورد نظر کوچکتر از عنصر وسط باشه، جست‌وجو رو در نیمه چپ آرایه ادامه می‌دیم؛ اگر بزرگتر باشه، در نیمه راست آرایه ادامه می‌دیم.
4. تکرار: این مراحل رو تا زمانی که عنصر مورد نظر پیدا بشه یا محدوده جست‌وجو به صفر برسه، تکرار می‌کنیم.

نمونه کد جست‌وجوی دودویی به زبان پایتون:

def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1

# استفاده
arr = sorted([3, 6, 8, 10, 1, 2, 1]) # آرایه مرتب‌شده
target = 10
print("Element found at index:", binary_search(arr, target))

در این مثال، ابتدا آرایه رو مرتب می‌کنیم و سپس از الگوریتم جست‌وجوی دودویی برای پیدا کردن عنصر مورد نظر استفاده می‌کنیم. اگر عنصر پیدا بشه، اندکس اون برگردونده می‌شه؛ در غیر این صورت، -1 برگردونده می‌شه.

استفاده از جست‌وجوی دودویی باعث می‌شه تا در آرایه‌های بزرگتر، زمان جست‌وجو به طور قابل توجهی کاهش پیدا کنه.

📢 به دوستانتون هم بگین بیاین اینجا تا با هم بیشتر یاد بگیریم! 🌟

[اینم کانال ماست]

#برنامه_نویسی #آموزش #الگوریتم #جستجو #یادگیری #BinarySearch #الگوریتم_دودویی