当前课程知识点:算法设计与分析 >  3 Graph >  3.3 Testing Bipartiteness >  Testing Bipartiteness

返回《算法设计与分析》慕课在线视频课程列表

Testing Bipartiteness在线视频

Testing Bipartiteness

下一节:Connectivity in Directed Graphs

返回《算法设计与分析》慕课在线视频列表

Testing Bipartiteness课程教案、知识点、字幕

二部图检测

是广度优先搜索算法的一个应用

首先我们介绍二部图的定义和应用

一个无向图G=(V, E)被称为二部图

如果其节点可以被赋予红蓝两色

使得每条边都有一个红色的端点和一个蓝色的端点

二部图在稳定婚姻和排序问题中都有应用

在稳定婚姻问题中

代表男性的节点可以被涂成红色

代表女性的节点可以被涂成蓝色

在排序问题中

代表机器的节点可以被涂成红色

代表工作的节点可以被涂成蓝色

下图给出了一个二部图的实例

给定图G

它是二部图吗

二部图能够使得很多的问题变得简单

例如匹配问题

又比如独立集问题

对于二部图的情形是容易处理的

请看下图中的这个例子

左图是一个二部图G

将点涂成蓝色和红色分在两侧

得到如右图所示G的另外一种表示

看起来结构比较清晰

下面我们来讨论二部图的性质

有这样的引理

如果一个图G是二部图

那么它不包含奇圈

证明 奇圈是指包含奇数个点的圈

如果G中包含奇圈

则不可能对它用两种颜色交替着色

下面的两个图分别是二部图和非二部图

可以看到

左图不包含奇圈 可以进行二着色

而右图中包含奇圈 不能进行二着色

关于二部图

从BFS的角度 有这样的引理

设G为一个连通图

并且令L_0, …, L_k为

由BFS以s为起始点产生的层

则以下二者中恰好有一个一定成立

(1) G中没有边连接同一层的两个节点

这时可以把奇数层的点着一种颜色

偶数层的点着另一种颜色

G是一个二部图

(2) G中有一条边连接同一层中的两个节点

这时G包含一个奇圈

从而不是二部图

左 右两图分别展示了这两种情形的例子

由以上的讨论

我们可以得出这样的结论

一个图G是二部图 当且仅当它不包含奇圈

下面的两个图分别是

二部图和非二部图的例子

可以看到 左图不包含奇圈

而右图中包含5个点的奇圈

算法设计与分析课程列表:

1 Introduction of Algorithm

-1.1 Introduction

--Introduction

-1.2 A First Problem: Stable Matching

--A First Problem: Stable Matching

-1.3 Gale-Shapley Algorithm

--Gale-Shapley Algorithm

-1.4 Understanding Gale-Shapley Algorithm

--Understanding Gale-Shapley Algorithm

-Homework1

-Lecture note 1

--Lecture note 1 Introduction of Algorithm

2 Basics of Algorithm Analysis

-2.1 Computational Tractability

--Computational Tractability

-2.2 Asymptotic Order of Growth

--Asymptotic Order of Growth

-2.3 A Survey of Common Running Times

--A Survey of Common Running Times

-Homework2

-Lecture note 2

--Lecture note 2 Basics of Algorithm Analysis

3 Graph

-3.1 Basic Definitions and Applications

--Basic Definitions and Applications

-3.2 Graph Traversal

--Graph Traversal

-3.3 Testing Bipartiteness

--Testing Bipartiteness

-3.4 Connectivity in Directed Graphs

--Connectivity in Directed Graphs

-3.5 DAG and Topological Ordering

--DAG and Topological Ordering

-Homework3

-Lecture note 3

--Lecture note 3 Graph

4 Greedy Algorithms

-4.1 Coin Changing

--Coin Changing

-4.2 Interval Scheduling

--Interval Scheduling

-4.3 Interval Partitioning

--Interval Partitioning

-4.4 Scheduling to Minimize Lateness

--Scheduling to Minimize Lateness

-4.5 Optimal Caching

--Optimal Caching

-4.6 Shortest Paths in a Graph

--Shortest Paths in a Graph

-4.7 Minimum Spanning Tree

--Minimum Spanning Tree

-4.8 Correctness of Algorithms

--Correctness of Algorithms

-4.9 Clustering

--Clustering

-Homework4

-Lecture note 4

--Lecture note 4 Greedy Algorithms

5 Divide and Conquer

-5.1 Mergesort

--Mergesort

-5.2 Counting Inversions

--Counting Inversions

-5.3 Closest Pair of Points

--Closest Pair of Points

-5.4 Integer Multiplication

--Integer Multiplication

-5.5 Matrix Multiplication

--Video

-5.6 Convolution and FFT

--Convolution and FFT

-5.7 FFT

--FFT

-5.8 Inverse DFT

--Inverse DFT

-Homework5

-Lecture note 5

--Lecture note 5 Divide and Conquer

6 Dynamic Programming

-6.1 Weighted Interval Scheduling

--Weighted Interval Scheduling

-6.2 Segmented Least Squares

--Segmented Least Squares

-6.3 Knapsack Problem

--Knapsack Problem

-6.4 RNA Secondary Structure

--RNA Secondary Structure

-6.5 Sequence Alignment

--Sequence Alignment

-6.6 Shortest Paths

--Shortest Paths

-Homework6

-Lecture note 6

--Lecture note 6 Dynamic Programming

7 Network Flow

-7.1 Flows and Cuts

--Flows and Cuts

-7.2 Minimum Cut and Maximum Flow

--Minimum Cut and Maximum Flow

-7.3 Ford-Fulkerson Algorithm

--Ford-Fulkerson Algorithm

-7.4 Choosing Good Augmenting Paths

--Choosing Good Augmenting Paths

-7.5 Bipartite Matching

--Bipartite Matching

-Homework7

-Lecture note 7

--Lecture note 7 Network Flow

8 NP and Computational Intractability

-8.1 Polynomial-Time Reductions

--Polynomial-Time Reductions

-8.2 Basic Reduction Strategies I

--Basic Reduction Strategies I

-8.3 Basic Reduction Strategies II

--Basic Reduction Strategies II

-8.4 Definition of NP

--Definition of NP

-8.5 Problems in NP

--Problems in NP

-8.6 NP-Completeness

--NP-Completeness

-8.7 Sequencing Problems

--Sequencing Problems

-8.8 Numerical Problems

--Numerical Problems

-8.9 co-NP and the Asymmetry of NP

--co-NP and the Asymmetry of NP

-Homework8

-Lecture note 8

--Lecture note 8 NP and Computational Intractability

9 Approximation Algorithms

-9.1 Load Balancing

--Load Balancing

-9.2 Center Selection

--Center Selection

-9.3 The Pricing Method: Vertex Cover

--The Pricing Method: Vertex Cover

-9.4 LP Rounding: Vertex Cover

--LP Rounding: Vertex Cover

-9.5 Knapsack Problem

--Knapsack Problem

-Homework9

-Lecture note 9

--Lecture note 9 Approximation Algorithms

10 Local Search

-10.1 Landscape of an Optimization Problem

--Landscape of an Optimization Problem

-10.2 Maximum Cut

--Maximum Cut

-10.3 Nash Equilibria

--Nash Equilibria

-10.4 Price of Stability

--Price of Stability

-Homework10

-Lecture note 10

--Lecture note 10 Local Search

11 Randomized Algorithms

-11.1 Contention Resolution

--Contention Resolution

-11.2 Linearity of Expectation

--Linearity of Expectation

-11.3 MAX 3-SAT

--MAX 3-SAT

-11.4 Chernoff Bounds

--Chernoff Bounds

-Homework11

-Lecture note 11

--Lecture note 11 Randomized Algorithms

Exam

-Exam

Testing Bipartiteness笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。