Algorithm

Tags:    algorithm

Hej..

Har tidligere spurgt til hvad en Algorithm er for noget... Og jeg har så besluttet mig for at prøve at lave en da jeg aldrig har rodet med sådan noget før (Hvad jeg lige ved af)

Derfor lavede jeg dette i php (med en smule html :P )

Fold kodeboks ind/udPHP kode 




Jeg ville så høre af om det rent faktisk kan kaldes en algorithm eller ej?

Så vidt jeg forstod på nettet, så var en algorithme et program der køres konstant (meta-tagget), indtil den rammer det resultat den nu er sat til (500)

Så er det en algor eller ej?

På forhånd tak.

PS: Det med try's virker ikke som planlagt, vidst for længe siden jeg har rodet med sessioner :P



10 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 27 karma
Sorter efter stemmer Sorter efter dato
Det er måske nemmere med en standard algoritme, som f.eks. sortering. Selve algoritmen kan beskrives således i C-lignende pseudokode (selection sort):

Fold kodeboks ind/udKode 


Den beskriver algoritmen i dens simpleste form. Hvordan du helt konkret vælger at implementere den i et specifikt sprog er noget helt andet og kan gøres på mange måder. Dét du har, er en konkret implementation af en algoritme.



Du laver hele tiden algoritmer, når du udvikler. Algoritmen får bare "fysisk form" med det samme.
Der ligger mindst én algoritme bag alle dine funktioner. Du kan ikke implementere din kode i andre programmerings sprog, men dét, som funktionen gør (algoritmen), kan implementeres i andre...hvis det giver mening :-)

En bageopskrift er et eksempel på en algoritme. Den siger, hvordan du bager et brød. Selve udførelsen af dét, at bage brødet er derimod ikke en opskrift, men snarere en konkret implementering af opskriften.



Hey.
Tja... Nej det er ikke en algoritme. Det du har kodet er bare en kode der gentager sig selv indtil en værdi er 500.

En algorime er en opskrift på en løsning af et problem (ikke en implementering). Problemstillingen kunne være omkring at sorterere tal, søge hurtigt, finde optimale løsning, korteste rute mellem to punkter og så videre.

Så principielt kan man da godt kalde det en algoritme det du har lavet, men det er svært at se problemstillingen i det du har lavet. Og husk algoritmer er intet med hvordan du har koder det. Det er kun omkring ideen.



Nej, det er ikke en algoritme som jeg forstår det. En algoritme er i min verden en teoretisk version af en implementeret funktion.

Du har lavet den praktiske og implementerede version af en algoritme.

Algoritmen til din funktion kunne være:

Fold kodeboks ind/udKode 





Indlæg senest redigeret d. 15.08.2011 08:41 af Bruger #9814
http://da.wikipedia.org/wiki/Algoritme

Altså typisk, hvordan man sorterer data mest optimalt, fx en algoritme, der kommer frem til, hvordan man mest effektiv kommer fra punkt 1 til punkt 2, som routere fx bruger til at finde den hurtigste vej fra din computer til en i kina. Eller i google maps, fra din adresse og frem til en adresse i Rom. Der kan man jo så have forskellige algoritmer, alt efter, hvad man tror vil være mest optimal til at løse de forskellige udfordringer.

En typisk opgave til at forstå det starter med at lave en sortering af en liste, så du har en algoritme til at sortere alfabetisk og en til at sortere efter index..



Indlæg senest redigeret d. 15.08.2011 09:59 af Bruger #10576
Brian er det ikke det den gør allerede? :S Eller misforstod jeg dig?



Ja, du misforstår mig.

En algoritme er ikke den færdige funktion, men en teoretisk beskrivelse af, hvad en funktion skal kunne gøre.

Du har lavet den færdige funktion og jeg har vist dig algoritmen til den (en meget meget simpel version af en algoritme).

Prøv at skrive "Hvad er en algoritme" på google og du vil se mange forklaringer på, hvad det er.



Indlæg senest redigeret d. 15.08.2011 08:52 af Bruger #9814
Damn, det var utroligt, jeg fatter ikke en meter for engangs skyld :-/

Hverken det ene eller det andet :-/

Nå, men, jeg må vidst modne lidt mere med andre opgaver før jeg går igang med at lave algorithms...



En typisk opgave til at forstå det starter med at lave en sortering af en liste, så du har en algoritme til at sortere alfabetisk og en til at sortere efter index.


Algoritmen beskriver så kun sortering. Den konkrete implementering kan laves, så den er ligeglad med, om den sortere stigende eller faldende, og om den sorterer alfabetisk eller nummerisk...så den bare tjekker "skal element 'a' komme før element 'b'". I C og PHP gøres dette typisk med callbacks, mens det i mere objekt orienterede sprog typisk gøres ved at nedarve Comparable eller hvad det nu hedder...men det har intet med algoritmen at gøre, det er implementerings specifikke detaljer.



@Robert true;



t