درخت دودویی جست و جو

lighting

Member
یه سوال دیگه اگه بخواهیم یه الگوریتمی بنویسیم که یک ارایه گرفته و با استفاده از درخت دودویی جست و جو عناصر تکراری اون رو حذف کنه چه کار باید انجام بدیم؟
 

the_king

مدیرکل انجمن
یه سوال دیگه اگه بخواهیم یه الگوریتمی بنویسیم که یک ارایه گرفته و با استفاده از درخت دودویی جست و جو عناصر تکراری اون رو حذف کنه چه کار باید انجام بدیم؟

مقادیر داخل آرایه مرتبه دیگه؟ چون اگر مرتب نباشه جستجوی دو دویی مفهومی نداره.
اصلا جستجو لازم نداره، چه جستجوی دو دویی و چه غیر دو دویی. یکبار لیست رو از اول تا آخر پیمایش می کنین.
مزیت جستجوی دو دویی در اینه که با سرعت بالا یک مقدار خاص رو پیدا کنه، اگر اون مقدار خاص چند بار تکرار
شده باشه، یکی شون رو پیدا می کنه، اما الزامی نداره که اولین مورد یا وسطی یا آخرین مورد باشه.
در ضمن اگر لیست مرتبه، عناصر تکراری پشت سر هم قرار دارند و پیدا کردن عناصر مشابه جستجو نمی خواد.

1) مقدار 1 رو در x قرار می دهیم.
2) مقدار 1 رو در y قرار می دهیم.
3) اگر اندیس x از بازه اندیس های آرایه a بزرگتر بود به مرحله 9 می رویم.
4) اگر [a[x با مقدار [a[x - 1 برابر بود به مرحله 7 می رویم.
5) مقدار [a[x را در [a[y می نویسیم.
6) مقدار y را یک واحد افزایش می دهیم.
7) مقدار x را یک واحد افزایش می دهیم.
8) به مرحله 3 می رویم.
9) پایان
 

جدیدترین ارسال ها

بالا