• 大小: 49.12MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-17
  • 语言: Java
  • 标签: Java  

资源简介

Java程序设计基础篇第10版课后习题答案源码与解析 Java程序设计基础篇第10版课后习题答案源码与解析

资源截图

代码片段和文件信息

import java.util.*;

public abstract class AbstractGraph implements Graph {
  protected List vertices = new ArrayList<>(); // Store vertices
  protected List> neighbors 
    = new ArrayList<>(); // Adjacency lists

  /** Construct an empty graph */
  protected AbstractGraph() {
  }
  
  /** Construct a graph from vertices and edges stored in arrays */
  protected AbstractGraph(V[] vertices int[][] edges) {
    for (int i = 0; i < vertices.length; i++)
      addVertex(vertices[i]);
    
    createAdjacencyLists(edges vertices.length);
  }

  /** Construct a graph from vertices and edges stored in List */
  protected AbstractGraph(List vertices List edges) {
    for (int i = 0; i < vertices.size(); i++)
      addVertex(vertices.get(i));
        
    createAdjacencyLists(edges vertices.size());
  }

  /** Construct a graph for integer vertices 0 1 2 and edge list */
  protected AbstractGraph(List edges int numberOfVertices) {
    for (int i = 0; i < numberOfVertices; i++) 
      addVertex((V)(new Integer(i))); // vertices is {0 1 ...}
    
    createAdjacencyLists(edges numberOfVertices);
  }

  /** Construct a graph from integer vertices 0 1 and edge array */
  protected AbstractGraph(int[][] edges int numberOfVertices) {
    for (int i = 0; i < numberOfVertices; i++) 
      addVertex((V)(new Integer(i))); // vertices is {0 1 ...}
    
    createAdjacencyLists(edges numberOfVertices);
  }

  /** Create adjacency lists for each vertex */
  private void createAdjacencyLists(
      int[][] edges int numberOfVertices) {
    for (int i = 0; i < edges.length; i++) {
      addEdge(edges[i][0] edges[i][1]);
    }
  }

  /** Create adjacency lists for each vertex */
  private void createAdjacencyLists(
      List edges int numberOfVertices) {
    for (Edge edge: edges) {
      addEdge(edge.u edge.v);
    }
  }

  @Override /** Return the number of vertices in the graph */
  public int getSize() {
    return vertices.size();
  }

  @Override /** Return the vertices in the graph */
  public List getVertices() {
    return vertices;
  }

  @Override /** Return the object for the specified vertex */
  public V getVertex(int index) {
    return vertices.get(index);
  }

  @Override /** Return the index for the specified vertex object */
  public int getIndex(V v) {
    return vertices.indexOf(v);
  }

  @Override /** Return the neighbors of the specified vertex */
  public List getNeighbors(int index) {
    List result = new ArrayList<>();
    for (Edge e: neighbors.get(index))
      result.add(e.v);
    
    return result;
  }

  @Override /** Return the degree for a specified vertex */
  public int getDegree(int v) {
    return neighbors.get(v).size();
  }

  @Override /** Print the edges */
  public void printEdges() {
    for (int u = 0; u < neighbors.size(); u++) {
      System.out.

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-09-05 22:58  exercise\
     文件         310  2013-06-17 12:08  exercise\.classpath
     文件         384  2011-11-27 14:14  exercise\.project
     文件         311  2011-10-11 22:01  exercise\.pydevproject
     目录           0  2016-09-05 22:57  exercise\.settings\
     文件       22172  2010-07-14 07:57  exercise\.settings\org.eclipse.jdt.core.prefs
     文件         138  2009-11-08 11:50  exercise\.settings\org.eclipse.jdt.ui.prefs
     文件         610  2013-09-17 21:25  exercise\AbstractGraph$Edge.class
     文件        2715  2013-09-17 21:25  exercise\AbstractGraph$Tree.class
     文件        7243  2013-09-17 21:25  exercise\AbstractGraph.class
     文件        8759  2013-05-26 13:33  exercise\AbstractGraph.java
     文件         832  2013-09-17 21:25  exercise\AbstractTree.class
     文件         601  2012-03-05 15:13  exercise\AbstractTree.java
     文件        1511  2013-09-17 21:25  exercise\Account.class
     文件        2023  2013-09-17 21:25  exercise\Account1.class
     文件         366  2013-05-16 07:42  exercise\address.dat
     文件        2050  2011-10-11 22:01  exercise\alarmSound.au
     文件      140761  2012-05-15 12:54  exercise\AllBabyNamesSortedAllowDuplicates.txt
     文件       17865  2012-05-15 12:53  exercise\AllBabyNamesSortedDuplicatesNotAllowed.txt
     目录           0  2016-09-05 22:57  exercise\audio\
     文件       12254  1999-02-26 15:03  exercise\audio\am.au
     文件        5598  1999-05-08 14:23  exercise\audio\anthem0.mid
     文件        7913  1999-05-08 14:21  exercise\audio\anthem1.mid
     文件        8342  1999-05-08 14:21  exercise\audio\anthem2.mid
     文件        3737  1999-05-08 14:31  exercise\audio\anthem3.mid
     文件        8332  1999-05-08 14:24  exercise\audio\anthem4.mid
     文件        5232  1999-05-08 14:22  exercise\audio\anthem5.mid
     文件       11000  1999-05-08 14:15  exercise\audio\anthem6.mid
     文件        8342  1999-05-08 14:21  exercise\audio\china.mid
     文件      482975  2013-03-25 21:54  exercise\audio\china.mp3
     文件        5598  1999-05-08 14:23  exercise\audio\denmark.mid
............此处省略3782个文件信息

评论

共有 条评论