STRUKTUR DATA SAK 1107
TUTORIAL 3
JAWAPAN
i). Bina Senarai
– bina senarai kosong.
ii). Senarai Kosong – menentukan
samada senarai kosong atau tidak.
iii). Susuran – menyusur senarai.
iv). Selit senarai -
selitan elemen baru ke dalam senarai pada tempat tertentu.
v). hapus Senarai - hapuskan
elemen dari senarai.
i).
Senarai - adalah satu jujukan terhingga(mungkin
kosong).
- data struktur paling asas.
- adalah
dinamik
ii). Tatasusunan – adalah koleksi
elemen, 1 set, 1 operasi stack yang mentakrifkan
pemetaan daripada set indeks kepada elemen dan satu operasi
RETRIEVE yang menjalankan proses pemetaan.
- elemennya
adalah static.
-
indeks terdiri daripada 1
dimensi ke N dimensi.
X C B A
® B ® ®
Tuliskan algoritma yang akan menghapuskan nod kedua dalam senarai.
Andaikan
nod
pertama dalam senarai adalah starptr.
Algoritma.
Jika (item = = startptr ® nama)
Preptr = startptr
Startptr = startptr ® Nextptr
Free(preptr)
Jika tidak
Preptr = startptr ;
Ptrsemasa = startprt ® Nextptr
Ulang selagi (ptrsemasa != NULL
&& ptrsemasa
Preptr = ptrsemasa ® Nextptr ;
[akhir ulangan]
preptr ® Nextptr = ptrsemasa ® Nextptr
Free (ptrsemasa);
[akhir jika]
tamat.
item baru
I .
setkan ptr = startptr;
Bil=0;
2.
ulnag selagi ptr ! = NULL
3.
jika (ptr ® data + 5>20)
4. bil = bil+1;
[akhir jika]
5. ptr = ptr ®nextptr;
[tamat ulangan]
6. tamat.
int a,b; int
*ptr; int** ptrptr ; ptr = &a; ptrptr = &ptr ;
apakah
nilai bagi * ptr dan ** ptrptr ?
® 10.
® tindanan = guna kaedah LIFO (last in first out )
= penambahan dan penghapusan berlaku
atas tindanan.
®Basris gilir = guna kaedah FIFO (first in first out )
= pengahapusan didepan baris gilir.
= Penambahan berlaku dibelakang baris gilir.
® tindanan ialah suatu situasi item data yg di susun dalam jujukan linear.
Operasi
asas tindanan ialah :
a)
bina tindanan = mewujudakan
tindanan.
b)
Kosongkan tindanan =
menghapuskan setiap item jika ada.
c)
Tindanan kosong = uji
samada tindanan mengandungi item atau bukan item dan memulangkan nilai benar
atau palsu.
d)
POP = pengeluaran unsur
dari atas tindanan.
e)
PUSH = memasukkan item baru
kedalam tindanan.
10 . a) jawapan
® Algoritma [ tambah Negara ]
insert ( LA , n , k , item )
1. [pengistiharan
pembilang]
setkan j := n
2. ulang langkah 3 dan 4
selagi j ³ k
3 [pindahkan unsure ke j ]
set LA [j + 1
] := LA [j]
4. [kurangkan pembilang]
j := j-1
5. [mengemaskini unsure]
set LA [k] :=
item
6 . [reset N ]
set n := n + 1
7. tamat.
b) jawapan® algoritma [ mengeluarkan ]
delete ( LA , n , k , item )
1 . setkan item := LA (k)
[
anjakkan unsur ke ( j + 1 ) ke atas ]
setkan LA [j] = LA [ j + 1 ]
[ akhir
ulangan ]
3 . [resetkan]
set := n –
1
4 . tamat .
11 . Andaikan NOMBOR adalah tatasusunan 7 unsur yang
menyimpan nilai berikut ;
33 84 56 34
23 57 10
a ) isihkan data menggunakan isihan gelembung.
Lauan 1 .
33
56 84
34 23 57 10
laluan 2
33 56 84 34 23
57 10 33 34 56
23 57 10 84
33
56 34
84 23 57 10 33 34 23 56
57 10 84
33 56 34
23 84 57 10 33 34 23 56
10 57 84
33 56 34
23 57 84 10
33
56 34
23 57 10 84
laluan 3 laluan 4
33 23 34
56 10 57 84 23 33 34 10
56 57 84
33 23 34
10 56 57 84 23 33 10 34
56 57 84
laluan 5 laluan 6
23 10 33
34 56 57 84 10 23 33
34 56 57 84
b) berdasarkan tatasusunan yg telah diisih , cari 56
dengan kaedah carian dedua.
a)
lokasi item = 56 mula = 1
akhir = 7
ten = ( mula + akhir ) / 2
= ( 1 + 7 ) / 2
= 4
data [ ten ] = 4
b ) 56>34 mula = ten + 1 akhir = 7
ten = ( 5 + 7
) /2
= 6
data [ ten] = 57
= item berada di lokasi ten = 5
c)1) mencari 33 dengan kaedah dedua.
a)
lokasi item = 33
mula = 1 akhir = 7
ten = ( 1 + 7 ) / 2 = 4
data [ten] = 34
b) 33<34 : mula = 1 akhir ten – 1
ten
= ( 1 + 3 )/2 = 2
data [ ten] = 23
c) 33>34 : mula = ten + 1 akhir = 7
ten = ( 3 + 7 ) /2 = 5
data [ten] = 56
d) 33<56 :mula
= 1 akhir = 5 – 1
ten = ( 1 + 4 ) / 2 = 5
data [ ten ] = 56
= item tidak dapat dijumpai kerana mula 5 akhir #