• Sonuç bulunamadı

1 3 5 7 9 11 13 15

N/A
N/A
Protected

Academic year: 2021

Share "1 3 5 7 9 11 13 15"

Copied!
2
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Karadeniz Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

Öğr.Gör. Ömer ÇAKIR

BIL 2001 Veri Yapıları

Bütünleme Sınavı, 27.01.2017, 15:00, D-2 Süre : 100 Dakika

CEVAPLAR

void traverse1(Node* v) {

if (v->left != NULL) traverse1(v->left);

else cout << v->elt << " ";

if (v->right != NULL) traverse1(v->right);

}

void traverse2(Node* v) {

if (v->left != NULL) traverse2(v->left);

if (v->right != NULL) traverse2(v->right);

else cout << v->elt << " ";

}

void traverse3(Node* v) {

if (v->left == NULL) cout << v->elt << " ";

else traverse3(v->left);

if (v->right != NULL) traverse3(v->right);

}

void traverse4(Node* v) {

if (v->left != NULL) traverse4(v->left);

if (v->right == NULL) cout << v->elt << " ";

else traverse4(v->right);

}

1.

main()’de aşağıdaki ağacın rootu ile çağrıldığı varsayılan yukarıdaki fonksiyonların çıktıları nelerdir? (20P)

8 4

2 6

3 5 7

12

10 14

9 11 13 15 1

traverse1:

1 3 5 7 9 11 13 15

traverse2:

1 3 5 7 9 11 13 15

traverse3:

1 3 5 7 9 11 13 15

traverse4:

1 3 5 7 9 11 13 15

void traverse(Node* v) {

stack<Node*> stl_stack;

Node* current = v;

while (true) {

if (current != NULL) {

stl_stack.push(current);

current = current->left;

} else {

if (stl_stack.empty()) {

return;

} else {

current = stl_stack.top();

cout << current->elt << " ";

stl_stack.pop();

current = current->right;

} }

} }

2.

main()’de soldaki ağacın rootu ile çağrıldığı varsayılan traverse() fonksiyonunun çıktısı nedir? (30P)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

(2)

void removeOrdered(const string& e, const int& i) {

if(head == NULL) {

cout << "List is empty !" << endl; return;

}

if ((strcmp((char*)&head->elem, (char*)&e)) && (head->score == i)) {

SinglyNode* temp = head;

head = head->next;

delete temp;

return;

}

SinglyNode* current = head;

while (current->next != NULL) {

if ((strcmp((char*)&current->next->elem,(char*)&e)) && (current->next->score == i)) {

SinglyNode* temp = current->next;

current->next = current->next->next;

delete temp;

return;

}

current = current->next;

}

if (current->next == NULL)

cout << "\n" << e << " is not found" << endl;

}

3.

removeOrdered() fonksiyonunu tamamlayınız. (25P) İpucu  Silinecek eleman current->next ‘tir.

Zig (X:Sol)

4

7 8 6

1 3

Zig-Zig (X:Sağ, P:Sağ) Zig-Zig (X:Sol, P:Sol)

Zig (X:Sol)

Zig-Zig (X:Sağ, P:Sağ) Zig-Zag (X:Sol, P:Sağ) Zig-Zag (X:Sağ, P:Sol) Zig-Zag (X:Sağ, P:Sol)

4.

Yukarıdaki işlemlerle oluşturulan Splay Ağacına verilerin hangi sırada eklendiğini bulunuz. (25P)

6 3 8 1 7 4

Referanslar

Benzer Belgeler

1 DİN DİN KÜLTÜRÜ VE AHLAK BİLGİSİ 2 ZELİHA ELİF ALTAŞ.. 2 FEN FEN VE TEKNOLOJİ 4

Dönmezer, Sulhi, “Ağır Hapis Cezasında Hücre Devresi ve Tenfiz Sistemimiz Üzerinde Tekliflerimiz”, İstanbul Üniversitesi Hukuk Fakültesi Mecmua- sı, C.:XXVII, S.:1-4,

GÖKCAN, Hasan Tahsin; “Türk Ceza Kanunu Uygulamasında Kamu Görevlisi Kav- ramı”, Ceza Hukuku ve Kriminoloji Dergisi, Cilt: 3, Sayı: 2, Yıl: 2015, s.. GÖKCAN, Hasan Tahsin /

60 santimetre yükseklikteki tramplenden havu- za atlayan Ömer, suyun 74 santimetre derinli- ğine kadar dalmıştır.. Ömer’in atladığı yükseklikle daldığı derinlik

Yukarıdaki işlemlerle oluşturulan Splay Ağacına verilerin hangi sırada

DMO üzerinden alım yapılacaksa dmo katalog listesinden malzemeler seçilerek malzeme istem listesi oluşturulur ve muhasebe işlem fişi düzenlenerek gerekli onay

KDT15) Mars gezegeni gece gökyüzünde olan en parlak objelerden biridir, onu çıplak gözle kolaylıkla parlak kırmızı bir yıldız olarak görebiliriz. Her iki yılda bir, Mars

S.No Ders Dersin Adı Hs Yer Dersin Öğretmeni.. 1 5 .YDİ SEÇMELİ YABANCI DİL 2 SÜNDÜZ