Jumat, 14 Oktober 2016

Kompleksitas Waktu tanpa Cop

Kompleksitas Waktu tanpa Cop

Maksudnya adalah menghiraukan Cop di karenakan hampir setiap komputer memiliki waktu memproses operasi dasar berbeda.



Program CariMinimum
DEKLARASI
N:integer //banyak data masukan
x : integer //data yang dibaca
min: integer //data terkecil
i:integer //pencacah pengulangan
ALGORITMA
Read (N)
Read(x)
min <-- x
for i = 2 to N do
read(x)
if x < min then
min <-- x
endif
endfor
write(min)

C(n)
Paling dalam    : <

WORST CASE Tmax(n)          : N
BEST CASE Tmin(n)   : 1
AVERAGE CASE Tavg(n)      : 1+2+3+…+N/N = 1/2 N(N+1)/N
T(n)≈ N



==================================================

Function Palindrom
Deklarasi
i: integer           //indeks pemindai dari kiri
j: integer           //indeks pemindai dari kanan
pal :Boolean    //true jika palindrom false jika tidak
algoritma
i <--1
j <-- n
pal ßtrue
while (i ≤  j) and (pal) do
            if Huruf[i] <> Huruf [j] then
            pal <-- false
            else
            i <-- i + 1
            j <-- j – 1
            endif
endwhile
return pal

C(n)
Paling banyak  : <--

WORST CASE Tmax(n)          : 3 + n
BEST CASE Tmin(n)               : 6
AVERAGE CASE Tavg(n)       : 1+2+3+…+(3+n)/n


==================================================

Type
    PData=^TData;
    TData=record
                info:integer;
                next:PData;

procedure sisip_belakang(data:integer;var awal,akhir:PData);

Deklarasi :
   baru:PData;

Algoritma :    
     new(baru);
     baru^.info <-- data;
     baru^.next <-- nil;
     if awal=nil then
          awal <-- baru;
          akhir <-- baru;
     else
          akhir^.next <-- baru;
          akhir <-- baru;
     endif

C(n)
Paling dalam    : =

WORST CASE Tmax(n)         : N
BEST CASE Tmin(n)              : 1
AVERAGE CASE Tavg(n)      : 1+2+3+…+N/N = 1/2 N(N+1)/N
T(n)≈ N


==================================================

Type
    PData=^TData;
    TData=record
                info:integer;
                next:PData;

procedure hapus_belakang(var awal,akhir:PData);
Deklarasi :
   bantu:PData;

Algoritma:
     if awal=nil then
        write ('Data kosong, penghapusan tidak dilakukan')
     else if awal=akhir then
          dispose(awal);
          awal <-- nil;
          akhir <-- nil;
     else
          bantu <-- awal;
          while(bantu^.next<>akhir) do
              bantu <-- bantu^.next;
          dispose(akhir);
          akhir <-- bantu;
          akhir^.next <-- nil;
     endwhile;
endif;

C(n)
Paling dalam    : =

WORST CASE Tmax(n)         : N
BEST CASE Tmin(n)              : 1
AVERAGE CASE Tavg(n)      : 1+2+3+…+N/N = 1/2 N(N+1)/N
T(n)≈ N


 ==================================================

Type
    PData=^TData;
    TData=record
                info:integer;
                next:PData;

procedure tampil_Linked_List(awal:PData);

Deklarasi :
   bantu:PData;

Algoritma :
     if awal=nil then
        write('Data Kosong')
     else
          bantu <-- awal;
          while bantu<>nil do
               output(bantu^.info);
               bantu <-- bantu^.next;
          endwhile;
     endif;

C(n)
Paling dalam    : =

WORST CASE Tmax(n)          : 1
BEST CASE Tmin(n)               : 1
AVERAGE CASE Tavg(n)      : 1

Tidak ada komentar:

Posting Komentar