Vinnaren i pepparkakshustävlingen!
  • 3
  • 4
2016-08-07, 00:41
  #37
Medlem
Tom.Of.Finlands avatar
Citat:
Ursprungligen postat av Brunbevern
Därför jag tänkte att du kanske ska strunta i att fundera så mycket och bara försöka implementera datastrukturerna istället, det är väl praktiskt om något. Kan du bara pekare i C så är det rätt roligt att försöka knåpa ihop datastrukturerna. Det blir dessutom bra övning generellt i programmeringsspråket, särskilt för C där sån kunskap (dvs pekare och minneshantering osv) faktiskt är högst relevant till skillnad från kanske Java.

Kan sympatisera över kurslitteratur och dess krånglighet. Själv så undviker jag kurslitteratur helt och hållet, fast det är väl kanske kontroversiellt åt andra hållet. När jag pluggade algoritmer så brukade jag först kolla Youtube hur grundprincipen var, sedan googla på detaljer.

Men du känner väl vad som är bäst antar jag.

Orsaken varför jag vill fördjupa mig i C har just med datastrukturer och algoritmer att göra, och även det har med artificiell intelligens också att göra.

Jätte roligt att plugga, men det ska ge något också tycker jag. Att sitta läsa igenom massa teori och sedan ska man tillämpa praktik är en dålig kombination.

Eller så får jag sluta upp med praktiken och bli en teoretiker och läsa boken och tvinga mig förstå.
Citera
2016-08-13, 03:06
  #38
Medlem
Diamondgrits avatar
Citat:
Ursprungligen postat av Tom.Of.Finland
Orsaken varför jag vill fördjupa mig i C har just med datastrukturer och algoritmer att göra, och även det har med artificiell intelligens också att göra.

Jätte roligt att plugga, men det ska ge något också tycker jag. Att sitta läsa igenom massa teori och sedan ska man tillämpa praktik är en dålig kombination.

Eller så får jag sluta upp med praktiken och bli en teoretiker och läsa boken och tvinga mig förstå.
Du har implementerat en länkad lista har du sagt tidigare i tråden. Du kan ju försöka implementera andra linjära datastrukturer t.ex. stack med hjälp av den. Återanvända kod (på riktigt) är väldigt bra att lära sig.

Datavetenskap kan verka väldigt teoretiskt. Men det är för att datavetare väldigt gärna uttrycker sig allmänt så att du kan använda vilket språk som helst. Det finns ju språk som skiljer sig enormt mycket från varandra, Java skiljer sig inte så mycket från C t.ex., men du har språk som t.ex. Haskell eller Prolog som är väldigt annorlunda.
Citera
2016-08-14, 08:25
  #39
Medlem
MeanMEs avatar
En bra site du kan kolla in är http://rosettacode.org

Där har du en stor mängd olika lösningar på en mängd olika språk du kan kolla in.
Söker du på queue så hittar du förutom en förklaring på vad det är så ger de ett förslag till en sådan på 78 olika programmeringsspråk bl.a i C osv.

Kan vara lite svårnavigerad så titta in genom Google på deras underkategorier.
https://www.google.se/?gws_rd=ssl#q=rosetta+code
Är en guldgruva om du vill lära dig olika algoritmer och se kodförslag i olika språk.
Detta är deras "huvudsida" med +800 olika problem med lösningar.
https://rosettacode.org/wiki/Category:Programming_Tasks

Grafteori kan du ju fördjupa dig i hur mycket som helst.
Implementeringen är ju inom t.ex logistik, gatuplanering mm.
Du kan ju börja läsa lite här så får du en basal kunskap om det.
http://www.tutorialspoint.com/graph_theory/index.htm

En bok om algoritmer på väldigt hög teoretisk nivå som sig bör är:
The Algorithm Design Manual av Steven S. Skiena
Finns att hämta ner gratis på nätet som pdf såg jag vilket är väldigt trevligt.
739 sidor råfakta och tar upp allt det du frågat om på djupet.
Räkna med 6 månader till ett års studerande av den, långt mer om du försöker skriva program som behandlar varje område den täcker, men efter du gått igenom den vet du rätt väl vilka algoritmer du behöver använda och varför om du stöter på problem och har efter detta en gedigen grund att stå på.

En annan bok jag kan rekommendera är:
Fundamentals of Computer Programming With C#
av Nakov (m.fl)
Den tar upp allt det du frågar om och mycket mer och ger kodexempel.
Förvisso är den skriven för C# men kan du C lär du dig mycket fort C#.
C# är ett objektorienterat språk men är enklare än C++ imho.
I boken har du även en mängd övningar du kan göra med hintar och lösningsförslag finns att ladda hem. Tar upp de områden du undrar över i vissa fall skriver de egna lösningar för att belysa hur grundidén ser ut för att senare övergå till de implementerade lösningar som finns i existerande bibliotek.

Även den finns gratis att ladda ner på nätet.

Edit: Ett litet tips jag kan ge dig är att lär dig en databas som mysql i alla fall på den mest elementära nivån. Sedan gör du en liten enkel databas, behöver inte vara något märkvärdigt två-tre kolumner, lösningsbeskrivning, språk och en med koden som innehåller en beskrivning över smarta kodlösningar du hittat. Ett interface till databasen för windows i C#, VB, C++ eller något annat programspråk skriver du ihop på mindre än 5-10 minuter.

Då har du all din kod samlat på ett ställe och behöver inte leta ihjäl dig över var du nu hade skrivit den smarta lösningen någonstans och på vilken dator/hårddisk du sparat den på.
__________________
Senast redigerad av MeanME 2016-08-14 kl. 09:10.
Citera
  • 3
  • 4

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback