Top Banner
O. T. Yıldız, C && Java ile Veri Yapılarına Giri¸ s, Bo ˘ gaziçi Üniversitesi Yayınevi, 2013 1 / 31 Bölüm 6. Karma Olcay Taner Yıldız 2014
31

Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Feb 16, 2019

Download

Documents

hadieu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 1 / 31

Bölüm 6. Karma

Olcay Taner Yıldız

2014

Page 2: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Karma Tablosu

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 2 / 31

Page 3: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

5 eleman içeren örnek bir karma tablosu

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 3 / 31

6 76

5

4 11

3 423

2 9

1 71

0

Page 4: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Tam sayılar içeren karma tablosu tanımı

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 4 / 31

1 public class Karma{2 Ornek[] tablo ;3 boolean[] silindi ;4 int N;5 public Karma(int N){6 tablo = new Ornek[N];7 silindi = new boolean[N];8 this.N = N;9 }

10 }

Page 5: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Tamsayılar için kullanılabilecek örnek birkarma fonksiyonu

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 5 / 31

1 int karma(int sayi){2 return sayi % N;3 }

Page 6: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Katarlar (karakter dizileri) içinkullanılabilecek örnek bir karma fonksiyonu

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 6 / 31

1 int karma(String katar){2 int i, pozisyon = 0;3 for (i = 0; i < katar.length; i++){4 pozisyon = 39 * pozisyon + katar.charAt(i );5 }6 pozisyon = pozisyon % N;7 return pozisyon;8 }

Page 7: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Baglı Liste ile Karma Tablosu Tanımı

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 7 / 31

Page 8: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Her elemanı bir baglı liste olan örnek birkarma tablosu

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 8 / 31

9 49 29 19

8

7

6 36 6

5 75

4 64 14 24

3

2

1 71 1

0 10

Page 9: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Her elemanı bir baglı liste olan karmatablosu tanımı

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 9 / 31

1 public class Karma{2 Liste [] tablo ;3 int N;4 public Karma(int N){5 int i;6 tablo = new Liste[N];7 for (i = 0; i < N; i++)8 tablo [ i ] = new Liste ();9 this.N = N;

10 }11 }

Page 10: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Her elemanı baglı liste olan bir karmatablosunda bir sayı arama

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 10 / 31

1 Eleman karmaAra(int icerik){2 int adres;3 adres = karma(icerik);4 return tablo[adres].listeAra( icerik );5 }

Page 11: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Her elemanı baglı liste olan bir karmatablosuna yeni bir eleman ekleme

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 11 / 31

1 void karmaEkle(Eleman eleman){2 int adres;3 adres = karma(eleman.icerik);4 tablo [adres]. listeyeEkle (eleman);5 }

Page 12: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Her elemanı baglı liste olan bir karmatablosundan bir elemanı silme

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 12 / 31

1 void karmaSil(int icerik){2 Eleman eleman;3 int adres;4 adres = karma(icerik);5 eleman = tablo[adres]. listeAra ( icerik );6 if (eleman != null)7 tablo [adres]. listedenSil (eleman);8 }

Page 13: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Karma Tablosu Islemleri (Baglı Liste)

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 13 / 31

● Arama: O(1)● Ekleme: O(1)● Silme: O(1)

Page 14: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Açık Adresleme

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 14 / 31

Page 15: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Dogrusal strateji ile düzenlenmis açıkadreslemeli bir karma tablosu

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 15 / 31

9 89 89 89 89 89

8 18 18 18 18

7

6

5

4

3

2 69

1 58 58

0 49 49 49

Page 16: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Karma tablosunda bir sayı arama (dogrusalstrateji)

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 16 / 31

1 Ornek karmaAra(int icerik){2 int adres;3 adres = karma(icerik);4 while (tablo[adres] != null){5 if (!( silindi [adres]) && tablo[adres]. icerik == icerik )6 break;7 adres = (adres + 1) % N;8 }9 return tablo[adres];

10 }

Page 17: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Karma tablosunda yeni bir eleman ekleme(dogrusal strateji)

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 17 / 31

1 void karmaEkle(Ornek ornek){2 int adres;3 adres = karma(ornek.icerik);4 while (tablo[adres] != null && !(silindi [adres]))5 adres = (adres + 1) % N;6 if (tablo [adres] != null)7 silindi [adres] = false;8 tablo [adres] = ornek;9 }

Page 18: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Karma tablosundan eleman silme (dogrusalstrateji)

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 18 / 31

1 void karmaSil(int icerik){2 int adres;3 adres = karma(icerik);4 while (tablo[adres] != null){5 if (!( silindi [adres]) && tablo[adres]. icerik == icerik )6 break;7 adres = (adres + 1) % N;8 }9 silindi [adres] = true;

10 }

Page 19: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Ikinci derece strateji ile düzenlenmis açıkadreslemeli bir karma tablosu

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 19 / 31

9 89 89 89 89 89

8 18 18 18 18

7

6

5

4

3 69

2 58 58

1

0 49 49 49

Page 20: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Çift karma strateji ile düzenlenmis açıkadreslemeli bir karma tablosu

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 20 / 31

9 89 89 89 89 89

8 18 18 18 18

7

6 49 49 49

5

4

3 58 58

2

1

0 69

Page 21: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Karma Tablosu Islemleri (Dizi)

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 21 / 31

● Arama: O(1)● Ekleme: O(1)● Silme: O(1)

Page 22: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Tekrar Karma

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 22 / 31

Page 23: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Önceki sekildeki karma tablosunun tekrarkarılması

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 23 / 3113

12

11 11

10

9 9

8

7

6 76

5

4

3 423

2

1 71

0

Page 24: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Bir karma tablosunu tekrar karma

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 24 / 31

1 void tekrarKarma(){2 int i;3 Ornek[] tablo ;4 boolean[] silindi ;5 tablo = new Ornek[N];6 silindi = new boolean[N];7 for (i = 0; i < N; i++){8 tablo [ i ] = this.tablo[i ];9 silindi [ i ] = this. silindi [ i ];

10 }11 this.tablo = new Ornek[2 * N];12 this. silindi = new boolean[2 * N];13 N = 2 * N;14 for (i = 0; i < N / 2; i++)15 if (tablo [ i ] != null && !silindi [ i ])16 karmaEkle(tablo[i ]);17 }

Page 25: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Uygulama: Hedef Tahtası

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 25 / 31

Page 26: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Hedef tahtası probleminin genis aramayöntemiyle çözümü (1)

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 26 / 31

1 String hedefTahtasi(int[] tahta){2 int i, t ;3 String a;4 Eleman e;5 Kuyruk k;6 Ornek o;7 Karma kt;8 e = new Eleman(0, "");9 k = new Kuyruk();

10 k.kuyrugaEkle(e);11 o = new Ornek(0);12 kt = new Karma();13 kt .karmaEkle(o);

Page 27: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Hedef tahtası probleminin genis aramayöntemiyle çözümü (2)

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 27 / 31

14 while (!k.kuyrukBos()){15 e = k.kuyrukSil ();16 if (e.toplam == 100)17 return e.atis;18 for (i = 0; i < 5; i++){19 t = e.toplam + tahta[ i ];20 if (t <=100)21 if (kt .karmaAra(t) != null){22 a = e. atis ;23 a = a + " " + tahta[ i ];24 e = new Eleman(t, a);25 k.kuyrugaEkle(e);26 o = new Ornek(t);27 kt .karmaEkle(o);28 }29 }30 }31 return null;32 }

Page 28: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Uygulama: Karma Dizini

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 28 / 31

Page 29: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Ögrenci bilgilerini (no, ad, soyad) içerenörnek yapısı

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 29 / 31

1 public class Ornek{2 String ad;3 String soyad;4 int icerik ;5 public Ornek(int no, String ad, String soyad){6 this.icerik = no;7 this.ad = ad;8 this.soyad = soyad;9 }

10 }

Page 30: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Ögrenci dosyasındaki bilgilerle karmatablosunu doldurmak

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 30 / 31

1 Karma dosyaOku(){2 Scanner dosya;3 Ornek e;4 String ad;5 String soyad;6 int no, yas, i , sayi ;7 Karma k;8 dosya = new Scanner(new File("ogrenci.txt"));9 sayi = dosya.nextInt ();

10 k = new Karma();11 for (i = 0; i < sayi ; i++){12 no = dosya.nextInt ();13 ad = dosya.next();14 soyad = dosya.next();15 e = new Ornek(no, ad, soyad);16 k.karmaEkle(e);17 }18 return k;19 }

Page 31: Bölüm 6. Karma - haydut.isikun.edu.trhaydut.isikun.edu.tr/veriyapilari-sunum/karma.pdf · Karma Tablosu Karma Tablosu Baglı Liste ile Karma˘ Tablosu Tanımı Açık Adresleme

Numarası 18 olan ögrencinin ad ve soyadınıbulan karma dizini kullanarak fonksiyon

Karma Tablosu

Baglı Liste ile KarmaTablosu Tanımı

Açık Adresleme

Tekrar Karma

Uygulama: HedefTahtası

Uygulama: KarmaDizini

O. T. Yıldız, C && Java ile Veri Yapılarına Giris, Bogaziçi Üniversitesi Yayınevi, 2013 31 / 31

1 void sorgu(Karma k){2 Ornek o;3 o = k.karmaAra(18);4 System.out.print(o.ad);5 System.out.print(o.soyad);6 }