亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? graph.java

?? 本程序是用java語言編寫的數(shù)據(jù)挖掘分類算法中的決策樹分類方法c4.5程序代碼
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
    /** Copies the given graph into this graph.
     * @param G The graph to be copied.
     */    
    public void assign(Graph G){
        if (G != this){
            clear();
            undirected = G.undirected;
            copy_graph(G);
        }
    }
    
    /** Sets the node entry, does nothing.
     * @param v The node to be set.
     * @param s The new setting. */    
    public void set_node_entry(Node v, String s){
        //waiting on clear_node_entry		clear_node_entry(v.data);
        //obs		clear_node_entry(v->data[0]);
        //		if (node_type().compareTo("string") == 0)
        //obs		if (strcmp(node_type(),"string") == 0)
        //waiting on leda_copy			v.data = leda_copy(s);
        //obs			v->data[0] = leda_copy(s);
        //		else{
        //waiting for definition of istrstream			istrstream in(s.cstring());
        //			read_node_entry(in,v.data);
        //obs			read_node_entry(in,v->data[0]);
        //		}
    }
    
    /** Sets the edge entry, does nothing.
     * @param e The edge to be set.
     * @param s The new setting. */    
    public void set_edge_entry(Edge e, String s){
        //waiting on clear_edge_entry		clear_edge_entry(e.data);
        //obs		clear_edge_entry(e->data[0]);
        //		if (edge_type().compareTo("string") == 0)
        //obs		if (strcmp(edge_type(),"string") == 0)
        //waiting on leda_copy			e.data = leda_copy(s);
        //obs			e->data[0] = leda_copy(s);
        //		else{
        //waiting for definition of istrstream			istrstream in(s.cstring());
        //			read_edge_entry(in,e.data);
        //obs			read_edge_entry(in,e->data[0]);
        //		}
    }
    
    // virtual functions called before and after update operations
    // (e.g. useful for graph editors)
    
    // node handler							// called
    /** Function called before inserting a node.         */
    protected void pre_new_node_handler() {}		// before inserting a node
    /** Function called after inserting a node.
     * @param A The node added. */    
    protected void post_new_node_handler(Node A) {}	// after inserting node v
    /** Function called before deleting a node.
     * @param A Node deleted. */    
    protected void pre_del_node_handler(Node A) {}	// before deleting node v
    /** Function called after node deleted. */
    protected void post_del_node_handler() {}		// after deleting a node
    
    
    // edge handler
    /** Function called before a new edge is created.
     * @param A Source node.
     * @param B Target node.
     */    
    protected void pre_new_edge_handler(Node A, Node B) {}	// before creating (v,w)
    /** Function called after new edge is created.
     * @param E The new edge.
     */    
    protected void post_new_edge_handler(Edge E) {}			// after insertion of e
    
    /** Function called when edge is deleted.
     * @param E The edge deleted.
     */    
    protected void pre_del_edge_handler(Edge E) {}			// before deleteing edge e
    /** Function called after edge is deleted.
     * @param A Source node of edge.
     * @param B Target node of edge.
     */    
    protected void post_del_edge_handler(Node A, Node B) {}	// after deletion of (v,w)
    
    /** Function called before edge is moved.
     * @param E Edge moved.
     * @param A Edge's source node.
     * @param B Edge's target node.
     */    
    protected void pre_move_edge_handler(Edge E,Node A,Node B){}	// before moving e to (v,w)
    /** Function called after edge is moved.
     * @param E The edge moved.
     * @param A The edge's source node.
     * @param B The edge's target node.
     */    
    protected void post_move_edge_handler(Edge E,Node A,Node B){}	// after moved e from (v,w)
    
    /** Function called before edge is hidden.
     * @param E Edge to hide.
     */    
    protected void pre_hide_edge_handler(Edge E) {}          // before hiding edge e
    /** Function called after edge is hidden.
     * @param E Edge hidden.
     */    
    protected void post_hide_edge_handler(Edge E) {}         // after hiding edge e
    
    /** Function called before edge is restored.
     * @param E Edge to be restored.
     */    
    protected void pre_restore_edge_handler(Edge E) {}       // before restoring edge e
    /** Function called after edge is restored.
     * @param E Edge restored.
     */    
    protected void post_restore_edge_handler(Edge E) {}      // after restoring edge e
    
    
    // global handler
    /** Function called before entries are cleared.
     */    
    protected void pre_clear_handler()  {}                 // before deleting graph
    /** Function called after entries are cleared.
     */    
    protected void post_clear_handler() {}                 // after deleting graph
    
    
    /** Returns the number of nodes.
     * @return Number of nodes. */    
    public int number_of_nodes(){return v_list.size(); }
    /** Returns the number of edges.
     * @return Number of edges. */    
    public int number_of_edges(){return e_list.size(); }
    
    /** Returns a list of all nodes in this graph.
     * @return A list of nodes.
     */    
    public LinkedList all_nodes(){
        v_list_tmp.clear();
        for(ListIterator nodes = v_list.listIterator();
        nodes.hasNext();
        v_list_tmp.addLast(nodes.next()));
        return v_list_tmp;
    }
    
    /** Returns a list of all edges in this graph.
     * @return A list of edges.
     */    
    public LinkedList all_edges(){
        e_list_tmp.clear();
        for(ListIterator edges = e_list.listIterator();
        edges.hasNext();
        e_list_tmp.addLast(edges.next()));
        return e_list_tmp;
    }
    
    /** Returns a list of all faces in this graph.
     * @return A list of faces.
     */    
    public LinkedList all_faces(){
        f_list_tmp.clear();
        for(ListIterator faces = f_list.listIterator();
        faces.hasNext();
        f_list_tmp.addLast(faces.next()));
        return f_list_tmp;
    }
    
    /** Choose a random node.
     * @return A node.
     */    
    public Node choose_node(){
        int n = number_of_nodes();
        if (n == 0) return null;
        Random rand = new Random();
        int r = rand.nextInt(n);
        Node v = (Node)v_list.get(r);
        return v;
    }
    
    /** Choose random edge.
     * @return An edge.
     */    
    public Edge choose_edge(){
        int m = number_of_edges();
        if (m == 0) return null;
        Random rand = new Random();
        int r = rand.nextInt(m);
        Edge e = (Edge)e_list.get(r);
        return e;
    }
    
    /** Returns true if this graph is directed, false otherwise.
     * @return True if this graph is directed, false otherwise.
     */    
    public boolean is_directed(){ return !undirected; }
    /** Returns true if this graph is undirected, false otherwise.
     * @return True if this graph is undirected, false otherwise.
     */    
    public boolean is_undirected(){ return undirected; }
    /** Returns true if there are no nodes in this graph, false otherwise.
     * @return True if there are no nodes in this graph, false otherwise.
     */    
    public boolean empty(){ return v_list.size() == 0; }
    
    //entry used to return addresses to the data, but there are no addresses in java
    /** Returns the data stored in this graph object.
     * @param v The object whose information is requested.
     * @return The data stored in the given object.
     */    
    public Object entry(Node v){return v.data;}
    /** Returns the data stored in this graph object.
     * @param e The object whose information is requested.
     * @return The data stored in the given object.
     */    
    public Object entry(Edge e){return e.data;}
    /** Returns the data stored in this graph object.
     * @param f The object whose information is requested.
     * @return The data stored in the given object.
     */    
    public Object entry(Face f){return f.data;}
    
    //essentially the same as entry
    /** Returns the data stored in this graph object.
     * @param v The object whose information is requested.
     * @return The data stored in the given object.
     */    
    public Object inf(Node v){return v.data;}
    /** Returns the data stored in this graph object.
     * @param e The object whose information is requested.
     * @return The data stored in the given object.
     */    
    public Object inf(Edge e){return e.data;}
    /** Returns the data stored in this graph object.
     * @param f The object whose information is requested.
     * @return The data stored in the given object.
     */    
    public Object inf(Face f){return f.data;}
    
    /** Splits edge e into edges e1 and e2.
     * @param e Edge to be split.
     * @param node_inf Node data for target node.
     * @param e1 First edge si is split into.
     * @param e2 Second edge e is split into.
     * @return The new target node.
     */    
    protected Node split_edge(Edge e, Object node_inf, Edge e1, Edge e2){
        // splits e into e1 and e2 by putting new node v on e
        // WARNING: changes e1, e2.
        //node v = source(e);
        Node w = e.target();
        Node u = add_node(node_inf);
        e1 = e;
        e2 = add_edge(u,w,e.data);
        //waiting on copy_edge_entry		copy_edge_entry(e2.data);
        if (undirected){
            u.append_adj_edge(e2,0,0);
            w.insert_adj_edge(e2,e,0,1,0);
            w.del_adj_edge(e,0,1);
            e.term[1] = u;
            u.append_adj_edge(e,0,1);
        }
        else{
            u.append_adj_edge(e2,0,0);
            w.insert_adj_edge(e2,e,1,1,0);
            w.del_adj_edge(e,1,1);
            e.term[1] = u;
            u.append_adj_edge(e,1,1);
        }
        return u;
    }
    
    /** Assigns the given data to the graph object.
     * @param v The node to store the data.
     * @param x The data stored.
     */    
    protected void assign(Node v,Object x){v.data = x;}
    /** Assigns the given data to the graph object.
     * @param e The edge to store the data.
     * @param x The data stored.
     */    
    protected void assign(Edge e,Object x){e.data = x;}
    /** Assigns the given data to the graph object.
     * @param f The face to store the data.
     * @param x The data stored.
     */    
    protected void assign(Face f,Object x){f.data = x;}
    
    /** Returns the face containing e.
     * @param e Edge for which face is requested.
     * @return The face holding e.
     */    
    protected Face access_face(Edge e){return (Face)FaceOf.map_access(e); }
    
    /** Merges the given nodes.
     * @param v1 First node merged.
     * @param v2 Second node merged.
     * @return The merged node.
     */    
    public Node merge_nodes(Node v1,Node v2){
        if (undirected)
            System.err.println("merge_nodes not implemented for undirected graphs.");	//error_handler 1
        for(int i=0; i<2; i++){
            if (v1.last_adj_edge[i] != null)
                v1.last_adj_edge[i].succ_adj_edge[i] = v2.first_adj_edge[i];
            else
                v1.first_adj_edge[i] = v2.first_adj_edge[i];
            if (v2.first_adj_edge[i] != null){
                v2.first_adj_edge[i].pred_adj_edge[i] = v1.last_adj_edge[i];
                v1.last_adj_edge[i] = v2.last_adj_edge[i];
            }
            v1.adj_length[i] += v2.adj_length[i];
            v2.adj_length[i] = 0;
            v2.first_adj_edge[i] = null;
            v2.last_adj_edge[i] = null;
        }
        //waiting for del_node		del_node(v2);
        return v1;
    }
    
    /** Splits edge e into e1 and e2.
     * @param e Edge to be split.
     * @param e1 First edge split from e.
     * @param e2 Second edge split from e.
     * @return The target node of the split edge.
     */    
    public Node split_edge(Edge e,Edge e1,Edge e2){
        //Warning: changes e1 and e2
        Object x = null;
        //waiting for init_node_entry		init_node_entry(x);
        return split_edge(e,x,e1,e2);
    }
    
    /** Makes the given edge hidden.
     * @param e Edge to hide.
     */    
    public void hide_edge(Edge e){
        if (is_hidden(e))
            System.err.println("graph::hide_edge: edge is already hidden.");	//error_handler 1
        pre_hide_edge_handler(e);
        Node v = e.source();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国精品免费视频| 日韩视频在线一区二区| 成人av资源下载| 风间由美一区二区av101| 国产一二精品视频| 激情五月激情综合网| 精品一区二区国语对白| 久草在线在线精品观看| 九九视频精品免费| 久久av老司机精品网站导航| 久久精品国产精品亚洲精品| 麻豆精品一区二区综合av| 秋霞成人午夜伦在线观看| 日韩av一区二区在线影视| 秋霞午夜av一区二区三区| 精品一区二区免费| 国产精品99久久久久久有的能看 | 久久99精品一区二区三区三区| 亚洲成人tv网| 青青草国产精品亚洲专区无| 九色|91porny| 成人动漫av在线| 色综合一区二区三区| 欧美中文一区二区三区| 51精品秘密在线观看| 欧美成人aa大片| 国产精品网友自拍| 亚洲欧美日韩人成在线播放| 亚洲v中文字幕| 久久99国产乱子伦精品免费| 国产成人福利片| av激情成人网| 欧美日韩亚洲综合在线| 日韩一级完整毛片| 国产亚洲综合在线| 亚洲欧美激情在线| 欧美aⅴ一区二区三区视频| 国产麻豆精品theporn| 99精品欧美一区二区蜜桃免费| 亚洲视频一区在线观看| 亚洲一区二区欧美激情| 久久精品国产色蜜蜜麻豆| 成人免费观看视频| 欧美乱妇15p| 久久久精品日韩欧美| 亚洲综合在线观看视频| 久久国产免费看| 色国产精品一区在线观看| 日韩欧美的一区| 亚洲男人的天堂在线aⅴ视频| 偷拍日韩校园综合在线| 福利电影一区二区| 91麻豆精品国产91久久久使用方法| 久久久不卡网国产精品一区| 一区二区三区在线观看国产| 久久99热99| 色综合久久综合网欧美综合网| 欧美xxx久久| 亚洲午夜日本在线观看| 国产精品一区二区男女羞羞无遮挡| 91精彩视频在线| 欧美国产一区在线| 日韩av成人高清| 91网站最新地址| 久久久久久免费| 午夜不卡av免费| 99国产精品久久| 久久免费美女视频| 日韩激情一二三区| 一本色道久久综合狠狠躁的推荐| 精品捆绑美女sm三区| 亚洲一区二区在线视频| 大白屁股一区二区视频| 日韩欧美视频在线| 亚洲国产成人tv| 99精品欧美一区二区三区小说 | 亚洲aaa精品| thepron国产精品| 久久亚洲一区二区三区四区| 天天免费综合色| 色综合久久88色综合天天免费| 国产拍揄自揄精品视频麻豆| 免费在线成人网| 欧美日韩不卡在线| 亚洲最大色网站| 91福利在线看| ...xxx性欧美| 成人动漫视频在线| 国产精品妹子av| 国产精品亚洲视频| 久久久久国产精品免费免费搜索| 日本中文字幕不卡| 欧美精品三级在线观看| 亚洲一区二区三区视频在线 | 日韩欧美成人一区| 日韩精品91亚洲二区在线观看 | 国产精品无码永久免费888| 精久久久久久久久久久| 日韩免费观看高清完整版在线观看| 亚洲国产乱码最新视频 | 国产日韩av一区| 精品中文字幕一区二区| 欧美一区二区精美| 天堂成人国产精品一区| 欧美一区二区三区影视| 青青草伊人久久| 欧美成人猛片aaaaaaa| 韩国一区二区三区| 久久综合久久鬼色| 国产精品538一区二区在线| 久久综合久久综合九色| 国产91在线|亚洲| 国产精品第一页第二页第三页| www.久久久久久久久| 亚洲欧美日韩精品久久久久| 欧美在线综合视频| 丝袜a∨在线一区二区三区不卡| 69成人精品免费视频| 毛片av一区二区| 久久久国产午夜精品 | 精品成人一区二区三区四区| 精品一区二区三区久久| 欧美极品xxx| 91在线porny国产在线看| 一区二区日韩电影| 这里只有精品视频在线观看| 精品一二线国产| 中文字幕二三区不卡| 一本久道中文字幕精品亚洲嫩| 亚洲自拍偷拍综合| 欧美一区二区三区人| 国产精品乡下勾搭老头1| 亚洲视频小说图片| 欧美日韩一区三区四区| 久久av资源网| 日韩理论片一区二区| 欧美人伦禁忌dvd放荡欲情| 激情都市一区二区| 亚洲欧美在线高清| 欧美剧情片在线观看| 国产精品亚洲视频| 亚洲专区一二三| 精品国产网站在线观看| 91在线观看成人| 免费成人你懂的| 成人欧美一区二区三区在线播放| 欧美另类久久久品| 国产精品99久久久久| 亚洲成人你懂的| 久久久另类综合| 欧美日韩一区二区三区免费看| 精品一二三四区| 夜色激情一区二区| 久久一区二区三区国产精品| 欧美中文字幕一区二区三区亚洲 | 欧美精品三级日韩久久| 丁香一区二区三区| 香蕉加勒比综合久久| 国产欧美一区在线| 欧美精品日韩综合在线| 99在线精品免费| 久久精品国产99国产| 伊人婷婷欧美激情| 国产亚洲视频系列| 91精品欧美福利在线观看| 91视频在线看| 国产中文一区二区三区| 五月婷婷久久综合| 欧美国产综合一区二区| 日韩欧美电影一二三| 欧美日韩一区成人| 99久久久久免费精品国产 | 欧美在线|欧美| 福利一区福利二区| 久久精品国产一区二区| 亚洲国产日韩a在线播放性色| 欧美国产激情一区二区三区蜜月| 91精品国产手机| 欧美性受xxxx| k8久久久一区二区三区| 国产真实乱对白精彩久久| 天天影视网天天综合色在线播放| 亚洲男人天堂av网| 欧美激情综合网| www久久精品| 欧美一区二区三区色| 欧美乱妇20p| 欧美午夜影院一区| 91免费看`日韩一区二区| 国产98色在线|日韩| 国产一区二区成人久久免费影院| 首页国产欧美久久| 亚洲成人精品一区| 一区二区三区精品在线| 亚洲欧美综合色| 1000精品久久久久久久久| 国产精品欧美一区二区三区| 国产午夜精品一区二区三区四区| 精品免费99久久| 日韩欧美国产不卡|