Differences

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

Link to this comparison view

pa:curs-optional:sd-si-debugging [2016/03/27 11:29]
cosmin.dragomir
pa:curs-optional:sd-si-debugging [2022/03/07 16:13] (current)
darius.neatu [Debugging]
Line 1: Line 1:
 ====== Crash course: Debugging și Structuri de Date ====== ====== Crash course: Debugging și Structuri de Date ======
  
 +===== Debugging =====
 +Pe parcursul semestrului,​ vă poate fi util să știți cum se folosește un debugger pentru a găsi probleme într-un mod rapid. Vă recomandăm articolul [[https://​ocw.cs.pub.ro/​courses/​programare/​tutoriale/​debugging | PC@Debugging]] pentru a vă reaminti de cum folosim GDB atât din CLI cât și prin intermediul unui IDE.
 ===== Obiective crash course ===== ===== Obiective crash course =====
   *Reacomodarea cu structuri de date esențiale implementării algoritmilor   *Reacomodarea cu structuri de date esențiale implementării algoritmilor
   *Însușirea abilităților de folosire a unor structuri de date din STL, respectiv Java API   *Însușirea abilităților de folosire a unor structuri de date din STL, respectiv Java API
   *Însușirea unor deprinderi de bază legate de procesul de debugging, incluzând ințelegerea principalelor surse de erori din Java și C++   *Însușirea unor deprinderi de bază legate de procesul de debugging, incluzând ințelegerea principalelor surse de erori din Java și C++
 +
 +===== Curs structuri de date =====
 +<​HTML>​
 +  <iframe src="​https://​docs.google.com/​file/​d/​1htowLsDHuURZVaSsTzfOTgeYnGezCVppJiWRFw_Lrhk/​preview"​ width="​640"​ height="​480"></​iframe>​
 +</​HTML>​
 +===== Curs debugging =====
 +<​HTML>​
 +  <iframe src="​https://​docs.google.com/​file/​d/​1qfagP_JEoR5mpyIaZ-YWcGrfj7v3zh43VY_22cUMe-w/​preview"​ width="​640"​ height="​480"></​iframe>​
 +</​HTML>​
 +
 ===== Structuri de Date ====== ===== Structuri de Date ======
  
Line 59: Line 71:
  
 ==== Problema 1 ==== ==== Problema 1 ====
-Dându-se un vector de N elemente, se dorește ​aflarea duplicatelor ​aflate la distanța maxim K. Două elemente se află la distanța maxim K dacă ele se află la pozițiile i și j, iar ''​|i - j| ≤ K''​.+Dându-se un vector de N elemente, se dorește ​să se afle dacă există duplicate ​aflate la distanța maxim K. Două elemente se află la distanța maxim K dacă ele se află la pozițiile i și j, iar ''​|i - j| ≤ K''​.
  
 +<note tip>
 Exemplu: Pentru vectorul ''​{1,​ 4, 1, 6, 4, 6, 1}''​ și ''​K = 2'',​ avem duplicatele ''​(1,​1) (pe pozițiile 0 și 2) și (6, 6) (la pozițiile 3 și 5)''​. Exemplu: Pentru vectorul ''​{1,​ 4, 1, 6, 4, 6, 1}''​ și ''​K = 2'',​ avem duplicatele ''​(1,​1) (pe pozițiile 0 și 2) și (6, 6) (la pozițiile 3 și 5)''​.
 +</​note>​
  
 Hint: Complexitate dorită O(N). Extra hint: Gandiți-vă cum puteți extinde problema aflării duplicatelor dintr-un vector. Hint: Complexitate dorită O(N). Extra hint: Gandiți-vă cum puteți extinde problema aflării duplicatelor dintr-un vector.
 +
 +==== Problema 2 ====
 +Dându-se un vector de N elemente, se dorește să se afle dacă există duplicate fuzzy aflate la distanța maxim K. Două elemente se află la distanța maxim K dacă ele se află la pozițiile i și j, iar ''​|i - j| ≤ K''​. Două elemente A și B sunt duplicate fuzzy dacă |A - B| < 3.
 +
 +<note tip>
 +Exemplu: Pentru vectorul ''​{1,​ 4, 1, 6, 4, 6, 1}''​ și ''​K = 2'',​ avem duplicatele fuzzy ''​(1,​1) (pe pozițiile 0 și 2), (6, 4) (pe pozițiile 3 și 4), (4, 6) (pe pozițiile 3 și 4) și (6, 6) (la pozițiile 3 și 5)''​.
 +</​note>​
 +
 +Hint: Complexitate dorită O(N). Extra hint: Folosiți ideea de bază din Bucket Sort :).
  
 ===== Feedback ===== ===== Feedback =====
pa/curs-optional/sd-si-debugging.1459067341.txt.gz · Last modified: 2016/03/27 11:29 by cosmin.dragomir
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