[DFS]LeetCode547. Friend Circles

深度优先搜索,遍历完一棵树之后,选择下一个没有mark的点继续搜索

class Solution {
public:
    void countNum(vector<vector<int>>& M, int ith, bool marked[]) {
        marked[ith] = true;
        for(int i = 0; i < M.size(); i++) {
            if(M[ith][i] == 1 && marked[i] == false) {
                countNum(M, i, marked);
            }
        }
    }
    int findCircleNum(vector<vector<int>>& M) {
        bool* markedNum = new bool[M.size()];
        int circleNum = 0;
        for(int i = 0; i < M.size(); i++)
            markedNum[i] = false;
        for(int i = 0; i < M.size(); i++) {
            if(!markedNum[i]) {
                countNum(M, i, markedNum);
                circleNum++;
            }
        }
        return circleNum;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 序 2016年6月25日夜,帝都,天下着大雨,拖着行李箱和同学在校门口照了最后一张合照,搬离寝室打车去了提前租...
    RichardJieChen阅读 10,644评论 0 12
  • 一直以来,我都很少使用也避免使用到树和图,总觉得它们神秘而又复杂,但是树在一些运算和查找中也不可避免的要使用到,那...
    24K男阅读 11,723评论 5 14
  • 第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...
    SeanCheney阅读 11,129评论 0 19
  • 写了个拼图游戏,探讨一下相关的AI算法。拼图游戏的复原问题也叫做N数码问题。 拼图游戏 N数码问题 广度优先搜索 ...
    囧书阅读 15,988评论 37 99
  • 在黑夜中行走,博学的人可以借助满天的繁星准确的找到方位,善思的人可以根据脚下的土地来辨别方向,如我这般的人,只会望...
    菜小胖v阅读 1,607评论 0 0

友情链接更多精彩内容