• Sonuç bulunamadı

2. 1. Süre : 100 Dakika Öğr.Gör. Ömer ÇAKIR BIL 2001 Bilgisayar Mühendisliği Bölümü Bütünleme Sınavı , 27.01.2017, 15:00, D-2 Karadeniz Teknik Üniversitesi Veri Yapıları

N/A
N/A
Protected

Academic year: 2021

Share "2. 1. Süre : 100 Dakika Öğr.Gör. Ömer ÇAKIR BIL 2001 Bilgisayar Mühendisliği Bölümü Bütünleme Sınavı , 27.01.2017, 15:00, D-2 Karadeniz Teknik Üniversitesi Veri Yapıları"

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

NUMARA : ……… AD SOYAD : ………...

İMZA : ………...

DEĞERLENDİRME

[

...

]

...

Öğrenciler, Mühendislik Fakültesi Sınav Uygulama Yönergesi‘ndeki kurallara uymalıdırlar.

Sınavın başında sorular kısaca açıklanacaktır. Öğrencilerin soruları cevaplandıktan sonra sınav boyunca soru sormak yasaktır.

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:

traverse2:

traverse3:

traverse4:

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)

(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)) {

...

...

...

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)

Referanslar

Benzer Belgeler

ile temsil edilen yerlere ait kodlar sırasıyla aşağıdakilerden

Düğümleri dairesel bağlı listeye score değerlerine göre küçükten büyüğe sıralı ekleyen insertOrdered() fonksiyonunda ... ile temsil edilen satırlara

Düğümleri dairesel bağlı listeye score değerlerine göre küçükten büyüğe sıralı ekleyen insertOrdered() fonksiyonunda ... ile temsil edilen satırlara

Cep telefonlarının saate bakmak için bile olsa herhangi bir amaçla kullanılması yasaktır.. Telefon kapalı ve

Yukarıda dictionary.txt’de verilen kelimeleri Hash() fonksiyonunu ve çakışma çözümleme yöntemi olarak linear probing’i kullanarak relative.txt’ye yazınız.. Ayrıca

Yukarıda dictionary.txt’de verilen kelimeleri Hash() fonksiyonunu ve çakışma çözümleme yöntemi olarak linear probing’i kullanarak relative.txt’ye yazınız.. Ayrıca

Yukarıda dictionary.txt’de verilen kelimeleri Hash() fonksiyonunu ve çakışma çözümleme yöntemi olarak linear probing’i kullanarak relative.txt’ye yazınız.. Ayrıca

Cep telefonlarının saate bakmak için bile olsa herhangi bir amaçla kullanılması yasaktır.. Telefon kapalı ve