Niste prijavljeni

Dragi posjetioče, Dobrodošli na Otvoreni Forum - Novi Pazar. Ukoliko je ovo Vaša prva posjeta molimo vas pročitajte Pomoć. U pomoći je objašnjeno kako ovaj forum radi. Morate biti registrirani kako bi vidjeli sve teme i sve forume. Molimo vas da se registrirate ili da ovdje pročitate kako se registrirati. Ukoliko ste već registrirani molimo ulogirajte se ovdje.

1

Petak, 29. August 2003

data structure and algorithms

Hi informaticari J

Trenutno se bavim Strukturom podataka i Agorithmima . Ne ide mi lose, ali bi mi pomoc itekako dobrodosla narocito kada su u pitanju “Sortiranja” .

staight insertion sort – razumela.
bubbole sort – razumela.
heapsort – razumela.
merge sort – razumela.
radixsort - razumela. ( cini mi se )
quicksort - u fazi razumevanja… E ovde mi treba vasa pomoc . Od citanja skripte ne postajem mnogo “pametnija”. Nikako da u poptunosti shvatim ovaj postupak sortiranja koji odprilike ide ovako :
Slucajno izaberem neki element p ( Partitionselement ) iz nesortirane liste (npr. prvi element u listi). Onda podelim listu na dva jednaka dela tako da na levoj strani od Partitionselement ( koji sada naravno stoji u sredini ) unosim vrednosti manje od p , a na desnoj strani vrednosti vece od p . Nastavim rekurzivno da sortiram dve novonastale liste tako sto uporedjujem p sa elementima obe liste i to istovremeno sa oba kraja polja.Kad naidjem na neke unose koji nisu “na svom mestu” jednostavno zamenim njihova mesta i nastavim dalje sa sortiranjem, etc…
Teorestki sasvim prosto, ali kako to izgleda na nekom konkretnom primeru?

Mozda mi neko od vas moze dati barem jedan primer i na njemu objasniti “foru” sortiranja J


Unapred zahvalna

P.S. Odgovor pozeljan do nedelje uvece.

"Ti sa svakim lijepo! I trazi da se dobra djela cine, a neznalica se kloni!" (El-'Araf, 199)

2

Petak, 29. August 2003

Evo ga opet ja ! Pronadjoh jedan zadacic koji se tice quicksort

Dato je sledece polje koje treba sortirati u rastucem redosledu pomocu quicksort :

key 50 8 5 6 87 17 85 27 65 42
Kako sad ovo? ?(




"Ti sa svakim lijepo! I trazi da se dobra djela cine, a neznalica se kloni!" (El-'Araf, 199)

Administrator

Urednik foruma

(121)

  • »Administrator« je muško

Postovi: 2.598

Datum registracije: 21.07.2002

Lokacija: Frankfurt

  • Poruku poslati

3

Petak, 29. August 2003

Evo ti resenje u java scriptu:

[SIZE=3]

PHP Source kod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<SCRIPT LANGUAGE="JavaScript">
var DIM 10;
tab = new MakeArray(DIM);
tab[0] = 50;
tab[1] = 8;
tab[2] = 5;
tab[3] = 6;
tab[4] = 87;
tab[5] = 17;
tab[6] = 85;
tab[7] = 27;
tab[8] = 65;
tab[9] = 42;

function MakeArray(n) {
   this.length n;
   for (var 1<= ni++)
       { this[i] = }
   return this ;
}

function izpisi(tab) {
  for (var 1<= DIMi++) document.write(tab[i] + " ");
  document.write("<BR>");
}

function Quicksort(spzg) {
 var tab[Math.round((sp+zg)/2)];
 var sp; var zg;
 while  (i) {
   while (tab[i] > ki++;
   while (tab[j]) j--;
   if (<= j) {
   var tab[i]; tab[i] = tab[j];
   tab[j] = d;
   i++; j--;
   }
 }
 if (sp<jQuicksort(spj);
 if (i<zgQuicksort(izg);
}

document.write(" Originalni niz: <BR>");
izpisi(tab);
Quicksort(1,DIM);
document.write(" Sortirani niz: <BR>");
izpisi(tab);
</SCRIPT>
[/SIZE]
Administrator je dodao ovaj fajl:
  • Quicksort.htm (1,14 kB - 150 puta prikazano - zadnji put: 19. Juni 2017, 03:41)
Sve je ovo samo igra! Nema tog foruma koji je vrijedan Vasih zivaca! / Dokoni umovi - Sejtanska igralista

4

Petak, 29. August 2003

@ Administrator : Hvala Admine, vrlo ljubazno od tebe. :)Samo na ispitu ne moram da pisem program u JavaScript-u vec onako vise teoretski o| da to pokazem-sortiram ...javicu se kad uradim zadatak onako kako se od nas "zahteva" ...sad odoh, odoh da malo pokisnem na kisi :D

Jos jednom ti hvala!

P.S. Jesil ovo Fled aufsteigend sortiert? :O Ne mari ;)
"Ti sa svakim lijepo! I trazi da se dobra djela cine, a neznalica se kloni!" (El-'Araf, 199)

Administrator

Urednik foruma

(121)

  • »Administrator« je muško

Postovi: 2.598

Datum registracije: 21.07.2002

Lokacija: Frankfurt

  • Poruku poslati

5

Petak, 29. August 2003

Citirano

Orginalno od pink
P.S. Jesil ovo Fled aufsteigend sortiert? :O Ne mari ;)


Sad vidim da zadatak kaze da se niz sortira u rastucem redosledu. U funkciji Quicksort treba samo zameniti operatore (obelezeni crvenom bojom) kao sto je prikazano ovde:

[SIZE=3]

PHP Source kod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function Quicksort(spzg) {
 var tab[Math.round((sp+zg)/2)];
 var sp; var zg;
 while  (i) {
   while (tab[i] [COLOR=red][B]<[/B][/COLOR]  ki++;
   while ([COLOR=red][B]<[/B][/COLOR]  tab[j]) j--;
   if (<= j) {
   var tab[i]; tab[i] = tab[j];
   tab[j] = d;
   i++; j--;
   }
 }
 if (sp<jQuicksort(spj);
 if (i<zgQuicksort(izg);
}
[/SIZE]


A ako ti treba teoretsko resenje ti uzmi te provozaj vrednosti niza kroz ovu funkciju rucno i zapisuj medjurezultate. :D
Sve je ovo samo igra! Nema tog foruma koji je vrijedan Vasih zivaca! / Dokoni umovi - Sejtanska igralista

6

Petak, 29. August 2003

Ada blagos fala ti :) jes da jos ne skapirah quicksort 100% , al ne brukaj me ovim sitnicama , to barem znam...cini mi se :D
"Ti sa svakim lijepo! I trazi da se dobra djela cine, a neznalica se kloni!" (El-'Araf, 199)

sans

Majstor

(31)

  • »sans« je muško

Postovi: 2.733

Datum registracije: 29.07.2002

Lokacija: Svemir/zemlja/Evropa/SCG/New Pazar

  • Poruku poslati

7

Petak, 29. August 2003

Evo jednog linka koji će nadam se biti od pomoći svim onim koji se bave izučavanjem struktura podataka i algoritmima. Na ovoj strani postoji i odlično urađena animacija Quick Sort algoritma, pa se nadam da će zaista biti od pomoći u razumevanju istog.



P.S.Ukoliko ne možete pristupiti ovom linku... probajte
ovaj ( jes da je na engleskom... al je to orginal gornjeg)
Ako nemaš iskustva-prevariće te , a ako imaš - onda već jesu , onda već jesu , onda već jesu... ;)

i ... bode mi oči

... al lahko je tebi kad imas olovku sa gumicom

8

Petak, 29. August 2003

@ sans: Sanse beskrajno ti se zahvaljujem na velikodusnoj pomoci, zaista si pravi drug.
Ovo sto si mi poslao izgeda jako korisno, potrudicu se da procitam i naucim sve

A ja uspeh da resim ono zadace sa quicksort

@ Admin : Ovako nekako bi to trebalo da izgleda :



pink je dodao/la ovu sliku:
  • Quick_sort.JPG
"Ti sa svakim lijepo! I trazi da se dobra djela cine, a neznalica se kloni!" (El-'Araf, 199)

Administrator

Urednik foruma

(121)

  • »Administrator« je muško

Postovi: 2.598

Datum registracije: 21.07.2002

Lokacija: Frankfurt

  • Poruku poslati

9

Petak, 29. August 2003

Znas kako, davno sam batalio da pisem olovkom :))
Sve je ovo samo igra! Nema tog foruma koji je vrijedan Vasih zivaca! / Dokoni umovi - Sejtanska igralista

10

Petak, 29. August 2003

hehe

Data structures and algorithams planiram da prekosutra na registraciji predmeta ako Bog da registrujem za sledeci semestar. Sad vidim da ima ko i da mi pomaze i daje upute ako Bog da ;).

Sto se tice sortiranja, u knjizi za C programming (koju sam koristio proslog semestra) ima fino toretski (i tako slikovito :) ) objasnjeno za cini mi se vecinu vrsta tih programiranja. Dati su i algoritmi za to. Imaju isti i u knjizi za discretnu matematiku (koju radim sada) ali su radjeni kao za pascal, a objasnjenja su toliko zaprtljana da bih samo o| da nije bilo onog sto sam ucio u prvoj spomenutoj knjizi.. kao uostalom sto o| sa svim iz ove discretne matematike, aka mathematics for computing koja bi valjda trebala bit prerekvizit za neko ozbiljno programiranje.... al mene to nesto mnogo ne vuce na tu stranu..

Uostalom ako ti treba jos tih resenja, i ako ti treba jos to sto si spomenula do nedelje da se predstavi kako si trazila, reci da 'tuham' po onoj knjizi gde ti rekoh da ima.

P.S. Ne zahvaljuj sto se trudim da budem dobar... vratices ti to meni sledeceg semestra :) (shala mala)

Pozdrav ;).
mogu ja da se potpisem i bolje...

11

Petak, 29. August 2003

@ Admine : Svaka cast !!! :klanja: ... Nazalost, ja na ispitu smem da koristim samo olovku i 90 minuta vremena. :(
Es sind keine Hilfsmittel zugelassen! o|


@ fingersbroken : Hvala decko, ce se javim i ce ti vratim sve 8)
"Ti sa svakim lijepo! I trazi da se dobra djela cine, a neznalica se kloni!" (El-'Araf, 199)

12

Srijeda, 31. Decembar 2003

He he.. doslo moje vreme da radim strukture i algoritme. Malopre bio midterm ispit pa mi pade napamet ovo mesto na forumu gde ima po neko da moze da pomogne. Nego mi nije jasno kako se ne setih za dva assignemnta sto sam imao dosad da trazim pomoc ovde nego razbijah glavu sam :). Nema veze ostala su jos tri do kraja semestra, pa ce imat da se pomaze ..

Ovaj semestar obelezen sa stacks, queues, graphs, trees, sorting agorithams...

Sve mi PUSH I POP po glavi :D...
mogu ja da se potpisem i bolje...

13

Četvrtak, 01. Januar 2004

@fingersbroken: Bujrum decko , samo pitaj. ;)
"Ti sa svakim lijepo! I trazi da se dobra djela cine, a neznalica se kloni!" (El-'Araf, 199)

14

Četvrtak, 01. Januar 2004

Evo posto sam se ja (manje vise) namucio da napisem program za zadacu sto sam imao 'okacicu' ga ovde za slucaj da nekom nekad zatreba. A sad mi se i svidja (posle truda) iako sigurno ima dosta da se doradjuje. Program je hashing colission resulution using separate chaining (funkcija h(x)= X mod TS (TS = table size)) na moj nacin :). Prostim recnikom sta otprilike program radi (kad se ovaj sistem koristi) unosi direktno unete vrednosti u tabelu sa resavanjem problema dupliciranih vrednosti (koje bi 'htele' u isto polje istog reda) tako sto ih unosi u susedno polje istog reda... (al sve sam), i moze se algoritmicki izvoditi (unosti nove vrednosti) do prekostura sto bi rekli.. milion vrednosti unesite nece pogresiti unos u polje (osim ako ne ostane bez memorije :) ).


PHP Source kod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>

struct node
    {
        int number;
        struct node *next_node;
    } ;
typedef struct node node_type;

void push(int ,node_type **);
void view_row(struct node *array);
void view_all(struct node *array[]);
void free_all (struct node *array[]);

int main()
{
    struct node  *aray[10]={NULL}, *top_node=NULL;
    int integer,select,row,i;

 do{
printf("...............................menu.................................\n");
printf("press 1 to add new element\n");
printf("press 2 to view all elements  \n");
printf("press 3 to view specific row\n");
printf("press 4 to exit\n");
scanf("%d",&select);
switch (select)
       {
    case 1:  {
    printf("enter your  number:\n");
    scanf("%d",&integer);
    switch(integer 10)
                  {
                   case 0push(integer,&aray[0]);break;
                   case 1push(integer,&aray[1]);break;
                   case 2push(integer,&aray[2]);break;
                   case 3push(integer,&aray[3]);break;
                   case 4push(integer,&aray[4]);break;
                   case 5push(integer,&aray[5]);break;
                   case 6push(integer,&aray[6]);break;
                   case 7push(integer,&aray[7]);break;
                   case 8push(integer,&aray[8]);break;
                   case 9push(integer,&aray[9]);break;
                  }
         }   break;
     case 2:view_all(aray);break;

     case 3: do{
             printf("which row you want to view ");
             scanf("%d", &row);
             if (row<0||row >9)
                {printf("\nyou have entered unexisting row\n"); }
                }while(row<0||row >9);
             view_row(aray[row]); break;

     case 4printf ("exiting\n\n");free_all(aray); break;
     default : printf ("you have entered wrong number\n");break;
       }
if (select==4) break;
}while(select!=4);

     getch();
     return 0;
}

void push(int value,node_type **top_node)
{
    node_type *newnode;
    newnode = (struct node *)malloc(sizeof(struct node));
    if (newnode==NULLprintf("memory allocation failed (memory full)");
    else
    {    newnode->number=value;
        newnode->next_node=*top_node;
        *top_node=newnode;  }
}

void view_all(struct node *array[])
{
    struct node *copy[10];
    
int i;
for(i=0;i<10;i++)
{
    copy[i]=array[i];}
   for(i=0;i<10;i++)
   {
      do
      { if (copy[i]==NULL) break;
       printf("-->%d   ",copy[i]->number);
      copy[i] = copy[i]->next_node;
      }while ( copy[i] != NULL );
    printf("\n");
}
}

void view_row(struct node *arrayptr)
{
     do
     { if (arrayptr==NULL) break;
     printf("%d  "arrayptr->number);
     arrayptr=arrayptr->next_node;
     }while(arrayptr!=NULL);printf("\n\n");
}
void free_all (struct node *array[])
{
int i;
   for(i=0;i<10;i++)
   {
      do
      { if (array[i]==NULL) break;
      free(array[i]);
       array[i] = array[i]->next_node;
      }while ( array[i] != NULL );
    printf("\n");
   }
}
mogu ja da se potpisem i bolje...

Social bookmarks