Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne (0)

1 Hindamata
Punktid




  Tallinn 2020  TALLINNA TEHNIKAÜLIKOOL  Infotehnoloogia teaduskond        INDIVIDUAALTÖÖ AINES "ALGORITMID  JA ANDMESTRUKTUURID"                                       


  2  Lühendite ja mõistete sõnastik  Graaf  Järjestatud paar mittetühjast hulgast V ja selle hulga elementide 
paaride hulgast E.  Hulk V  Lõplik tippude hulk.  Hulk E  Tipupaaride hulga alamhulk.  Lihtgraaf    Silmuste ja kordsete servadeta orienteerimata graaf.  Ekstsentrilisus  Suurus, mis näitab tipu lühima tee pikkust temast kõige 
kaugemasse punkti.   Arvutatakse valemiga: e(v)  , 
kus d(u, v) on tipu u kaugus tipust v (lühima tee pikkus tipust u 
tippu v).  Klass    Objektorienteeritud programmeerimisel keelekonstruktsioon, 
mille põhjal luuakse objekte. Klass kirjeldab kindla objekti 
tüübi ja käitumise.  Meetod  Klassiga seotud funktsioon(id).  Kujutis ehk Map  Andmekogum, kus on võtmete hulga igale elemendile 
vastavuses üks väärtuste hulga element.  Loend ehk List  Loend on korrastatud andmekogum.  Massiiv ehk Array  Järjestatud andmete kogum. (Massiivil on kindel pikkus)  ArrayList  Dünaamiline masiiv. Töötab enamjaolt nagu massiiv, kuid selle 
pikkus on dünaamiline.       


  3    Sisukord   
Lühendite ja mõistete sõnastik ......................................................................................... 2   Sisukord ............................................................................................................................ 3   1 Ülesande püstitus ........................................................................................................... 4   2 Kitsendused ................................................................................................................... 4   3 Muudatused etteantud klassides .................................................................................... 4   3.1 Klass Vertex ........................................................................................................... 4   3.2 Klass Graph ............................................................................................................ 5   4 Algoritmi kirjeldus ........................................................................................................ 5   5 Programmi kasutusjuhend ............................................................................................. 6   6 Testimiskava .................................................................................................................. 7   7 Algoritmi testimine suure koguse andmetega ............................................................. 10   Kasutatud allikad ............................................................................................................ 11   Lisa 1 – Programmi täielik tekst ..................................................................................... 12   Lisa 2 – Lahendusnäidete tulemused .............................................................................. 21    
 
 
 


  4  1 Ülesande püstitus  Etteantud  graafi  klasse  (Graph,  Vertex,  Arc)  kasutades  koostada  meetod,  mis  arvutab  etteantud sidusa lihtgraafi G = (V, E) iga tipu v jaoks välja selle ekstsentrilisuse.  2 Kitsendused  Graafi kõikide servade pikkus on 1.  3 Muudatused etteantud klassides  Etteantud graafi klassidesse on lisatud järgmised uued andmeväljad:  3.1 Klass Vertex   List mis hoiab endas tipu kõrval olevate tippude indekseid (int info)  ArrayList adjacentVertexesInfo = new ArrayList<>();       


  5    3.2 Klass Graph  Kujutis ehk Map mis hoiab endas kõiki graafi tippe ja nendele vastavaid ekstsentrilisusi.  Map vertexEccentricities;    List mis hoiab endas graafi kõiki tippe.  LinkedList vertexList = new LinkedList<>();    4 Algoritmi kirjeldus  Sidus  lihtgraaf  on  silmuste  ja  kordsete  servadeta  orienteerimata  graaf,  kus  leidub  tee  mistahes tipust mistahes teise tippu.  Tipu v ekstsentrilisuseks nimetatakse suurust  e(v) = max {d(u, v)| u kuulub hulka V } , kus d(u, v) on tipu u kaugus tipust v (lühima  tee pikkus tipust u tippu v).  Iga  uue  tipu  loomisel  lisatakse  see  graafi  klassis  olevasse  listi,  mis  hoiab  endas  kõiki  tippe.  Tippude  ekstsentrilisuse  arvutamiseks  on  vaja  teada,  milliste  tippudega  on  iga  tipp  ühendatud.  Selleks  käime  läbi  kõik  tipust  väljuvad  kaared  ja  nende  tagumised  otspunktid  (Vertex  target)  ning  lisame  leitud  otspunktide  indeksid  listi  adjacentVertexesInfo.  Tippude ekstsentrilisue leidmiseks  kasutame laiuti otsimist.  Algoritm alustab etteantud  tipust, läbib kõik selle tipu naabrid, siis naabrite naabrid jne. Algoritm lõpetab töö, kui  kõik võimalikud teed on läbitud ning salvestab tipu ekstsentrilisuse.   Viimaks väljastab kõikide tippude ekstsentrilisused e(v). 


  6  5 Programmi kasutusjuhend  1.  Luua  sidus  lihtgraaf  käsitisi  või  kasutades  meetodit  createRandomSimpleGraph  (tahab sisenditeks tippude arvu n ja kaarte arvu m), mis loob suvalise sidusa lihtgraafi.  2. Käivitada graafis meetod computeEccentricityOfEachVertex(), mis arvutab graafi iga  tipu ekstsentrilisuse.  3. Käsklus System.out.println(graafi nimi) väljastab konsooli graafi kuju tekstesitluses  4.  System.out.println(g.outputEccentricityOfEachVertex())  väljastab  konsooli  iga  tipu  ekstsentrilisuse kujul: e(v) = ?  , kus v on tipu id.    Lisa: Meetod outputEccentricityOfVertex(Vertex v) tagastab String kujul ette antud tipu  v ekstsentrilisuse kujul: e(v) = ?  , kus v on tipu id.     


  7  6 Testimiskava  Initisialiseerimata graaf  Exception in thread "main" java.lang.RuntimeException: Graph is null!  Tühi graaf  Exception  in  thread  "main"  java.lang.RuntimeException:  Graph  "Empty  graph"  is  empty!  Graaf ei ole sidus  Exception  in  thread  "main"  java.lang.RuntimeException:  No  adjacent  vertexes  found  for vertex (vertex id).    Graafi tippude ekstsentrilisuse leidmise test 1    Test graaf 1  Tippude ekstsentrilisused  A --> AB (A->B) AF (A->F) AD (A->D)  B --> BA (B->A) BC (B->C)  C --> CB (C->B) CD (C->D) CF (C->F)  D --> DC (D->C) DE (D->E) DA (D->A)  E --> ED (E->D) EF (E->F)  F --> FE (F->E) FA (F->A) FC (F->C)  e(A) = 2  e(B) = 3  e(C) = 2  e(D) = 2  e(E) = 3  e(F) = 2    Time elapsed to calculate eccentricity for 6 vertexes: 16ms 


  8  Graafi tippude ekstsentrilisuse leidmise test 2 
  Test graaf 2  Tippude  ekstsentrilisused  A --> AB (A->B) AF (A->F) AD (A->D) AG (A->G)  B --> BA (B->A) BC (B->C) BF (B->F)  C --> CB (C->B) CD (C->D) CF (C->F)  D --> DC (D->C) DE (D->E) DA (D->A)  E --> ED (E->D) EF (E->F)  F --> FE (F->E) FA (F->A) FC (F->C) FG (F->G) FB (F->B)  G --> GF (G->F) GA (G->A)  e(A) = 2  e(B) = 2  e(C) = 2  e(D) = 2  e(E) = 2  e(F) = 2  e(G) = 2    Time elapsed to calculate eccentricity for 7 vertexes: 16ms       


  9  Graafi tippude ekstsentrilisuse leidmise test 3 
  Test graaf 3  Tippude  ekstsentrilisused  A --> AB (A->B) AF (A->F) AD (A->D) AC (A->C) AE (A->E)  B --> BA (B->A) BC (B->C) BF (B->F)  C --> CB (C->B) CD (C->D) CF (C->F) CA (C->A)  D --> DC (D->C) DE (D->E) DA (D->A)  E --> ED (E->D) EF (E->F) EA (E->A)  F --> FE (F->E) FA (F->A) FC (F->C) FG (F->G) FB (F->B)  G --> GF (G->F)  e(A) = 2  e(B) = 2  e(C) = 2  e(D) = 3  e(E) = 2  e(F) = 2  e(G) = 3    Time elapsed to calculate eccentricity for 7 vertexes: 15ms         


  10  Graafi tippude ekstsentrilisuse leidmise test 4 
  Test graaf 4  Tippude  ekstsentrilisused  A --> AB (A->B) AF (A->F) AD (A->D) AC (A->C) AE (A->E)  B --> BA (B->A) BC (B->C) BF (B->F)  C --> CB (C->B) CD (C->D) CA (C->A)  D --> DC (D->C) DA (D->A)  E --> EF (E->F) EA (E->A)  F --> FE (F->E) FA (F->A) FG (F->G) FB (F->B)  G --> GF (G->F)  e(A) = 2  e(B) = 2  e(C) = 3  e(D) = 3  e(E) = 2  e(F) = 2  e(G) = 3    Time elapsed to calculate eccentricity for 7 vertexes: 15ms  7 Algoritmi testimine suure koguse andmetega   
1. Ekstsentrilisuse leidmine graafile, milles on 2000 tippu ja 2500 kaart: 
 
Graph g = new Graph ("Graph 2000-2500"); 
g.createRandomSimpleGraph (2000, 2500); 
 
Time elapsed to calculate eccentricity for 2000 vertexes: 15912ms 
 
2. Ekstsentrilisuse leidmine graafile, milles on 5000 tippu ja 6000 kaart: 
 
Graph g = new Graph ("Graph 5000-6000"); 
g.createRandomSimpleGraph (5000, 6000); 
 
Time elapsed to calculate eccentricity for 5000 vertexes: 378612ms 
   


  11  Kasutatud allikad  1. Aine koduleht (Graafid) 
https://enos.itcollege.ee/~jpoial/algoritmid/graafid.html 
 
2. Graafid 
https://research.cyber.ee/~peeter/teaching/graafid02s/graafid.pdf 
 
3. Vikipeedia (Laiuti otsing) 
https://et.wikipedia.org/wiki/Laiuti_otsing 
 
4. Eccentricity class 
https://github.com/ambye85/sedgewick_algorithms/blob/master/src/main/java/uk/ashley
bye/sedgewick/graph/Eccentricity.java 
 
5. Queue class 
https://github.com/ambye85/sedgewick_algorithms/blob/master/src/main/java/uk/ashley
bye/sedgewick/collections/Queue.java 
 
6. Graaf 
https://et.wikipedia.org/wiki/Graaf 
 
7. Klass 
https://et.wikipedia.org/wiki/Klass_(programmeerimine) 
 
8.   Java õppematerjalid 
https://ained.ttu.ee/javadoc/index.html


  12  Lisa 1 – Programmi täielik tekst  import java.util.*; 
 
 
public class GraphTask { 
 
   /* 
   ÜLESANNE: 
   Koostada meetod, mis arvutab etteantud sidusa lihtgraafi G=(V, E) 
iga TIPU v jaoks välja selle EKSTSENTRILISUSE. 
      e(v) , kus d(u, v) on tipu u 
kaugus tipust v (lühima tee pikkus tipust u tippu v) 
   */ 
 
   public static void main (String[] args) 
 
   /** Actual main method to run examples and everything. */ 
   public void run() 
 
   class Vertex implements Comparable 


  13   
      Vertex (String s) 
 
      @Override 
      public String toString() 
 
      /** Comparator for sorting Vertexes in TreeMap */ 
      public int compareTo(Vertex v) 
   } 
 
 
   /** Arc represents one arrow in the graph. Two-directional Arcs are 
    * represented by two Arc objects (for both directions). 
    */ 
   class Arc { 
 
      private String id; 
      private Vertex target; // kaare tagumine otspunkt (Arc A->B siis 
target = B) 
      private Arc next;      // ahela viit lihtahela jaoks 
      // private int info = 0; 
 
      Arc (String s, Vertex v, Arc a) 
 
      Arc (String s) 
 
      @Override 
      public String toString() 
 
   }  
 
 
   class Graph { 
 
      private String id; // graafi nimi 
      private Vertex first;  // viit esimesele tipule. Kui null siis 
on tegemist tühja graafiga 
      private int info = 0; 
      private Map vertexEccentricities; 
      private LinkedList vertexList = new LinkedList<>(); 
 
      private final String newLine = System.getProperty 
("line.separator"); // For StringBuilder 
 
      Graph (String s, Vertex v)-->
  14        } 
 
      Graph (String s) 
 
      /** 
       * Print graph as string. 
       * @return visual representation of Graph connections. 
       */ 
      @Override 
      public String toString() 
            sb.append (nl); 
            v = v.next; 
         } 
         return sb.toString(); 
      } 
 
 
      /** 
       * Print out eccentricity e(V) for every Vertex in Graph. 
       * @return visual representation of eccentricity e(V) for every 
Vertex in Graph. 
       */ 
      public String outputEccentricityOfEachVertex() 
 
         return output.toString(); 
      } 
 
 


  15        /** 
       * Print out eccentricity e(V) of given Vertex. 
       * @param vertex Vertex object 
       * @return visual representation of eccentricity e(V) for given 
Vertex in Graph. 
       */ 
      public String outputEccentricityOfVertex(Vertex vertex) 
         } 
 
         return output.toString(); 
      } 
 
 
      /** 
       * Find Adjacent Vertexes of each Vertex and add adjacent vertex 
info to List Vertex.adjacentVertexesInfo 
       */ 
      public void computeAdjacentVertexesOfEachVertex() 
            v = v.next; 
         } 
      } 
 
      /** 
       * Construct a new instance of Eccentricity and compute the 
eccentricity of each vertex in the Graph. 
       * Update Map vertexEccentricities 
       * Key = Vertex 
       * Value = Vertex Eccentricity 
       */ 
      public void computeEccentricityOfEachVertex() 
 
         computeAdjacentVertexesOfEachVertex(); 
 
         Eccentricity eccentricity = new Eccentricity(); 
         vertexEccentricities = new TreeMap<>(); 
 
         for (int vertex = 0; vertex < this.vertexList.size(); 


  16  vertex++) 
            } 
         } 
      } 
 
 
      public Vertex createVertex (String vid) 
 
      public Arc createArc (String aid, Vertex from, Vertex to) 
 
      public Vertex findVertexByInfo(int info) 
         } 
         throw new RuntimeException("No vertex found in this graph 
with info: " + info); 
      } 
 
 
      /** 
       * Create a connected undirected random tree with n vertices. 
       * Each new vertex is connected to some random existing vertex. 
       * @param n number of vertices added to this graph 
       */ 
      public void createRandomTree (int n)-->
  17              } else {} 
         } 
      } 
 
      /** 
       * Create an adjacency matrix of this graph. 
       * Side effect: corrupts info fields in the graph 
       * @return adjacency matrix 
       */ 
      public int[][] createAdjMatrix() 
         int[][] res = new int [info][info]; 
         v = first; // jooksev muutuja 
         while (v != null) 
            v = v.next; 
         } 
         return res; 
      } 
 
      /** 
       * Create a connected simple (undirected, no loops, no multiple 
       * arcs) random graph with n vertices and m Arcs. 
       * @param n number of vertices 
       * @param m number of Arcs 
       */ 
      public void createRandomSimpleGraph (int n, int m) 
         int[][] connected = createAdjMatrix(); 
         int ArcCount = m - n + 1;  // remaining Arcs 
         while (ArcCount > 0)-->
  18                 continue;  // no loops 
            if (connected [i][j] != 0 || connected [j][i] != 0)  
               continue;  // no multiple Arcs 
            Vertex vi = vert [i]; 
            Vertex vj = vert [j]; 
            createArc ("a" + vi.toString() + "_" + vj.toString(), vi, 
vj); 
            connected [i][j] = 1; 
            createArc ("a" + vj.toString() + "_" + vi.toString(), vj, 
vi); 
            connected [j][i] = 1; 
            ArcCount--;  // a new Arc happily created 
         } 
      } 
 
 
   class Eccentricity { 
 
 
      /** 
       * For each vertex of the graph, the algorithm conducts a 
breadth first search for all connected vertices. 
       * The maximal shortest path from each vertex to any other 
vertex, the eccentricity of that vertex, is recorded. 
       * Also checks whether the eccentricity for the vertex is less 
than the current radius (smallest eccentricity in the graph) 
       * or longer than the current diameter (largest eccentricity in 
the graph), and updates them if either is true. 
       * 
       * @param graph the graph to conduct the breadth first search on 
       * @param sourceVertex the vertex from which to conduct the 
search 
       * @return int value of sourceVertex Eccentricity. 
       */ 
      private int breadthFirstSearch(Graph graph, Vertex sourceVertex) < -->
  19   
            ArrayList adjacentVertexesInfo = new 
ArrayList<>(); 
 
            for (Vertex vertex : graph.vertexList) 
            } 
 
            if (adjacentVertexesInfo.size() <= 0 || 
adjacentVertexesInfo == null) { 
               throw new RuntimeException("No adjacent vertexes found 
for vertex " + graph.findVertexByInfo(thisVertexInfo)); 
            } 
 
            for (int adjacentVertex : adjacentVertexesInfo) 
               } 
            } 
         } 
 
         return eccentricity; 
      } 
 
   } 
 
   /** 
    * Queue helps Breadth first search queue the source vertex, then 
iteratively dequeue the vertex and 
    * enqueue its adjacent vertices. 
    */ 
   class Queue implements Iterable 
 
      public boolean isEmpty() 
 
      public int size() -->
  20           return nodeCount; 
      } 
 
      public void enqueue(T item) else { 
            temp.next = back; 
         } 
 
         nodeCount++; 
      } 
 
      public T dequeue() 
 
         nodeCount--; 
 
         return item; 
      } 
 
      @Override 
      public Iterator iterator() 
 
   private class ListIterator implements Iterator 
 
         @Override 
         public T next() 
 
         @Override 
         public void remove() 
      } 
 
   } 
 
   } 



  21  Lisa 2 – Lahendusnäidete tulemused    1. Test graaf 1 tulemuse ekraanipilt    Tulemuste seletused:  Tipu A ekstsentrilisus on 2, sest lühim tee temast kõige kaugemasse punkti on 2.  Antud näites on mitu tippu mis on tipust A 2 liikumise kaugusel.  Näiteks tippu C saamiseks on tipust A üks lühimatest teedest A -> D -> C       


  22  Tipu B ekstsentrilisus on 3, sest lühim tee temast kõige kaugemasse punkti E on 3.  Näiteks tippu E saamiseks on tipust B üks lühimatest teedest B -> A -> D -> E    2. Test graaf 2 tulemuse ekraanipilt      Tulemuste seletused:  Antud näites on iga tipu ekstsentrilisus 2. See tähendab, et mistahes tipust mistahes teise 
tippu kõige pikem lühim tee on 2.     


  23  3. Test graaf 3 tulemuse ekraanipilt     
   


  24  4. Test graaf 4 tulemuse ekraanipilt     
  5. Tühja graafi tulemuse ekraanipilt       


  25  6. Mitte sidusa graafi tulemuse ekraanipilt       
Vasakule Paremale
ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #1 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #2 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #3 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #4 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #5 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #6 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #7 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #8 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #9 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #10 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #11 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #12 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #13 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #14 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #15 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #16 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #17 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #18 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #19 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #20 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #21 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #22 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #23 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #24 ICD0001 Algoritmid ja andmestruktuurid kodutöö 6 - aruanne #25
Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
Leheküljed ~ 25 lehte Lehekülgede arv dokumendis
Aeg2021-12-07 Kuupäev, millal dokument üles laeti
Allalaadimisi 12 laadimist Kokku alla laetud
Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
Autor 199470 Õppematerjali autor
Töö sisu:
Täielikult vormistatud aruanne
Algoritmi kirjeldus, programmi kasutusjuhend, test näited, toimiva programmi täielik tekst

Ülesande püstitus:
Etteantud graafi klasse (Graph, Vertex, Arc) kasutades koostada meetod, mis arvutab etteantud sidusa lihtgraafi G = (V, E) iga tipu v jaoks välja selle ekstsentrilisuse.

Kasutatud allikad

Sarnased õppematerjalid

Algoritmid ja andmestruktuurid-transfers
6
pdf

Algoritmid ja andmestruktuurid: transfers

Output of non-deterministic algorithm may be different for different runs with the same input data Mittedetermineeritud algoritmi tulemus samade lähteandmete korral võib erinevatel lahenduskordadel olla erinev. Tõene Partial algorithm terminates for any set of input data. Osaline algoritm peatub mistahes sisendandmete korral. Väär Average time complexity of binary search is O(log n). Kahendotsimise keskmine ajaline keerukus on O(log n). Tõene Worst case time complexity of merge sort is O(n). Ühildusmeetodi (merge sort) halvima juhu ajaline keerukus on O(n). Väär (it is O(n log n)) Sorting method is quick if it has average time complexity O(n lon n). Järjestamismeetod on kiire, kui selle keskmine ajaline keerukus on O(n log n). Tõene Jah, üldjuhul ei saa kiiremini

Algoritmid ja andmestruktuurid
Java programmeerimise konspekt
49
doc

Java programmeerimise konspekt

Meetod (alamprogramm) Java rakendus sisaldab põhiprogrammi (main), millest tõenäoliselt pöördutakse ka mingite alamprogrammide poole. Javas nimetatakse alamprogramme meetoditeks (tulenevalt selle keele objektorienteeritusest) ning meetodid on rühmitatud klasside kaupa. Meetodid võivad olla kas programmeerija enda poolt loodud või Javasse sisse ehitatud (nn. API meetodid, mille kirjelduse leiab Java dokumentatsioonist). Sõltumata sellest, kust meetod pärineb, võib see olla kas klassi- või isendimeetod. Klassimeetod (class method) , mida Javas kirjeldab võtmesõna static, on kasutatav n.ö. "igas olukorras", s.t. ei ole vajalik objektorienteeritud paradigma järgimine (esialgu püüame oma kursuses läbi ajada klassimeetoditega). Täpsemalt öeldes - klassimeetodi poole pöördumiseks ei ole vajalik objekti olemasolu. Klassimeetodi poole pöördumiseks kirjutatakse reeglina: Klassi_nimi . meetodi_nimi ( faktilised_parameetrid ); Kui meetod on defineeritud jooksvas klassis,

Java programmeerimine
Objektorienteeritud programmeerimise loengutekst
40
odt

Objektorienteeritud programmeerimise loengutekst

3. klassi Writer alamklasse ­ FileWriter, PrintWriter, BufferedWriter Puhverdamine Puhver: · info ajutiseks salvestamiseks mäluosa · ülesandeks on säilitada andmeid enne nende saatmist sihtkohta (nt. kõvakettale) Andmete lugemise ja kirjutamise protseduurid on aeglased · vahel võib ühe infoühiku saatmine olla praktiliselt sama "hinnaga" kui komplekti Klasse - BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter 11. Loeng Vood, Dünaamilised andmestruktuurid, Sisend-väljund, Failid Sisend/väljund (ingl. k. input/output) - pakett java.io Javas voo abil: · klaviatuurilt, failist, sõnest, Internetist ... · ekraanile, faili ... Failid - java.io.File · Kataloog on ka fail · Pigem faili (kataloogi) nime (ja tee) esitus · Ei täpsustata, kuidas sinna kirjutatakse või sealt loetakse Jaotus Java seisukohalt jagunevad vood:

Programmeerimine
PPK outdated
24
doc

PPK(outdated)

Arrays 1. Delete certain integer from array int[] massiv={}; int b = 5; int count = 0; for (int i : massiv) { if (i == b) count++; } int[] temp = new int[massiv.length - count]; int x = 0; for (int j = 0; j < massiv.length; j++) { if (massiv[j] != 5) temp[x++] = massiv[j]; 2. Find the longest numbers sequence (for example out of array [1111223344] -> sequence of number 1) int[] massiv = {}; int count = 1; int result = 0; int number = -1; for (int i = 1; i < massiv.length; i++) { if (massiv[i] == (massiv[i-1])) { count++; } else { count = 1;}обновляем, если цифра поменялась if (result <= count) {

Java programmeerimine
Andmebaasipõhiste veebirakenduste arendamine Microsoft Visual Studio ja SQL Server’i baasil
184
docx

Andmebaasipõhiste veebirakenduste arendamine Microsoft Visual Studio ja SQL Server’i baasil

Andmebaasipõhiste veebirakenduste arendamine Microsoft Visual Studio ja SQL Server'i baasil C# Tallinn 2011 C# Mõnigi võib ohata, et jälle üks uus programmeerimiskeel siia ilma välja mõeldud. Teine jälle rõõmustab, et midagi uut ja huvitavat sünnib. Kolmas aga hakkas äsja veebilahendusi kirjutama ja sai mõnegi ilusa näite lihtsasti kokku. Oma soovide arvutile selgemaks tegemise juures läheb varsti vaja teada, "mis karul kõhus on", et oleks võimalik täpsemalt öelda, mida ja kuidas masin tegema peaks. Loodetavasti on järgnevatel lehekülgedel kõigile siia sattunute jaoks midagi sobivat. Mis liialt lihtne ja igav tundub, sellest saab kiiresti üle lapata. Mis esimesel pilgul paistab arusaamatu, kuid siiski vajalik, seda tasub teist korda lugeda. Ning polegi loota, et kõik kohe lennult külge jääks!? Selle jaoks on teksti sees koodinäited, mida saab kopeerida ja arvutis tööle panna. Ning mõningase muu

Algoritmid ja andmestruktuurid
ÜLESANNE III KLAMBER
154
pdf

ÜLESANNE III KLAMBER

Arvutigraafika I ÜLESANNE III Klamber Uued käsud: COLOR lk. 23 DONUT lk. 33 FILL lk. 38 EXPLODE lk. 35 LINEWEIGHT lk. 71 PEDIT lk. 51 PLINE lk. 39 Klambri eestvaade Joonetada klambri eestvaade. Kontuurjoonte laius 2 mm, telg- ja kriipsjooned joonestada vastavalt 0,5 ja 1 mm laiuste joontega Mõõtmeid pole vaja joonisele kanda, Selle töö tegemise võiks jagada järgmisteks osadeks: a) telgjoonte joonestamine; b) abijoonte joonestamine; Töö 3 Klamber 1 c) kontuurjoonte kandmine joonisele. kusjuues igal joonestamise astmel on tegemist eriomadustega joontega nii välimuse kui ka tähenduse järgi. Kõige otstarbekam on selisel juhul jaotada joonis erilisteks üksikosadeks, mis üheskoos annavadki nagu „kokkuklapitud” kujutise. Lihtsaim moodus selleks on kihtide kasutamine, nagu me

Autocad
C-materjal
85
doc

C# materjal

C# õppematerjal 2006 Sisukord Sisukord...................................................................................................................................... 2 Sissejuhatus.................................................................................................................................5 Põhivõimalused...........................................................................................................................6 Käivitamine.............................................................................................................................8 Ülesandeid...........................................................................................................................9 Suhtlus arvutiga.......................................................................................................................9 Arvutamine................................................................................................

Programmeerimine - c sharp
Algoritmid ICD0001 - kordamisküsimused
22
docx

Algoritmid ICD0001 - kordamisküsimused

kiirmeetod Radix sort, O(n) O(n) Stabiilne. positsioonimeetod Merge sort, O(n logn) O(n logn) On enamasti ühildusmeetod stabiilne. Paisktabel, hash O(1) O(1) table Heap sort, O(n logn) O(n logn) kuhjameetod 1. Algoritmi omadused. Algoritmide asümptootiline analüüs: relatsioonid "suur- O", "väike-o", teeta, "suur-oomega" ja "väike-oomega"; nende definitsioonid ning põhiomadused. Mida miski täpselt tähendab. Algoritm on täpne (üheselt mõistetav) juhis antud ülesande lahendamiseks. Algoritm koosneb lõplikust arvust sammudest, millest igaüks on täidetav lõpliku aja jooksul lõplikke ressursse kasutades. Algoritmi rakendatakse teatavale lähteandmete komplektile (sisend)

Algoritmid ja andmestruktuurid




Meedia

Kommentaarid (0)

Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun