محدوديت ها يا معايب
جست و جوي دودويي کدامند؟
v
üجست
و جوي يک کليد
مشخص معمولا بيش از يک يا دو دسترسي به
ديسک نياز
دارد.
(چرا؟)
ü
üمثلا
در يک فايل با 10000رکورد،
16
يا 17
دسترسي به ديسک
لازم خواهد بود.
ü
üنگهداري
يک فايل
بطور
مرتب شده
هزينه بالايي
خواهد داشت. (کدام؟)
ü
üهزينه ها؟ ( CPU ، I/O ، متد برنامه نويسي، ... )
ü
üانجام
مرتب سازي
فايل در
حافظه اصلي
(RAM)
فقط در
مورد فايل هاي کوچک
عملي
ميباشد.
ü
üدر
مورد فايل
هاي بزرگتر
بايستي تعداد زيادي دسترسي به
ديسک پيش
بيني شود. (چرا؟)
ü
üاستفاده
از RRN
براي فايل هاي حاوي رکورد متغير عملي
نخواهد بود.
روش مرتب
سازي کليدها (key sorting) چگونه است؟
üروشي برای
مرتب سازي
فايل هاي بزرگ
که
در
حافظه RAM
جا
نميگيرند.
üهنگام
مرتب سازي،
از آوردن
کل رکورد ها
به
حافظه خودداري
ميگردد.
üبرای مرتب سازی کافيست
فقط مقادير کليد
رکوردها در
حافظه موجود باشد.
üهمراه
با RRN
رکوردها!
(چرا؟)
üدراينصورت
مرتب سازي
کل
کليد ها در
حافظه انجام ميشود.
(Internal Sort)
üسپس بترتيب
کليدها،
رکوردها را
خوانده
و در فايل
جديدي مينويسيم.
•v
مزاياي
Indexing کدامند؟
ü
üامکان
مرتب سازي
داده ها بدون
نياز به جابجايي رکوردها
در فايل. (چرا؟)
ü
üامکان
تعريف
مسيرهاي مختلف براي
بازيابي
سريع داده
ها. (چگونه؟)
ü
üامکان دسترسي
سريع به فايل
هاي با رکورد متغير
بر حسب کليد.
ü
üامکان
استفاده بهينه از
حافظه RAM
براي جست و جوی
کليد ها.
(چرا؟)
ü
üامکان انجام
عمل جست و
جوي
دودويي
در حافظه
RAM.
ü
üجلوگيری از ايجاد اشاره
گرهای سرگردان (dangling
pointers) در داخل فايل. (چگونه؟)