Struktur Data (SAK 1107)

Tutorial 1

 

JAWAPAN

 

1.      Apakah yang di maksudkan dengan Struktur Data ?

-         ialah satu model matematik atau yang logik bagi organisasi data tertentu. Di mana jenis berstruktur iaitu satu struktur yang terdiri daripada gabungan data berjenis lain dan ini membolehkan operasi yang tertentu dilakukan terhadapnya.

 

2.      Nyatakan Operasi yang dilakukan keatas sturuktur data dan terangkan.

           a) pengeluaran

         - mencari setiap rekod sekurang-kurangnya sekali.

           b) gelintaran 

          - mencari lokasi rekod berpandukan nilai kunci.

           c) penyesipan

                      - menambahkan rekod baru kedalam struktur data

          d) penghapusan

          - mengeluarkan rekod dari struktur data.

 

3.      Diberi senarai berpaut seperti berikut.

 

A

 

B

 

C

 

D             X   

 
                                                                                                                                                   

 

 

    Tuliskan algoritma yang akan menghapuskan nod ketiga dalam senarai. Andaikan nod operasi dalam senarai startptr.

 

       Algoritma

                  Jenis (item = startptr – B)

                              Preptr = startptr;

startptr = startptr – newptr;

                  Jika tidak

                              preptr = startptr;

                              ptrsemasa = startptr – nextprt;

                  ulangi selagi (ptr semasa ! = NULL && ptr semasa – B / item).

                              Preptr = ptrsemasa;

                              Ptrsemasa = ptrsemasa – nextptr;

                  [Akhir ulangan]

                              preptr – nextptr = ptr – nextptr;

                                          (ptrsemasa)

                                          [akhir Jika]      

            [akhir Jika]

tamat.

4.      Nyatakan kebaikan tatasusunan.

a)      mudah

b)      storan digunakan sepenuhnya tanpa ada ruang kosong.

c)      Capaian secara rawak dalam masa yang diperlukan.

5.      Kirakan saiz tatasusunan bagi BARANG [31..52]

            

a)      Jawapan :

                    LB = 31, UB= 52

          Panjang = LB – UB + 1

                       = 52 – 31 + 1

                       =22#

6.      Mencetak tahun dengan tiada pekerja baru pada tahun tersebut.

                  a).           i. Ulang untuk K = 1

ii. jika tahun  [k] = = 0;

         cetak k;

iii. tamat.

                  b). memberi nilai N tahun yang tiada pekerja baru pada tahun tersebut.

i.                     setkan N = 0

ii.                   ulang untuk k = 1997 hingga 2001

iii.                  jika tahun [h] := 0

       N = N + 1;

iv.                 tamat.

                c). mencari nilai N tahun yang paling ramai pekerja baru pada tahun tersebut.

                                       i. setkan N = 0

                                      ii. ulang untuk K  = 1999 hingga 2001

                                        jika Auto[k]>0

                                       setkan NOM :=NOM + 1

                                       [akhir ulangan]

                                     iii. tamat.

7.      Base = 300, W = 4, UB = 10, LB = 1, K = 6

        Lok(perabot [6]);

        = base + 10 (k- LB)

        =300 + (4 (6 – 1) )

        =300 +  4(5)

        =320#

8.       Algoritma.     

                     1. set Bulan = 0;

               2. ulang untuk k = 1 hingga 12.

               3. jika PERABOT [k] > 50

               4. setkan bulan = bulan + 1;

               5. tamat.

9.      Andaikan PEKAN adalah tatasusunan 9 unsur dan hanya mempunyai 7 unsur nama pekan seperti rajah dibawah. Nama-nama yang disusun dalam susunan abjad.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

        a) bina algoritma jika Asma hendak ditambah kedalam tatasusunan tersebut.

                               Algoritma ; [hendak tambah]

                                                INSERT (LA, n , k, item )

                                             i). [pengistiharaan Pembilang]

                                                 setkan j:= n

                                             ii). ulang langkah 3 dan 4

                                                 selagi :J > K

                                            iii). [pindahkan unsure ke- 1 ke bawah]

                                                 set LA (J + 1): = LA[J]

                                            iv). [kurangkan pembilang]

                                                  J:= J – 1

                                             [akhir ulangan]

                                             v). [masukkan unsur]

                                                 set LA [k] : = item

                                             vi). [Reset N]

                                                 set LA [n]:= n - 1

                                             vii). tamat.

 

                   b) berdasarkan tatasusunan PEKAN yang telah dikemaskinikan, bina algoritma jika kampung Tandek hendak                       

                       di keluarkan daripada tatsusunan PEKAN.

                                  Algoritma:

                                                 DELETE [LA, n, k, item]

                                                 i). Setkan item := LA [k]

                                                ii). Ulang untuk j:= LA [J + I]

                                                          [anjukkan unsur ke – (j/1) keatas]

                                                            setkan LA[J] := LA [J+i]

                                                          [akhir ulangan]

                                               iii). [Reset N]

                                                          set n := n-1

                                              iv) tamat.

10.          20      33     90    84    56    34    23    57    10    56

a)      isihkan data diatas dengan menggunakan isihan gelombang dan tunjukan.

 

              Langkah 1.

                        20 < 32 : tiada perubahan

                        32 < 90 : tiada perubahan

                        90 > 84 : ada perubahan dan kedudukan

                              20     33     84     90     56     34     23     57     10     56

                  90 > 56 : ada perubahan dan tukarkan kedudukan

                              20     33     84    56      90     34     23     57     10     56

                  90 > 34 : ada perubahan dan tukarkan kedudukan

                              20     33     84    56      34     90     23    57      10     56

                  90 > 23 : ada perubahan dan tukarkan kedudukan

                              20     33     84    56      23     90     57    10      56

                  90 > 57 : ada perubahan dan tukarkan kedudukan

20     33     84    56      23     57     90    10      56

 

                  90 > 10 : ada perubahan dan tukarkan kedudukan

                              20     33     84    56      23     57     10     90     56

 

                  90 > 56 : ada perubahan dan tukarkan kedudukan

                              20     33     84    56      23     57     10     56     90

      Langkah 2:

                              20     33     56    85      34     23     57    10     56    90

            20     33     56    34      84     23     57    10     56    90

            20     33     56    34      23     84     57    10     56    90            

            20     33     56    34      23     57     84    10     56    90

            20     33     56    34      23    57     10     84     56    90

            20     33     56    34      23    57     10     56     84    90            

      Langkah 3:

                 

           20      33     34    56      23     57      10     56    84     90

           20      33     34    23      56     57      10    56    84     90

           20      33     34    23      56     10      57    56    84     90

           20      33     34    23      56     10      56    57    84     90

 

       Langkah 4:

                             20      33     34     23     56     10     56    57     84    90

          20       33     23     34     56     10     56    57     84    90

          20       33     23     34     10     56     56    57     84    90

 

       Langkah 5:

                            20     23     33     34    10     56    56     57    84    90

                            20     23     33     10    34     56    56     57    84    90

        Langkah 6:

                           20      23     10     33    34     56    56      57    84    90

        Langkah 7:

                           20      10     23     33    34     56    56      57    84    90

        Langkah 8:

                           10      20      23     33    34    56    56     57    84    90

 

         b). Lakukan proses larian menggunakan carian dedua jika item yang hendak dicari ialah 56. tunjukan setiap proses   

               yang berlaku.

 

                      10       20      23     33     56    56     57    84    90

                       andaikan item  = 56.

                          i). mula = 1 akhir = 0

                    Ten = (mula + akhir )/ 2

                           = (1 + 10 ) / 2

                           =  6

                    è Dengan itu data [Ten ] = 56

 

                          ii). nilai mula berubah (mula = 6+1 akhir 10)

                                    Ten = (7 + 10)

                                           = 7

                                è Data [item ] = 84

                         iii). 56 >56 :

                                        mula =9 > akhir = 9

                  Ten = (9 + 9)/2

                         = 8

              è Data [ ten ] = 57

                         iv). 56 > 56:

                                       mula = 8 > akhir = 8

                Ten = (8 + 8) /2

                       = 8

             è Data [ten] = 57

                         v). 56 < 57:

                                          mula = 8 < akhir = 7

                   Ten = (8 +7) /2

                                      = 7

                 è Data [ten]  = 56

                                     \item 56 tidak dijumpai sebab mula 7 akhir.

            b). berdasarkan tatasusunan NOMBOR yang telah diisih, cari lokasi dengan menggunakan proses carian jika item   

                  yang hendak dicari ialah 20.

                    10      20      23     33     34      56     56     57     84      90

                           andaikan item  = 20., mula = 1 akhir = 10

                                             i). Ten = (muka + akhir) /2

                                      = ( 1 + 10) /2

                                      = 6

                              è Data [ten] = 56

                                           ii). 20 < 56 ;

                                          akhir = Ten –1

                                                   = 9

                                            Ten = (1 + 9)/ 2

                                                   = 5

                                     è Data [ten] = 34

                                            iii). 20 < 34;

                                              akhir = ten – 1

                                                       = 4

                                                  ten = (1 + 4) /2

                                                        = 2

                                         è Data [ten] = 20

                     \ item 20 berada dibahagi 2.