Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Haz r veri yap s ( List vb . ) kullan larak yap lan devler de erlendirmeye al nmayacakt r . Bir kargo irketi ,

Hazr veri yaps(List vb.) kullanlarak yaplan devler deerlendirmeye
alnmayacaktr.
Bir kargo irketi, mterilerinin kargolarn etkili bir ekilde takip etmelerini ve gnderi
bilgilerine hzlca erimelerini salamak istemektedir. Uygulamada olacak ilemler:
1. Kargo Bilgilerini Depolama:
Her bir kargonun takip numaras, gnderici, alc ve teslimat durumu gibi bilgileri ieren bir
veri yaps oluturun.
typedef struct{
int takipNo;
char gonderici[100];
char alici[100];
char kargoDurum[100];
}Kargo;
Yukardaki yapda olan ve bilgileri veri.txt dosyasnda tutulan kaytlar Kargonun takipNo
bilgisi kullanlarak aadaki hashleme kurallarna gre indekslenecektir.
Kargo bilgileri iin Kargo* veri trnde 10 boyutunda bir hash_tablo dizisi oluturulacaktr.
Kargo * hash_tablo[10];
2. Takip Numaras Oluturma ve Hashleme:
Her yeni kargo iin benzersiz bir takip numaras bulunmaktadr. Gelen takip numarasna gre
hash tablosuna ekleme ilemi aadaki gibi olacaktr.
HashIndex1: TakipNo % TABLO_BOYUTU
HashIndex2: 7-(TakipNo %7)
Hashing lemi:
1. Takip numarasn(takipNo) tablonun boyutuna gre mod alarak indeks bulun
(HashIndex1). Eer hash tablosunda bulunan indeks bosa, ekleme ilemini
gerekletirin.
2.akma varsa aadaki formlakma olmayana kadar kontrol edin. lk akma
olmayan indekse ekleme ilemini gerekletirin. Tm denemeler sonucunda bo yer
bulunamyorsa kullancy tablo dolu eklinde bilgilendirin.
Double Hashing : (HashIndex1+ deneme * HashIndex2)% TABLO_BOYUTU
Hashleme ile ilgili rnek tablo ve HASH tablosuna ekleme ilemi aada verilmitir.
Hashleme sonucunda elde edilen hash tablosu
EKLE 34:
lk indeks: HashIndex1(34)=4
Sonu: Hash tablosunun 4. indeksine eklendi.
EKLE 12:
lk indeks: HashIndex1(12)=2
Sonu: Hash tablosunun 2. indeksine eklendi.
EKLE 22:
lk indeks: HashIndex1(22)=2(akma var)
kinci indeks: HashIndex2(22)=6
Double Hashing ile Hesaplanan ndeks: 2+1*6=8%10=8
Sonu: Hash tablosunun 8. indeksine eklendi.
EKLE 50:
lk indeks: HashIndex1(50)=0
Sonu: Hash tablosunun 0. indeksine eklendi.
EKLE 14:
lk indeks: HashIndex1(14)=4(akma var)
kinci indeks: HashIndex2(14)=7
Double Hashing ile Hesaplanan ndeks: 4+1*7=11%10=1
Sonu: Hash tablosunun 1. indeksine eklendi.
EKLE 32:
lk indeks: HashIndex1(32)=2
kinci indeks: HashIndex2(32)=3
Double Hashing ile Hesaplanan ndeks: 2+1*3=5%10=5
Sonu: Hash tablosunun 5. indeksine eklendi.
EKLE 10:
lk indeks: HashIndex1(10)=0
kinci indeks: HashIndex2(10)=4
Double Hashing ile Hesaplanan ndeks: 0+1*4=4%10=4(akma var)
Double Hashing ile Hesaplanan ndeks: 0+2*4=8%10=8(akma var)
Double Hashing ile Hesaplanan ndeks: 0+3*4=12%10=2(akma var)
Double Hashing ile Hesaplanan ndeks: 0+4*4=16%10=6
Sonu: Hash tablosunun 6. indeksine eklendi.
3. Kargolar toplu bir ekilde sisteme girme:
Text dosyasna toplu bir ekilde kargo bilgilerini kaydedin. Uygulamada kargolar text
dosyasndan okuyarak Hash tablosuna kaydetme yapnz.rnek bir text dosyasnn ierii
aadaki gibidir:
Text dosyas incelendiinde;
34: kargo takip numaras
AL: gnderici
AHMET: alc
KARGODA: kargo durum bilgisi
4. Kullanc tarafndan kargo girii:
Kargo bilgileri text dosyasndan girildikten sonra kullanc tarafndan da girilebilir olmas
gerekmektedir.
Eer tablo doluysa tablo dolu uyars vermesi gerekmektedir. rnein 54 takip nolu kargo
eklenmek istendiinde eklenebilecei indekslerin hepsi dolu olduundan ekrana dolu uyar
vermektedir.
5. Kargo Takip Durum:
Mterilerin kargo takip numaralarn kullanarak gnderilerini takip etmelerine olanak tanyan
bir sorgu sistemi ekleyin. Bu sistemde girilen takip numarasn Hash tablosunda ka admda
bulduu bilgisi ve kargo bilgileri yer alacaktr.
6. Kargo Teslim Etme ilemi (Hash tablosundan silme):
Kullancya kargo teslim seenei sunarak, girilen kargo takip numarasna ait kargonun Hash
tablosundan silme ilemini gerekletirin.
7. Kargolar Listele (Hash tablosundaki bilgileri listeleme):
Hash tablosundaki tm kargolarn ka admda bulunduu ve kargolara ait bilgileri listeleme
yapnz

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Pro SQL Server Wait Statistics

Authors: Enrico Van De Laar

1st Edition

1484211391, 9781484211397

More Books

Students also viewed these Databases questions