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

Cevaplar

Cevaplar list2->addFront(nodeA->elem, nodeA->score); list->remove(nodeA);

Detaylı

veri yapıları

veri yapıları VERİ YAPILARI Yrd. Doç. Dr. Deniz KILINÇ [email protected] Ar. Gör. Fatma BOZYİĞİT [email protected]

Detaylı

Sorular

Sorular Karadeniz Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü Öğr.Gör. Ömer ÇAKIR

Detaylı

Veri Yapıları - Ders Notu - Süper

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

Detaylı

C++ Giriş-2

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 ...

Detaylı