Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pa:skel_graph [2021/04/19 01:37]
radu.nichita
pa:skel_graph [2021/05/04 17:59] (current)
miruna_elena.banu
Line 1: Line 1:
 === skel_graph === === skel_graph ===
-În continuare vom menționa câteva convenții/​sfaturi/​reguli pe care trebuie să le aveți în vedere pentru restul semestrului. Unele precizări sunt specifice laboratoarelor de grafuri, altele sunt generale.+În continuarevom menționa câteva convenții/​sfaturi/​reguli pe care trebuie să le aveți în vedere pentru restul semestrului. Unele precizări sunt specifice laboratoarelor de grafuri, altele sunt generale.
  
  
Line 15: Line 15:
  
  
-În general când vorbim de muchii/​arce,​ putem folosi următoarele notații:+În generalcând vorbim de muchii/​arce,​ putem folosi următoarele notații:
  
 - în grafuri **fără** costuri pe muchii: - în grafuri **fără** costuri pe muchii:
Line 38: Line 38:
 Orice tablou (vector/​matrice/​multidimensional etc) se va aloca folosind una din următoarele variante: Orice tablou (vector/​matrice/​multidimensional etc) se va aloca folosind una din următoarele variante:
   * pe ** heap **: se poate folosi ** vector ** / ** ArrayList ** sau ** new **. ** [C++] observație ** : adj[NMAX] este alocat tot pe heap, întrucât Task-ul este alocat pe heap (vezi în main)   * pe ** heap **: se poate folosi ** vector ** / ** ArrayList ** sau ** new **. ** [C++] observație ** : adj[NMAX] este alocat tot pe heap, întrucât Task-ul este alocat pe heap (vezi în main)
-Recomandam ​varianta cu **vector/​ArrayList**.+Recomandăm ​varianta cu **vector/​ArrayList**.
  
  
 Precizări: Precizări:
-  * Orice **abatere** de la aceste reguli va fi penalizată de checker, lucru asigurat prin testele mari (ultimele), care vor genera SEGFAULT dacă nu se respecta ​alocarea. ​+  * Orice **abatere** de la aceste reguli va fi penalizată de checker, lucru asigurat prin testele mari (ultimele), care vor genera SEGFAULT dacă nu se respectă ​alocarea. ​
   * La **problemele bonus** care **NU au checker**, asistentul va depuncta manual astfel de probleme grave. În principiu, este permisă orice formă de alocare care suportă dimensiunile indicate in enunț.   * La **problemele bonus** care **NU au checker**, asistentul va depuncta manual astfel de probleme grave. În principiu, este permisă orice formă de alocare care suportă dimensiunile indicate in enunț.
  
Line 48: Line 48:
 [C++]: ** void f() { int v[n]; } ** (alocare de dimensiune variabila pe stiva), poate crăpa stiva! (n poate fi mare). **Interzicem** folosirea acestui tip de alocare **la PA**. Pentru acest exemplu, scheletul va genera și o eroare de compilare, pentru a vă atrage atenția că **NU** ar trebui să folosiți acest tip de alocare, dacă n poate să fie mare! (grafuri mari)  [C++]: ** void f() { int v[n]; } ** (alocare de dimensiune variabila pe stiva), poate crăpa stiva! (n poate fi mare). **Interzicem** folosirea acestui tip de alocare **la PA**. Pentru acest exemplu, scheletul va genera și o eroare de compilare, pentru a vă atrage atenția că **NU** ar trebui să folosiți acest tip de alocare, dacă n poate să fie mare! (grafuri mari) 
  
-ObservatiePrecizarile mentionate ​sunt valabile doar pentru contextul PA, unde facem algoritmi ​eficienti si care dorim sa mearga ​pe dimensiuni ​cat mai mari! Asta nu inseamna ca in alte contexte (ex. multi-threaded) nu poti folosi [[https://​stackoverflow.com/​questions/​16672322/​malloced-array-vs-variable-length-array/​16672438#​16672438 | VLA]] (variable length array on stack). ​+ObservațiePrecizările menționate ​sunt valabile doar pentru contextul PA, unde facem algoritmi ​eficienți și care dorim să meargă ​pe dimensiuni ​cât mai mari! Asta nu înseamnă că în alte contexte (ex. multi-threaded) nu se va putea folosi [[https://​stackoverflow.com/​questions/​16672322/​malloced-array-vs-variable-length-array/​16672438#​16672438 | VLA]] (variable length array on stack). ​
  
 Scopul acestui paragraf este să va atragă atenția asupra alocării corespunzătoare a datelor **la PA **, astfel încât să evitați erori de **run time** pe care să nu vi le puteți explica. Scopul acestui paragraf este să va atragă atenția asupra alocării corespunzătoare a datelor **la PA **, astfel încât să evitați erori de **run time** pe care să nu vi le puteți explica.
 </​note>​ </​note>​
  
pa/skel_graph.1618785441.txt.gz · Last modified: 2021/04/19 01:37 by radu.nichita
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0