STRUKTUR DATA SAK 1107

TUTORIAL  3

 

 

  JAWAPAN

 

  1. Berikan dan terangkan operasi – operasi umum senarai.

 

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.

 

  1. Nyatakan perbezaan diantara senarai dan tatasusunan.

 

      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.

     

  1. Diberi senarai berpaut seperti berikut.

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.

    

 

 

  1. Apakah fungsi Mailoc.

 

    1. Satu fungsi yang menerima satu agrumen dan mengembangkan satu nilai. Agrumen yang diterima ialah saiz memori yang digunakan dari nilai yang akan dikembalikan ialah alamat bebas dalam memori yang diproses

 

  1. Apakah Fungsi Free.

 

    1. untuk menghapuskan item – item atau gengosong item atau meletakkan 

      item  baru

 

  1. Bina algoritma untuk mengira bil nod dimana jika unsure yang terdapat di dalamnya ditambahkan dengan 5, nilainya adalah lebih besar daripada 20.

 

 

            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.

 

 

  1. diberi pernyataan berikut ;

      int a,b; int *ptr; int** ptrptr ; ptr = &a; ptrptr = &ptr ;

  

  apakah nilai  bagi * ptr dan ** ptrptr ?

 

   ® 10.

 

  1. Apakah perbezaan diantara tindanan dan baris gilir ?

® 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.   

 

  1. Beri dan terangkan  operasi asas tindanan.

  ® 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)

  1. ulang untuk j = k  hingga ( n – 1 )

           [ 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  #