当前位置: 首页 > Web前端 > HTML

图-邻接表

时间:2023-03-28 14:13:04 HTML

实现图-邻接表classVertex{constructor(V){this.data=V;//顶点this.adj=[];//邻接表数组实现}}//模拟无向图邻接表实现类的实现classUndirectedListGraph{constructor(size){this.vertexesList=newArray(size);this.edges=0;this.vertexes=0;}edgeSize(){返回this.edges;}vertexesSize(){返回this.vertexes;//添加一个顶点addVertex(vertex){this.vertexesList[this.vertexes]=newVertex(vertex);这个顶点++;}//添加一条新边addEdge(from,to,weight=1){consti=this.getPosition(from);constj=this.getPosition(to);this.vertexesList[i].adj.push(j);this.vertexesList[j].adj.push(i);这个。边缘++;}getPosition(v){for(leti=0;i{constremoveIndex=this.vertexesList[it].adj.findIndex((v)=>v===index);this.vertexesList[it].adj.splice(removeIndex,1);})//删除当前顶点for(leti=index;iit>1?it-1:it)}}//某个顶点的度数(v){returnthis.vertexesList[this.getPosition(v)].adj.length;}//显示图displayGraph(){console.log('这是一个无向图,一个存储在邻接表中的图');console.log('顶点信息',this.vertexesList);for(leti=0;i