Advertisement
Guest User

Untitled

a guest
Jun 19th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.03 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Random;
  3.  
  4.  
  5. public class Node {
  6.     private ArrayList<Node> lien=new ArrayList();
  7.     private boolean visited=false;
  8.  
  9.     public void setLien(ArrayList<Node> lien) {
  10.         this.lien = lien;
  11.     }
  12.    
  13.     public void addLien(Node n){
  14.         lien.add(n);
  15.     }
  16.  
  17.     public void randomKill(double p){
  18.         Random rnd = new Random();
  19.         double nombre;
  20.         for(Node iterator:lien){
  21.             nombre = rnd.nextInt(100);
  22.             if(nombre<(p/2))//cas ou on doit detruire (p/2 car on repasse sur chaque element 2x)
  23.             {
  24.                 iterator.lien.remove(this);//enleve le noeud distant
  25.                 lien.remove(iterator);
  26.             }
  27.         }
  28.     }
  29.    
  30.     public int DFS(){
  31.         int res=1; //the element is counted
  32.         for(Node iterator:lien){
  33.             if(!iterator.isVisited()){
  34.                 iterator.setVisited(true);
  35.                 res+=iterator.DFS();
  36.             }
  37.                
  38.         }      
  39.        
  40.         return res;
  41.     }
  42.        
  43.  
  44.        
  45.    
  46.    
  47.     public ArrayList<Node> getLien() {
  48.         return lien;
  49.     }
  50.  
  51.     public void setVisited(boolean visited) {
  52.         this.visited = visited;
  53.     }
  54.  
  55.     public boolean isVisited() {
  56.         return visited;
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement