TUTORIAL 3 : SAK 1107
- Berikan dan terangkan operasi-operasi umum senarai
- BINA SENARAI
- SENARAI KOSONG
- TENTUKAN SAMA ADA SENARAI KOSONG ATAU TIDAK.
- SUSURAN
- SELITSENARAI
- SELITKAN ELEMEN BARU KE DALAM SENARAI PADA TEMPAT TERTENTU.
- HAPUS SENARAI
- HAPUSKAN ELEMEN DARIPADA SENARAI.
- Nyatakan perbezaan di antara senarai dan tatasususnan
SENARAI
1) SATU JUJUKAN TERHINGGA.
2) DATA STRUKTUR YANG PALING ASAS.
TATASUSUNAN
- MUDAH
- STORAN DIGUNAKAN SEPENUHNYA.
- CAPAIAN RAWAK DALAM MASA YANG SAMA DIPERLUKAN.
- Diberi senarai berpaut seperti berikut :
A B C D
Tuliskan algorithma yang akan menghapuskan nod kedua dalam senarai. Andaikan nod
pertama dalam senarai adalah StartPtr.
- SETKAN PTR := STARTPTR;
BIL:=0;
- ULANG SELAGI PTR != NULL;
- SETKAN PTR := PTR +1
[AKHIR ULANGAN]
- [RESET N]
SET N := N – 1
5) TAMAT.
- Apakah fungsi Malloc
- SATU FUNGSI YANG MENERIMA SATU ARGUMEN DAN KEMBALIKAN SATU NILAI. ARGUMEN YANG DITERIMA IALAH SAIZ MEMORI YANG DIPERLUKAN DAN NILAI YANG DIKEMBALIKAN IALAH ALAMAT BEBAS DALAM MEMORI YANG DIPEROLEHI DAN DALAM KES INI ALAMAT TERSEBUT DIUMPUKKAN KEPADA PEMBOLEH UBAH PENUDING.
- Apakah fungsi free
- adalah untuk mengira ruang ingatan maksimum yang di perlukan.
- Bina algorithma untuk mengira bilangan nod di mana jika unsur yang terdapat di dalamnya ditambahkan dengan 5, nilainya adalah lebih besar daripada 20.
1) SET PTR :=STARTPTR;
BIL:=5;
2)ULANG SELAGI PTR!=NULL;
JIKA(PTR 5>20)
3)bil:=bil+1;
4)ptr=ptr->next ptr;
(tamat ulangan)
5)tamat
- Di beri pernyataan berikut :
Int a, b;
Int *ptr;
Int **ptrptr;
Ptr=&a;
Ptrptr=&ptr;
Apakah nilai bagi *ptr dan **ptrptr ?
- Apakah perbezaan di antara tindanan dan baris gilir
tindanan:
- menggunakan pendekatan LIFO.
- penambahan dan penghapusan berlaku di atas tindanan sahaja.
Baris gilir:
- satu struktur data yang dinamik memegang jujukan data dan mengikut pendekkan masuk dahulu keluar dahulu.
- Beri dan terangkan operasi asas tindanan
1)bina tindanan.
2)kosongkan tindanan.
3)tindanan kosong .
4)push
5)pop.
- Andaikan BANDAR adalah tatasusunan 9 unsur dan hanya mempunyai 7 unsur nama Negara seperti rajah di bawah. Nama-namanya disusun dalam sususnan abjad.
1.Australia
2.Brazil
3.Malaysia
4.Jepun
5.Pakistan
6.Thailand
7.Fiji
8.
9.
Bina algorithma jika Negara Indonesia hendak di tambah ke dalam tatasusunan
tersebut
BIL:=0;
ULANG SELAGI PTR != NULL;
SETKAN PTR := PTR +1
[AKHIR ULANGAN]
[RESET N]
SET N := N – 1
TAMAT.
Berdasarkan kepada tatasusunan BANDAR yang telah dikemaskini, bina algorithma
jika Negara Jepun hendak dikeluarkan daripada tatasusunan BANDAR.
BIL:=0;
ULANG SELAGI PTR != NULL;
SETKAN PTR := PTR - 1
[AKHIR ULANGAN]
[RESET N]
SET N := N + 1
TAMAT.
- Adaikan NOMBOR adalah tatasusunan 7 unsur yang menyimpan nilai seperti berikut:-
33, 84,56,34,23,57,10
- Isihkan data di atas menggunakan isihan gelembung dan tunjukkan perubahan bagi setiap laluan.
Laluan 1
33 84 56 34 23 57 10
33 84 [34] [56] 23 57 10
33 [34] [84] 56 23 57 10
laluan 2
33 34 [56] [84] 23 57 10
laluan 3
33 34 56 [23] [84] 57 10
33 34 [23] [56] 84 57 10
33 [23] [34] 56 84 57 10
[23] [33] 34 56 84 57 10
laluan 4
23 33 34 56 [57] [84] 10
laluan 5
23 33 34 56 57 [10] [84]
23 33 34 56 [10] [57] 84
23 33 34 [10] [56] 57 84
23 33 [10] [34] 56 57 84
23 [10] [33] 34 56 57 84
[10] [23] 33 34 56 57 84
- Berdasarkan tatasusunan NOMBOR yang telah diisih, lakukan proses carian menggunakan carian dedua jika item yang hendak dicari ialah 56. Tunjukkan setiap perubahan yang berlaku.
Mula=1 akhir=7
Ten=[(1+7)/2]=5
[10] 23 33 [34] 56 57 [84]
Oleh sebab 34>33
||
vv
10 23 [33] 34 56 57 [84]
- Berdasarkan tatasusunan NOMBOR yang telah diisih, cari lokasi menggunakan proses carian dedua jika item yang hendak dicari ialah 33. Tunjukkan setiap perubahan yang berlaku.