Informatika4-2018/Gyakorlat9

A MathWikiből
(Változatok közti eltérés)
a
46. sor: 46. sor:
  
 
* Egy adott pozíció elérése időben lineáris, mert az elejétől lépkedve lehet eljutni minden elemhez.
 
* Egy adott pozíció elérése időben lineáris, mert az elejétől lépkedve lehet eljutni minden elemhez.
 +
* Egy elem beszúrása időben konstans, mert csak a szomszédos elemeket érinti a beszúrás
 +
 +
    +-+          +-+ -> +-+ -> +-+ ->
 +
    |a|\        /|b|    |c|    |d|
 +
<- +-+ \      / +-+ <- +-+ <- +-+
 +
      \ \    / /
 +
        \ +-+  /
 +
        \|x| /
 +
          +-+
  
 
== Set ==
 
== Set ==

A lap 2018. november 20., 11:31-kori változata

Előző - Fel - Következő

Tartalomjegyzék

Generics

C++ template megfelelője.

Tetszőleges metódust vagy osztályt megírhatunk úgy, hogy működjön több osztályra is. Például:

public class Main
{
    public static <T> boolean IsIn(T[] a, T v)
    {
        for( int i = 0; i < a.length; ++i)
        {
             if (a[i].equals(v))
                 return true;
        }
        return false;
    }
}

Wildcards

Collections

Kollekciókban lehet objektumokat tárolni.

List

Sorrendet őrző kollekció. Lehet beszúrni, kitörölni elemet, tetszőleges pozícióban. Le lehet kérdezni az adott pozícióban lévő elemet.

ArrayList

A List-nek olyan megvalósítása, ahol az elemek egy összefüggő memóriatartományban (tömb) helyezkednek el.

  • Időben konstans költsége van egy elem elérésének
  • Időben lineáris egy elem beszúrása vagy törlése, mert az összes többi elemet is mozgatni kell hozzá.
|a|b|c|d|e|f|g| -> |a|b|x|c|d|e|f|g|
    ^
    x

LinkedList

Láncolt lista, az elemek helye nem rögzített a mamóriában, de mindegyik eltárol egy-egy referenciát ez előtte és a mögötte álló elemre, így őrzi a sorrendet.

   +-+ -> +-+ -> +-+ -> +-+ -> 
   |a|    |b|    |c|    |d|
<- +-+ <- +-+ <- +-+ <- +-+
  • Egy adott pozíció elérése időben lineáris, mert az elejétől lépkedve lehet eljutni minden elemhez.
  • Egy elem beszúrása időben konstans, mert csak a szomszédos elemeket érinti a beszúrás
   +-+          +-+ -> +-+ -> +-+ -> 
   |a|\        /|b|    |c|    |d|
<- +-+ \      / +-+ <- +-+ <- +-+
      \ \    / /
       \ +-+  /
        \|x| /
         +-+

Set

HashSet

SortedSet

Map

SortedMap

Feladat

Implementáljunk egy gráf osztályt.

Előző - Fel - Következő

Személyes eszközök