User Tools

Site Tools


predmeti:ppj:strukture

Strukture

  1. Uvod
    • enostavni objekti: 42, 4.2, thomas, X
    • sestavljamo jih v strukture
      • point(2, 4)
      • line(point(0, 0), point(1, 2))
      • [a,b,c]
    • prilagajanje (matching)
      • L = line(A, B), A = point(0, 0), B = point(1, 2)
      • L = [H|T]
  2. Binarna drevesa
    • rekurzivno definiran podatkovni tip
      • prazno drevo: nil
      • splošno drevo: b(Left, X, Right)
      • list drevesa: b(nil, X, nil)
    • skupaj rešimo memberBT/2
  3. Splošna drevesa
    • prvi argument v strukturi je koren, ostali elementi so poddrevesa
      • prazno drevo: nil (vendar ga nikjer pri vajah ne rabimo)
      • splošno drevo: t(X, Subtree1, Subtree2, …)
      • list drevesa: t(X)
    • operator =..
      • spremeni strukturo v seznam…
        • Tree = t(42, t(4), t(2)), Tree =.. [t,X|Subtrees]
      • … ali obratno
        • Tree =.. [t,42|[t(4),t(2)]]
  4. Naloge
    1. binarna drevesa
      • numberBT/2
      • depthBT/2
      • mirrorBT/2
      • tolistBT(Tree, List)
        • List je seznam elementov binarnega drevesa Tree v infiksnem vrstnem redu
      • deleteBT/3
        • kot del/3 (vrača vsa možna drevesa z enim odstranjenim elementom)
        • malo težja naloga
      • insertBT/3
    2. splošna drevesa
      • memberT/2
      • maxT/2
predmeti/ppj/strukture.txt · Last modified: 2016/04/12 12:40 by timotej