第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
  • great

    查看全部
    0 采集 收起 來(lái)源:課程概述

    2020-03-25

  • 看!虎頭虎尾

    查看全部
    0 采集 收起 來(lái)源:課程概述

    2020-03-25

  • prim算法是:假設(shè)從頂點(diǎn)A開(kāi)始, 先選距離A最近的頂點(diǎn)(比如F),然后把把F點(diǎn)放入已涉及頂點(diǎn)集合當(dāng)中,A-F邊放入已選邊的集合中。之后將A和F看作一個(gè)整體,再去找理這個(gè)整體最近的點(diǎn)和邊。


    kruskal算法是:先把所有的邊找到,每一次都去找所有邊中最短的那一條。不斷的把頂點(diǎn)連接起來(lái),直到所有的頂點(diǎn)都放入頂點(diǎn)集合中 并且通過(guò)邊形成同一個(gè)集合為止。


    2種算法都要在選邊的過(guò)程中不斷判斷選擇的邊是否會(huì)和已有邊形成閉環(huán),如果形成閉環(huán)就要舍棄

    查看全部
  • 十字鏈表方式存儲(chǔ)圖的數(shù)據(jù)結(jié)構(gòu)和存儲(chǔ)內(nèi)容

    查看全部
  • 鏈?zhǔn)酱鎯?chǔ)圖的一些表示方法。

    存儲(chǔ)的數(shù)據(jù)比較多

    查看全部
  • 鄰接表-鏈?zhǔn)酱鎯?chǔ)

    • 頂點(diǎn)的表示:頂點(diǎn)索引+出弧鏈表頭指針+頂點(diǎn)數(shù)據(jù)

    • ?。夯☆^頂點(diǎn)索引+下一條弧指針+弧數(shù)據(jù)

    • 逆鄰接表:記錄的是 入弧鏈表頭指針 和 弧尾頂點(diǎn)索引

    • struct Node{頂點(diǎn)索引;該頂點(diǎn)弧鏈表的頭結(jié)點(diǎn);頂點(diǎn)數(shù)據(jù);}

    • struct Arc{指向的頂點(diǎn)索引;指向下一條弧的指針;弧信息;}

    • struct Map{頂點(diǎn)數(shù)組;}


    查看全部
  • 頂點(diǎn):??

    頂點(diǎn)索引? ? ? ? ? ? ? ?出弧鏈表頭指針? ? ? ? ? ? ? ? ? ? ? ? ?頂點(diǎn)數(shù)據(jù)

    ? ? |? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|

    頂點(diǎn)索引? ? ? 第一個(gè)出弧的指針(可以是NULL)? ? ? ? ?頂點(diǎn)數(shù)據(jù)


    弧的表示方法:

    弧頭頂點(diǎn)索引? ? ? ? ? ? ? ? 下一條弧指針? ? ? ? ? ? ? ? ? 弧數(shù)據(jù)

    ????? ? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

    弧頭頂點(diǎn)(指向的點(diǎn))? ? ? ? 一個(gè)點(diǎn)有多個(gè)弧? ? ? ? ? ? ? 弧數(shù)據(jù)

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?每個(gè)弧保存下一條弧的指針


    查看全部
  • 連通圖:對(duì)于任何頂點(diǎn)都有通往其它頂點(diǎn)的邊,即任意兩個(gè)點(diǎn)之間都是連通的

    完全圖:任意頂點(diǎn)與其它頂點(diǎn)之間都能直接連接,邊數(shù)與頂點(diǎn)間的數(shù)量關(guān)系:n(n-1)/2

    生成樹(shù):頂點(diǎn)和僅能夠連接這些頂點(diǎn)的邊組成的,邊數(shù)與頂點(diǎn)間的數(shù)量關(guān)系:n-1


    查看全部
    0 采集 收起 來(lái)源:課程概述

    2020-03-16

  • http://img1.sycdn.imooc.com//5e48af310001ea5306500704.jpg

    main.cpp:
    
    
    #include?<iostream>
    #include?"CMap.h"
    
    int?main()?{
    ????CMap?*pMap?=?new?CMap(6);
    
    ????Node?*pNodeA?=?new?Node('A');
    ????Node?*pNodeB?=?new?Node('B');
    ????Node?*pNodeC?=?new?Node('C');
    ????Node?*pNodeD?=?new?Node('D');
    ????Node?*pNodeE?=?new?Node('E');
    ????Node?*pNodeF?=?new?Node('F');
    
    
    ????pMap->addNode(pNodeA);
    ????pMap->addNode(pNodeB);
    ????pMap->addNode(pNodeC);
    ????pMap->addNode(pNodeD);
    ????pMap->addNode(pNodeE);
    ????pMap->addNode(pNodeF);
    
    
    ????//設(shè)置鄰接矩陣
    ????pMap->setValueToMatrixForUndirectedGraph(0,1,6);
    ????pMap->setValueToMatrixForUndirectedGraph(0,4,5);
    ????pMap->setValueToMatrixForUndirectedGraph(0,5,1);
    ????pMap->setValueToMatrixForUndirectedGraph(1,2,3);
    ????pMap->setValueToMatrixForUndirectedGraph(1,5,2);
    ????pMap->setValueToMatrixForUndirectedGraph(2,5,8);
    ????pMap->setValueToMatrixForUndirectedGraph(2,3,7);
    ????pMap->setValueToMatrixForUndirectedGraph(3,5,4);
    ????pMap->setValueToMatrixForUndirectedGraph(3,4,2);
    ????pMap->setValueToMatrixForUndirectedGraph(4,5,9);
    
    ????pMap->primTree(0);
    
    
    
    
    //????pMap->printMatrix();
    //
    //????cout<<endl;
    //
    //????pMap->depthFirstTraverse(0);
    //????cout<<endl;
    //????//廣度遍歷之前,由于之前的點(diǎn)都被表示為已經(jīng)訪問(wèn)過(guò)
    //????pMap->resetNode();
    //????pMap->breadthFirstTraverse(0);
    ????return?0;
    }
    CMap.h:
    
    
    #ifndef?INC_0214_CMAP_H
    #define?INC_0214_CMAP_H
    
    #include?<vector>
    #include?"Node.h"
    #include?"Edge.h"
    using?namespace?std;
    
    class?CMap{
    public:
    ????CMap(int?capacity);
    ????~CMap();
    ????bool?addNode(Node?*pNode);??//向圖中加入頂點(diǎn)(結(jié)點(diǎn))
    ????void?resetNode();???????????//重置頂點(diǎn)
    ????bool?setValueToMatrixForDirectedGraph(int?row,int?col,int?val?=?1);?????//為有向圖設(shè)置鄰接矩陣
    ????bool?setValueToMatrixForUndirectedGraph(int?row,int?col,int?val?=?1);???//為無(wú)向圖設(shè)置鄰接矩陣
    
    ????void?printMatrix();?????????????????????????//打印鄰接矩陣
    
    ????void?depthFirstTraverse(int?nodeIndex);??????//深度優(yōu)先遍歷
    ????void?breadthFirstTraverse(int?nodeIndex);???//廣度優(yōu)先遍歷
    
    ????void?primTree(int?nodeIndex);//Prim生成樹(shù)
    
    private:
    ????bool?getValueFromMatrix(int?row,int?col,int?&val);??//從矩陣中獲取權(quán)值
    ????void?breadthFirstTraverseImp(vector<int>?preVec);????//廣度優(yōu)先遍歷實(shí)現(xiàn)函數(shù)
    ????int?getMinEdge(vector<Edge>?edgeVec);//找最小邊函數(shù)
    private:
    ????int?m_iCapacity;????//圖中最多可以容納的頂點(diǎn)數(shù)
    ????int?m_iNodeCount;???//已經(jīng)添加的頂點(diǎn)(結(jié)點(diǎn))個(gè)數(shù)
    ????Node?*m_pNodeArray;?//用來(lái)指向一段內(nèi)存,這段內(nèi)存用來(lái)存放頂點(diǎn)數(shù)組
    ????int?*m_pMatrix;?????//用來(lái)存放鄰接矩陣
    
    ????Edge?*m_pEdge;//用于保存最小邊,需要在cpp文件中申請(qǐng)一段內(nèi)存
    };
    
    #endif?//INC_0214_CMAP_H
    CMap.cpp:
    #include?"CMap.h"
    #include?"Node.h"
    #include?<iostream>
    #include?<vector>
    using?namespace?std;
    
    CMap::CMap(int?capacity)?{
    ????m_iCapacity?=?capacity;
    ????m_iNodeCount?=?0;
    ????m_pNodeArray?=?new?Node[m_iCapacity];
    ????m_pMatrix?=?new?int[m_iCapacity?*?m_iCapacity];
    ????memset(m_pMatrix,0,m_iCapacity?*?m_iCapacity?*?sizeof(int));//需要初始化將這個(gè)矩陣的各元素初始化為0;
    //也可以用for循環(huán)進(jìn)行初始化:但是注意m_pMatrix是一個(gè)一維數(shù)組
    //????for(int?i?=?0;i?<?m_pMatrix*m_pMatrix;i++){
    //????????m_pMatrix[i]?=?0;
    //????}
    ????//存放最小邊的空間大小
    ????m_pEdge?=?new?Edge[m_iCapacity?-?1];
    
    }
    
    CMap::~CMap()?{//針對(duì)析構(gòu)函數(shù)中申請(qǐng)的內(nèi)存進(jìn)行釋放
    ????delete?[]m_pNodeArray;
    ????delete?[]m_pMatrix;
    }
    
    
    bool?CMap::addNode(Node?*pNode)?{??//向圖中加入頂點(diǎn)(結(jié)點(diǎn))
    ????if(pNode?==?NULL){
    ????????return?NULL;
    ????}
    ????m_pNodeArray[m_iNodeCount].m_cData?=?pNode->m_cData;//內(nèi)存在構(gòu)造函數(shù)時(shí)就已經(jīng)申請(qǐng)好了,只需要付值了
    ????m_iNodeCount++;
    ????return?true;
    }
    
    void?CMap::resetNode()?{???????????//重置頂點(diǎn)
    ????for(int?i?=?0;i?<?m_iNodeCount;i++){
    ????????m_pNodeArray[i].m_bIsVisited?=?false;
    ????}
    }
    
    bool?CMap::setValueToMatrixForDirectedGraph(int?row,int?col,int?val)?{?????//為有向圖設(shè)置鄰接矩陣,函數(shù)聲明時(shí)是int?val?=?1,但是定義時(shí)不加=1
    ????if(row?<?0?||?row?>=?m_iCapacity){
    ????????return?false;
    ????}
    ????if(col?<?0?||?col?>=?m_iCapacity){
    ????????return?false;
    ????}
    ????m_pMatrix[row?*?m_iCapacity?+?col]?=?val;
    ????return?true;
    }
    
    bool?CMap::setValueToMatrixForUndirectedGraph(int?row,int?col,int?val)?{???//為無(wú)向圖設(shè)置鄰接矩陣
    ????if(row?<?0?||?row?>=?m_iCapacity){
    ????????return?false;
    ????}
    ????if(col?<?0?||?col?>=?m_iCapacity){
    ????????return?false;
    ????}
    ????m_pMatrix[row?*?m_iCapacity?+?col]?=?val;
    ????m_pMatrix[col?*?m_iCapacity?+?row]?=?val;
    ????return?true;
    }
    
    void?CMap::printMatrix(){
    ????for(int?i?=?0;i?<?m_iCapacity;i++){
    ????????for(int?k?=?0;?k?<?m_iCapacity;k++){
    ????????????cout?<<?m_pMatrix[i*m_iCapacity+k]?<<?"?";
    ????????}
    ????????cout?<<?endl;
    ????}
    }
    
    bool?CMap::getValueFromMatrix(int?row,int?col,int?&val){
    ????if(row?<?0?||?row?>=?m_iCapacity){
    ????????return?false;
    ????}
    ????if(col?<?0?||?col?>=?m_iCapacity){
    ????????return?false;
    ????}
    ????val?=?m_pMatrix[row?*?m_iCapacity?+?col];
    ????return?true;
    }
    
    void?CMap::depthFirstTraverse(int?nodeIndex){//需要用深度優(yōu)先遍歷實(shí)現(xiàn)
    ????int?value?=?0;
    ????cout?<<?m_pNodeArray[nodeIndex].m_cData?<<?"?";
    ????m_pNodeArray[nodeIndex].m_bIsVisited?=?true;
    
    ????for(int?i?=?0;?i?<?m_iCapacity;i++){
    ????????getValueFromMatrix(nodeIndex,i,value);//注意引用的寫(xiě)法
    ????????if(value?==?1){
    ????????????if(m_pNodeArray[i].m_bIsVisited){
    ????????????????continue;
    ????????????}?else{
    ????????????????depthFirstTraverse(i);
    ????????????}
    ????????}?else{
    ????????????continue;
    ????????}
    ????}
    }
    
    void?CMap::breadthFirstTraverse(int?nodeIndex){
    ????cout?<<?m_pNodeArray[nodeIndex].m_cData?<<?"?";
    ????m_pNodeArray[nodeIndex].m_bIsVisited?=?true;
    
    ????//需要用數(shù)組來(lái)保存被訪問(wèn)過(guò)的結(jié)點(diǎn)的索引,這里使用vector,標(biāo)準(zhǔn)模板庫(kù)需要將頭文件加入
    ????vector<int>?curVec;
    ????curVec.push_back(nodeIndex);
    
    ????breadthFirstTraverseImp(curVec);
    }
    
    
    void?CMap::breadthFirstTraverseImp(vector<int>?preVec){
    ????int?value?=?0;//用于去鄰接矩陣取值,看是否為0
    ????vector<int>?curVec;//用來(lái)保存當(dāng)前這一層的所有節(jié)點(diǎn)
    
    ????for(int?j?=?0;j?<?(int)preVec.size();j++){
    ????????for(int?i?=?0;?i?<?m_iCapacity;i++){
    ????????????getValueFromMatrix(preVec[j],i,value);
    ????????????if(value?!=?0){//如果邊存在,還要看對(duì)應(yīng)頂點(diǎn)被訪問(wèn)過(guò)沒(méi)
    ????????????????if(m_pNodeArray[i].m_bIsVisited){
    ????????????????????continue;
    ????????????????}?else{//如果存在且沒(méi)又被訪問(wèn)過(guò)
    ????????????????????cout?<<?m_pNodeArray[i].m_cData<<"?";
    ????????????????????m_pNodeArray[i].m_bIsVisited?=?true;
    
    ????????????????????curVec.push_back(i);
    ????????????????}
    ????????????}
    ????????}
    ????}
    ????//還需要判斷這一層是否為空,為空則不必向下進(jìn)行遍歷
    ????if(curVec.size()?==?0){
    ????????return;
    ????}?else{
    ????????breadthFirstTraverseImp(curVec);
    ????}
    }
    
    void?CMap::primTree(int?nodeIndex)?{//Prim生成樹(shù)
    ????int?value?=?0;
    ????int?edgeCount?=0;
    ????vector<int>?nodeVec;//存儲(chǔ)點(diǎn)的集合
    ????vector<Edge>?edgeVec;//存儲(chǔ)邊的集合
    ????//打印
    ????cout?<<?m_pNodeArray[nodeIndex].m_cData?<<endl;
    
    ????nodeVec.push_back(nodeIndex);
    ????m_pNodeArray[nodeIndex].m_bIsVisited?=?true;
    
    ????//
    ????while?(edgeCount?<?m_iCapacity?-?1){
    ????????int?temp?=?nodeVec.back();
    ????????//尋找與該結(jié)點(diǎn)連接的所有的邊
    ????????for(int?i?=?0;?i?<?m_iCapacity;i++){
    ????????????getValueFromMatrix(temp,i,value);
    ????????????if(value?!=?0){
    ????????????????if(m_pNodeArray[i].m_bIsVisited)?{//看點(diǎn)被訪問(wèn)過(guò)沒(méi),而不是邊
    ????????????????????continue;
    ????????????????}?else{
    ????????????????????//若這條邊還沒(méi)有被訪問(wèn)過(guò),放進(jìn)數(shù)組
    ????????????????????Edge?edge(temp,i,value);//用構(gòu)造函數(shù)實(shí)例化一個(gè)邊的對(duì)象
    ????????????????????edgeVec.push_back(edge);
    ????????????????}
    ????????????}
    ????????}
    ????????//此時(shí)與temp連接的邊都放入了備選邊中,不會(huì)重復(fù)放入同一條邊
    
    ????????//從可選邊集合中找出最小的邊,連著這條邊的另一個(gè)頂點(diǎn)就放入點(diǎn)的集合中
    ????????//從可選邊集合中找出最小的邊函數(shù):
    ????????int?edgeIndex?=?getMinEdge(edgeVec);
    ????????edgeVec[edgeIndex].m_bSelected?=?true;//把選中的邊置為true
    
    ????????//打印一下這個(gè)邊
    ????????cout?<<?edgeVec[edgeIndex].m_iNodeIndexA?<<?"----"?<<?edgeVec[edgeIndex].m_iNodeIndexB;
    ????????cout?<<?"?"?<<?edgeVec[edgeIndex].m_iWeightValue?<<?endl;
    
    ????????//再把這條邊放入最小生成樹(shù)邊的集合中
    ????????m_pEdge[edgeCount]?=?edgeVec[edgeIndex];
    ????????edgeCount++;
    ????????//連著這條邊的另一個(gè)頂點(diǎn)就放入點(diǎn)的集合中
    ????????int?nextNodeIndex?=?edgeVec[edgeIndex].m_iNodeIndexB;
    
    ????????nodeVec.push_back(nextNodeIndex);//放入點(diǎn)時(shí)需要將訪問(wèn)置為true
    ????????m_pNodeArray[nextNodeIndex].m_bIsVisited?=?true;
    ????????//打印下一個(gè)點(diǎn)
    ????????cout<<m_pNodeArray[nextNodeIndex].m_cData?<<?endl;
    ????}
    }
    
    int?CMap::getMinEdge(vector<Edge>?edgeVec){
    ????int?minWeight?=?0;
    ????int?edgeIndex?=?0;
    ????int?i?=?0;
    ????for(;?i?<?edgeVec.size();i++){
    
    ????????if(!edgeVec[i].m_bSelected){//先看selected是不是為假
    ????????????minWeight?=?edgeVec[i].m_iWeightValue;
    ????????????//還需要記錄最小邊的索引
    ????????????edgeIndex?=?i;
    ????????????break;//找到第一個(gè)點(diǎn)之后就要跳出循環(huán)
    ????????}
    ????}
    
    ????if(minWeight?==?0){//找最小邊失敗,返回-1
    ????????return?-1;
    ????}
    
    ????for(;i?<?edgeVec.size();i++){
    ????????if(edgeVec[i].m_bSelected){//若為true
    ????????????continue;
    ????????}?else{
    ????????????if(minWeight?>?edgeVec[i].m_iWeightValue){
    ????????????????minWeight?=?edgeVec[i].m_iWeightValue;
    ????????????????edgeIndex?=?i;
    ????????????}
    ????????}
    ????}
    
    ????return?edgeIndex;
    }
    Node.h:
    
    
    
    #ifndef?INC_0214_NODE_H
    #define?INC_0214_NODE_H
    
    class?Node{
    public:
    ????Node(char?data?=0);
    ????char?m_cData;
    ????bool?m_bIsVisited;//訪問(wèn)過(guò)了是true
    };
    
    #endif?//INC_0214_NODE_H


    Node.cpp:
    
    
    
    #include?"Node.h"
    
    Node::Node(char?data)?{
    ????m_cData?=?data;
    ????m_bIsVisited?=?false;
    }


    Edge.h:
    
    #ifndef?INC_0214_EDGE_H
    #define?INC_0214_EDGE_H
    
    
    class?Edge{
    public:
    ????Edge(int?nodeIndexA?=?0,int?nodeIndexB?=?0,int?weightValue?=?0);
    ????int?m_iNodeIndexA;
    ????int?m_iNodeIndexB;
    ????int?m_iWeightValue;
    ????bool?m_bSelected;
    
    };
    
    #endif?//INC_0214_EDGE_H


    Edge.cpp:
    
    
    
    #include?"Edge.h"
    Edge::Edge(int?nodeIndexA,int?nodeIndexB,int?weightValue){
    ????m_iNodeIndexA?=?nodeIndexA;
    ????m_iNodeIndexB?=?nodeIndexB;
    ????m_iWeightValue?=?weightValue;
    ????m_bSelected?=?false;//false為未訪問(wèn)過(guò)
    }


    查看全部
  • Prim算法:

    http://img1.sycdn.imooc.com//5e455f4f000188f313540760.jpg

    選了F點(diǎn)后:

    http://img1.sycdn.imooc.com//5e455f650001555713700856.jpg

    Kruskal算法:(最先選最小的邊,再選次笑的邊,前提是選邊后不要造成閉環(huán))

    http://img1.sycdn.imooc.com//5e455f76000138bf14560798.jpg

    因?yàn)檫x的邊沒(méi)有交集,所以點(diǎn)集合分為兩個(gè)集合

    http://img1.sycdn.imooc.com//5e455fa10001715308440512.jpg

    http://img1.sycdn.imooc.com//5e455faa00014af011240710.jpg

    查看全部
  • 圖的遍歷:深度搜索(前序遍歷)和廣度搜索

    深度搜索(前序遍歷):

    http://img1.sycdn.imooc.com//5e4559180001aecc10980804.jpg

    廣度搜索(較好理解,一層一層地搜索)

    http://img1.sycdn.imooc.com//5e4559260001f3be10400778.jpg

    不同的搜索方式得到的生成樹(shù)不同,上述較為簡(jiǎn)單,未涉及到權(quán)的問(wèn)題。

    若有權(quán):最小生成樹(shù)

    兩種算法:Prim算法 & Kruskal算法

    http://img1.sycdn.imooc.com//5e4559330001918614200750.jpg

    查看全部
  • 十字鏈表:https://www.cnblogs.com/wkfvawl/p/9985083.html

    http://img1.sycdn.imooc.com//5e455417000105a515220850.jpg

    十字鏈表,用結(jié)構(gòu)體來(lái)存儲(chǔ):

    http://img1.sycdn.imooc.com//5e455422000144da12420732.jpg

    鄰接多重表—鏈?zhǔn)酱鎯?chǔ)(無(wú)向圖)

    http://img1.sycdn.imooc.com//5e4554300001b96612600748.jpg

    http://img1.sycdn.imooc.com//5e4554430001102414760790.jpg

    查看全部
  • http://img1.sycdn.imooc.com//5e451047000185bf09560480.jpg

    鄰接矩陣用數(shù)組進(jìn)行表達(dá),相對(duì)來(lái)說(shuō)比較簡(jiǎn)單。

    鄰接表和十字鏈表都是用鏈表表達(dá),主要用于表示有向圖。

    鄰接多重表則用于表示無(wú)向圖。

    領(lǐng)接矩陣:

    http://img1.sycdn.imooc.com//5e45105100015f5807540548.jpg

    http://img1.sycdn.imooc.com//5e45105a00017f8713420668.jpg

    自身不能到達(dá)自身,所以為0,以上是有向圖,無(wú)向圖的矩陣是對(duì)稱的,所以克制抵只記錄上或者下三角矩陣

    http://img1.sycdn.imooc.com//5e4510700001b2a813660642.jpghttp://img1.sycdn.imooc.com//5e4510810001defc13760608.jpg

    數(shù)據(jù)結(jié)構(gòu)用代碼進(jìn)行表示:

    http://img1.sycdn.imooc.com//5e45109c0001e1ca13860496.jpg

    鄰接表(記錄出弧的鏈表的頭指針):逆-入弧

    http://img1.sycdn.imooc.com//5e4510ae0001e55013480666.jpg

    http://img1.sycdn.imooc.com//5e4510b60001216225601600.jpg

    這樣的數(shù)據(jù)結(jié)構(gòu)方式如何通過(guò)數(shù)據(jù)結(jié)構(gòu)的代碼來(lái)實(shí)現(xiàn)呢?

    http://img1.sycdn.imooc.com//5e4511090001664e13960832.jpg


    查看全部
  • http://img1.sycdn.imooc.com//5e44fd9800018d7211920668.jpg

    可以把無(wú)向圖中每一條連線當(dāng)成有向圖中的兩條連線(去、回)

    有向圖中:

    出度:一個(gè)頂點(diǎn)發(fā)出去的箭頭數(shù)量

    http://img1.sycdn.imooc.com//5e44fda5000191c112100630.jpg


    無(wú)向圖中:

    http://img1.sycdn.imooc.com//5e44fdb100019e5109700786.jpg

    對(duì)于無(wú)向圖來(lái)說(shuō),如果滿足每一個(gè)頂點(diǎn),都有通往其他頂點(diǎn)的連線(直接或間接)這樣的圖稱為連通圖。

    http://img1.sycdn.imooc.com//5e44fdc1000191e506120706.jpg

    在無(wú)向圖中,如果任意頂點(diǎn) 與其他頂點(diǎn)都有連線,這樣的圖稱為完全圖。

    http://img1.sycdn.imooc.com//5e44fdd00001fc6c11740620.jpg

    http://img1.sycdn.imooc.com//5e44fdda00015cf011840748.jpg

    查看全部

舉報(bào)

0/150
提交
取消
課程須知
本課程是數(shù)據(jù)結(jié)構(gòu)初級(jí)課程 1、熟練掌握C++語(yǔ)言基礎(chǔ)語(yǔ)法
老師告訴你能學(xué)到什么?
1、圖的基本概念 2、圖的存儲(chǔ)方式 3、圖的遍歷算法 4、圖的最小生成樹(shù)算法 5、圖的實(shí)際應(yīng)用

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買(mǎi)該課程,無(wú)需重復(fù)購(gòu)買(mǎi),感謝您對(duì)慕課網(wǎng)的支持!