Contoh soal Tree dan Jawabannya
Tree 1
Tree 2
Tree 3
1. Tentukan root masing masing tree
2. tentukan leaf masing masing tree
3. rubahlah menjadi binary tree
4. tentukan Height dan Width
5. dari ke 3 tree tersebut rubahlah menjadi binary tree
6. dari soal diatas bentuklah 3 aktifitas dalam binary tree
Pre order
In order
Post order
jawaban
1. tree 1 = A, tree 2 = 1, tree 3 =A1
2.tree 1 = (W,P,R,S,Z,H,I,J,U,V,X,L,Y,N,O)
tree 2 = (3,4,7,8,9,10)
tree 3 = (A4,A5,A6)
3. Tree1
Tree 2
Tree 3
4. Tree 1 Height = 6
Widht = 15
Tree 2 Height = 5
Width = 6
Tree 3 Height = 4
Width = 3
5.
6. Tree 1
Pre order Transversal = A B W G H I P Q R S T Z C J K U V X D L E M N Y F O
In Order Transversal = I H G P Q R S T Z A B W C J K U V X D L E M N Y F O
Post Order Trensversal = I Z T S R Q P G W B X V U K N Y M L J O FE D C A
Tree 2
Pre order Transversal = 1 2 3 4 5 6 7 8 9 10
In Order Transversal = 7 6 8 9 10 1 4 5 3 2
Post Order Trensversal = 7 6 8 9 10 4 5 3 2 1
Tree 3
Pre order Transversal = A1 A2 A3 A4 A5 A6
In Order Transversal = A6 A5 A4 A3 A1 A2
Post Order Trensversal = A6 A5 A4 A3 A2 A1
dini anggraini struktur data
Senin, 09 Februari 2015
Minggu, 08 Februari 2015
STRUKTUR DATA (PERTEMUAN TERAKHIR) GRAPH
STRUKTUR DATA
GRAPH
·
Graph adalah kumpulan dati titik (node) dan garis
dimana pasangan – pasangan titik (node) tersebut dihubungkan oleh segmen garis.
Node ini biasa disebut simpul (vertex) dan segmen garis disebut ruas (edge)
·
Simpul dan ruas dalam graph dapat diperluas dengan
penambahan informasi. Sebagai contoh, simpul bias diberi nomor atau label dan
ruas dapat diberi nilai juga. Perluasan dengan pemberian informasi ini sangat
berguna dalam penggunaan graph untuk banyak aplikasi computer. Contoh, graph
dengan simpul yang merepresentasikan kota dan ruas merepresentasikan jarak yang
ditempuh diantara kota – kota tersebut. (atau harga tiket pesawat antara kota –
kota tersebut)
·
Dapat digunakan sebagai “transportation network” untuk
mempelajari total jarak (atau harga) dari suatu perjalanan dengan banyak kota
pemberhentian. Satu kemungkinan pertanyaan yang bias muncul adalah “jalur mana
yang terpendek dengan satu atau lebih tempat pemberhentian, yang menghubungkan
kota tertentu menuju kota tertentu lainnya dalam transportation network
tersebut?”
KELAHIRAN TEORI GRAPH
·
Jembatan Konigsberg
Menurut catatan sejarah, masalah jembatan Konigsberg adalah masalah yang
pertama kali menggunakan graph (th. 1736). Masalah jembatan Konigsberg adalah :
“apakah mungkin melalui tujuh buah jembatan masing – masing tepat satu kali.
Dan kembali lagi ke tempat semula?”. Tak seorangpun yang dapat memecahkan
masalah ini. Barulah euler yang pertama kali menemukan jawabannya. Ia
memodelkan masalah dengan memodelkannya ke dalam graph. Daratan (titik – titik
yang dihubungkan oleh jembatan) dinyatakannya sebagai simpul (vertex) dan
jembatan sebagai sisi. Graph dibuat oleh Euler diperlihatkan pada gambar
dibawah atas.
·
Jawabannya adalah : orang tidak mungkin berjalan
melalui ketujuh jembatan masing – masing satu kali dan kembali ke tempat asal
keberangkatan. Singkatnya, tidak terdapat siklus Euler pada graph tersebut
·
Graph yang memenuhi kondisi diatas tersebut kemudian
dikenal dengan nama graph Euler dan perjalannya disebut perjalanan Euler
·
Perjalanan Euler adalah perjalanan dari suatu simpul
kembali ke simpul tersebut dengan melalui setiap ruas tepat satu kali
·
Perjalanan Euler akan terjadi, jika :
1.
Graf terhubung
2.
Banyaknya ruas yang dating pada setiap simpul adalah
genap
Jenis Graph
·
Berdasarkan ada tidaknya gelang atau sisi ganda pada
suatu graph, maka graph digolongkan menjadi dua jenis :
1.
Graph sederhana (simple graph)
Graph yang tidak mengandung gelang maupun sisi ganda dinamakan graph
sederhana
2.
Graph tak sederhana (unsimple graph / multigraph)
Graph yang mengandung ruas ganda atau gelang dinamakan graph tak sederhana
(unsimple graph / multigraph)
Berdasarkan jumlah simpul pada suatu graph, maka secara umum graph dapat
digolongkan menjadi dua jenis :
1.
Graph berhingga (limited graph)
Graph berhingga adalah graph yang jumlah simpulnya, n, berhingga
2.
Graph tak berhingga (unlimited graph)
Graph yang jumlah simpulnya, n, tidak berhingga banyaknya
Berdasarkan orientasi arah pada sisi, maka secara umum graph dibedakan atas
2 jenis :
1.
Graph tak berarah (undirected graph)
Graph yang sisinya tidak mempunyai orientasi arah
2.
Graph berarah (directed graph / digraph)
DEFINISI
·
Graph merupakan suatu koleksi dari himpunan VG dan EG
Notasi : G = {VG, EG}
G = Graph
VG = himpunan titik (vertex graph)
EG = himpunan garis (edge graph)
·
Titik : node / vertex
·
Garis : arc / edge
·
Jumlah vertex dalam suatu graph disebut ORDER dari
graph tresebut
·
Contoh : graph G dengan order = 4 (jumlah vertex = 4;
a, b, c, d)
·
Suatu graph hanya ditentukan oleh vertex – vertex dan
edge – edgenya. Posisi dari vertex – vertex dan edge – edge dalam penggambaran
tidaklah penting
·
Graph Equivalen : penggambaran graph yang sama
·
Suatu graph G disebut Simple Graph, jika :
·
· Tidak mempunyai edge yang Self Loop (tidak ada (V,V) dalam G)
· Tidak mempunyai Multiple Edge (hanya ada (Vi, Vj) dalam G) (V1, V2, V3, … ϵ VG)
·
· Multiple Edge adalah 1 vertex dihubungkan oleh beberapa edge
· Contoh ; pada gambar graph equivalen diatas, vertex b dihubungkan oleh edge
– edge 1, 2, 3, 5, 6, 7
· Sedangkan vertex c dihubungkan oleh edge- edge 2, 3, 4
· Self Loop adalah vertex yang dihubungkan oleh edge – edge menuju edge itu
sendiri
· Contoh : pada gambar graph equivalen diatas, vertex a dihubungkan oleh
graph 8 menuju a kembali
· Suatu graph G disebut Connected (terhubung) jika graph G dapat dipartisi
(dibagi) menjadi 2 graph dengan menghapus paling sedikit 1 edge
· Contoh yang tidak connected : suatu graph G terdiri
G = {VG, EG}
VG = {e, f, g, h}
EG = {1, 2, 3}
· Path dalam graph adalah barisan dari 1 buah edge –edge yang menghubungkan 2
vertex
· Notasi :
P(Vi, Vj) = (Vi, X1)(X1, X2)(X2, Xn-1)(Xn-1, Xn)(Xn, Vj)
· Dari gambar simple graph :
P(b,d) = (b,c)(c,d)
P(b,d) = (b,c)(c,b)(b,c)(c,d)
P(b,d) = (b,d)
P(b,d) = (b,c)(c,b)(b,d)
· Length dari suatu path adalah jumlah edge – edge pada path tersebut
· Contoh : perhatikan gambar simple graph :
P(b,d) =
(b,d)
length = 1
=
(b,c)(c,d)
length = 2
= (b,c)(c,b)(b,d)
length = 3
· Cycle adalah path yang memenuhi syarat sebagai berikut :
7. Tidak ada edge yang tampil lebih dari satu kali dalam barisan edge dari
path tersebut
Contoh : gambar simple graph
P(b,d) = (b,c)(c,b)(b,d)
= tidak boleh
8. Path harus berbentuk P(V,V)
9. Tidak ada vertex yang dikunjungi lebih dari satu kali
Contoh : P(a,a) = (a,b)(b,c)(c,d)(d,b)(b,a)
B dikunjungi lebih dari 1x
P(b,b) = (b,c)(c,b)(b,a)(a,c)(c,b)
C & b dikunjungi 3x
Contoh Cycle : P(b,b) = (b,d)(d,c)(c,b)
· Acyclic adalah graph yang tidak mempunyai cycle
· Contoh : graph G terdiri dari
G = {VG, EG}
VG = {a,b,c,d}
EG = {1,2,3}
·
Catatan :
0. Graph yang simple belum tentu yang acyclic
1. Graph yang acyclic adalah graph yang simple
· Graph yang berarah disebut DI-GRAPH / Directed Graph, adalah merupakan
graph dimana edge – edgenya mempunyai suatu arah
·
Pada gambar ;
·
(a,b) = 1 arah
(b,a) = 0 arah
· Graph yang tidak mempunyai arah boleh bolak – balik
·
Pada gambar;
·
(a,b) = 1 arah
(b,a) = 1 arah
OUT DEGREE, IN DEGREE, DEGREE DARI
SUATU VERTEX A
· Vertex a mempunyai :
1. Out degree (derajat luar) = N
Jika vertex a mempunyai N edge mengarah keluar
Misal : vertex a memunyai 2 edge mengarah ke luar (gambar digraph diatas)
2. In degree (derajat masuk) = N
Jika vertex a mempunyai N edge mengarah masuk ( gambar digraph diatas)
3. Degree (derajat) = N
Jika out degree a ditambah in degree a = N
Misal : vertex b
In degree = 2
Out degree = 3
Degree = 5
· Contoh : pada gambar digraph diatas;
Degree (a) = 3
Degree(b) = 5
Degree(c)
= 3
Degree(d) = 5
16
· Graph G dengan himpunan vertex V0 dan edge E0 diasumsikan graph berorder N
untuk N ≥ 1
· Salah satu pendekatan untuk graph ini menggunakan matriks Adjacency dengan
suatu array A ukuran N x N
A(i, j) 1 jika edge (Vi, Vj) Eij
0 jika edge (Vi, Vj) Eij
· Contoh graph Undirect / matriks simetris
·
Contoh : graph Direct
·
PENGGAMBARAN NODE DIRECTORY
· Penggambaran node dalam directory dibagi dalam 2 bagian :
1. Directory
2. Himpunan link list (LL)
· Setiap record dari link list mempunyai 2 field :
4. Node indetifier
5. Suatu link yang menghubungkan elemen lain dari list (next)
NODE
|
NEXT
|
· Directory menggambarkan banyak node
· Link list menunjukkan edge – edgenya
·
· Kalau punya harga (untuk penggambaran manajemen proyek) penggambaran
node-nya dibagi 3
Langganan:
Postingan (Atom)