jill listi
Transkript
jill listi
Karadeniz Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü Öğr.Gör. Ömer ÇAKIR BIL 1052 Veri Yapıları Final Sınavı, 03.01.2016, 10:00, D-2, D-9 Süre : 90 Dakika NUMARA : …………………………… AD SOYAD : …………………………………………………....... Sınavda Uyulması Gereken Kurallar İMZA : …………………………………………….............. DEĞERLENDİRME [........] ...................... 1. Cep telefonlarının saate bakmak için bile olsa herhangi bir amaçla kullanılması yasaktır. Telefon kapalı ve cepte olmalıdır. 2. Sınavın başında sorular kısaca açıklanacaktır. Öğrencilerin soruları cevaplandıktan sonra sınav boyunca soru sormak yasaktır. 3. Soru kağıdına numaranızı ve isminizi yazıp imzalamayı unutmayınız. void reverseList(DoublyLinkedList* list, DoublyNode* hNext, DoublyNode* tPrev) { if (hNext == tPrev) return; if (hNext->next == tPrev) { list->add(hNext, tPrev->elem, tPrev->score); list->remove(tPrev); return; } else { list->add(hNext, tPrev->elem, tPrev->score); tPrev = tPrev->prev; list->remove(tPrev->next); list->add(....., hNext->elem, hNext->score); hNext = hNext->next; list->remove(hNext->prev); reverseList(list, hNext, .....); } } void main() { DoublyLinkedList* list = new DoublyLinkedList(); list->insertOrdered("Paul", 720); list->insertOrdered("Rose", 590); list->insertOrdered("Anna", 660); list->insertOrdered("Mike", 1105); list->insertOrdered("Rob", 750); list->insertOrdered("Jack", 510); list->insertOrdered("Jill", 740); cout << "Reversed List :" << endl; reverseList(list, list->header->next, list->trailer->prev); list->printH2T(); } 1. Liste elemanlarını reverse yapan reverseList() fonksiyonunda ..... ile temsil edilen yerlere ait kodlar sırasıyla aşağıdakilerden hangisidir? (30P) Yanlış cevaptan 5P kırılacaktır. (A) tPrev tPrev->prev (B) tPrev->prev tPrev (C) tPrev tPrev->next (D) tPrev->next tPrev (E) tPrev->next tPrev->prev 16 void LinkedBinaryTree::traverse(Node* p) { while (root != NULL) { while ((p->left != NULL) || (p->right != NULL)) { if (p->left != NULL) p = p->left; else p = p->right; } 8 4 2 cout << p->elt << endl; deleteNode(root, p->elt); p = root; } // Çıktı void main() { LinkedBinaryTree binaryTree; binaryTree.addRoot(); binaryTree.root->elt = 8; binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, binaryTree.addBelowRoot(binaryTree.root, 4); 12); 2); 6); 10); 14); 1); 3); 5); 7); 9); 11); 13); 15); binaryTree.traverse(binaryTree.root); } a) Yukarıdaki programın çıktısı nedir? (20P) b) Yukarıdaki programın çıktısı hangi ağaç gezinme yöntemine eşdeğerdir? (15P) Yanlış cevaptan 5P kırılacaktır. (A) inorder (B) preorder (C) postorder 8 4 12 2 1 6 3 5 10 7 12 6 10 20 14 18 28 22 3. Yukarıdaki 2-3-4 ağacından 16’yı siliniz. } 2. 24 9 14 11 13 15 26 30 (35P)
Benzer belgeler
veri yapıları
VERİ YAPILARI
Yrd. Doç. Dr. Deniz KILINÇ
[email protected]
Ar. Gör. Fatma BOZYİĞİT
[email protected]
Veri Yapıları - Ders Notu - Süper
İkili bir ağaçtır (boş olabilir)
Her düğüm bir tanımlayıcı içermelidir.
Sol alt ağaçtaki bir düğümün tanımlayıcısı kök
düğümdeki tanımlayıcıdan daha küçüktür.
Sağ alt ağaçtaki herhangi bir düğümün
C++ Giriş-2
d iz id e k i k u t u la r ın t ü r ü d iz i is m i [ e le m a n s a y ıs ı]
Ö rn e k :
in t d a t a [ 1 5 ] ;
D iz i iç in d e k i d e ğ iş k e n le r e ( ç e k m e c e le r e )
ö n c e d e n d e ...