Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Random;
- public class Node {
- private ArrayList<Node> lien=new ArrayList();
- private boolean visited=false;
- public void setLien(ArrayList<Node> lien) {
- this.lien = lien;
- }
- public void addLien(Node n){
- lien.add(n);
- }
- public void randomKill(double p){
- Random rnd = new Random();
- double nombre;
- for(Node iterator:lien){
- nombre = rnd.nextInt(100);
- if(nombre<(p/2))//cas ou on doit detruire (p/2 car on repasse sur chaque element 2x)
- {
- iterator.lien.remove(this);//enleve le noeud distant
- lien.remove(iterator);
- }
- }
- }
- public int DFS(){
- int res=1; //the element is counted
- for(Node iterator:lien){
- if(!iterator.isVisited()){
- iterator.setVisited(true);
- res+=iterator.DFS();
- }
- }
- return res;
- }
- public ArrayList<Node> getLien() {
- return lien;
- }
- public void setVisited(boolean visited) {
- this.visited = visited;
- }
- public boolean isVisited() {
- return visited;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement