Professional Documents
Culture Documents
Лабораторијска вјежба 3
Лабораторијска вјежба 3
Banja Luka
Katedra za računarsku tehniku
Laboratorijska vježba 3
Priprema
1. Ponoviti stablo.
2. Analizirati sljedeći kod:
// Obilazak stabla -- rekurzivna realizacija
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int main()
{
treeNode *root;
// Kreiramo stablo:
// 0
// / \
// 1 2
// / \ / \
// 3 4 5 6
// / \
// 7 8
root = newNode(0);
root->left = newNode(1);
root->right = newNode(2);
root->left->left = newNode(3);
root->left->right = newNode(4);
root->right->left = newNode(5);
root->right->right = newNode(6);
root->left->left->left = newNode(7);
root->left->left->right = newNode(8);
printf("Preorder obilazak:\n");
preOrderRek(root);
printf("\nInorder obilazak:\n");
inOrderRek(root);
printf("\nPostorder obilazak:\n");
postOrderRek(root);
system("pause");
}
3. Ponoviti grafove.
4. Analizirati sljedeći kod:
#include <stdio.h>
#include <stdlib.h>
// FIFO red:
#define MAXRED 128
typedef int tip;
int enqueue (tip element, tip queue[], int n, int izlaz, int *ulaz) {
if (((*ulaz+1) % n) == izlaz) return 0;
(*ulaz) = (*ulaz+1)%n;
queue[*ulaz] = element;
return 1;
}
int dequeue (tip *element, tip queue[], int n, int *izlaz, int ulaz) {
if (ulaz == *izlaz) return 0;
(*izlaz) = (*izlaz+1)%n;
*element = queue[*izlaz];
return 1;
}
// graf:
#define MAXNODES 128
typedef struct node node;
struct node
{
int element;
node *next;
};
int main()
{
graph g;
u v1 v2 v3 .. vn -1
system("pause");
}
5. Analizirati sljedeći kod:
void dfsVisit(graph g, node* vertex, char visit[])
{
visit[vertex->element] = 1;
printf("%d ", vertex->element);
node* curr = g[vertex->element];
curr = curr->next;
while (curr != NULL)
{
if (!visit[curr->element])
dfsVisit(g, curr, visit);
curr = curr->next;
}
}