Avatar billede njava Nybegynder
21. september 2001 - 00:11 Der er 3 kommentarer og
1 løsning

Algorithms

jeg vil gerne lære noget om Algorithms
er der nogen der har nogle links til nogle tutorials???
Avatar billede jelzin101 Praktikant
21. september 2001 - 00:13 #1
øhm vil du gerne lære noget om algoritmer ?????? (eller er det noget under c/c++ jeg ikke har hørt om endnu)
Avatar billede jakoba Nybegynder
21. september 2001 - 01:04 #2
Algoritmeforståelse har ikke noget med det ene eller det andet programmeringssprog at gøre, det er mer noget med metodik og selvdisciplin.

Sprogene kommer så ind i anden række når man skal vælge imellem flere mulige algoritmer til løsning af samme problem.

eksempel.

problemet: At spise en skålfuld havregrød.

mulige algoritmer er så (der er sikkert flere)

sekventielt.
  spis skefuld efter skefuld indtil skålen er tom.

rekursivt.
  spis en skefuld og spis så restan af hvad der er i skålen.

concurrent.
  hvis der ikke er mere i skålen en der kan være på en ske så spis det.
  ellers
      opdel skålen i to og genstart denne process for hver halvdel.

alle 3 algoritmer får grøden spist. Du skal så vælge den der er \'bedst\' udfra diverse kriterier, såsom hvilket sprog der skal bruges, hvad slags computer det skal køre på, osv osv.

i pascal, c, c++ vil man som regel vælge den sekventielle, den passer til sprogets måde at tænke på.

i Java vil man kikke på andre kriterer for at vælge mellem den sekventielle og den concurrent.

i Lisp, Prolog og Forth er man nærmest nødt til at vælge den rekursive algoritme.

på en multi-CPU vil man prøve at vælge den concurrent, og nok gøre det i Java og C++.

mvh JakobA
ps: jeg skal nok komme med et par links.
Avatar billede jakoba Nybegynder
21. september 2001 - 01:28 #3
http://www.intranet.dk/Html/Kursusbeskrivelser/INPG.htm  // beskrivelsen er i sig selv værd at læse.
http://iprod.auc.dk/~i9jhl/ml/algoritmer.htm  // beskriver sekventielle algoritmer
http://www.diku.dk/organization/blad-4.1-1994/node4.html  // noget tungere
Avatar billede morten2 Nybegynder
21. september 2001 - 01:28 #4
jakoba:
Jeg tager hatten af for dit eksempel!!

Efter min mening er det ikke så meget computer eller sprog der afgør hvilken algoritme man benytter. Det er ofte problemet man har der afgør hvilken algoritme man bør bruge.
Fx hvis man gerne vil sortere n tal kan man gøre det (i næsten alle sprog) sekventielt (i.e. bubble sort).
Det tager n*n operationer (sammenligninger af tal) - også kaldet O(n*n). Hvis man er smart kan man gøre det O(n*log(n)) i næsten alle sprog med en Devide And Conquer algoritme (det jakob kalder concurrent) (i.e. quick sort).



Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester