DAG、Dijkstra、Bellmen-ford原理、异同、应用

DAG、Dijkstra算法和Bellman-Ford算法都是图论中的重要概念和算法,它们在解决不同类型的最短路径问题中扮演着关键角色。下面将分别介绍它们的原理、异同和应用。

DAG(有向无环图)

原理
1.有向:图中的每条边都有一个方向,即从一个顶点(节点)指向另一个 顶点。这意味着边是有方向性的,通常用箭头表示。
2.无环:图中不存在任何从一个顶点出发,经过一系列边后又回到该顶点 的路径。换句话说,DAG中不存在循环或环路。
代码

from airflow.models import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime

# 定义DAG参数
default_args = {
   
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2023, 1, 1),
    'email': ['airflow@airflow.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

# 创建DAG实例
dag = DAG(
    dag_id='example_dag',
    default_args=default_args,
    description='A simple DAG',
    schedule_interval=timedelta(days=1),
)

# 定义任务
task1 = BashOperator(
    task_id='print_date',
    bash_command='date',
    dag=dag,
)

task2 = BashOperator(
    task_id='sleep',
    bash_command='sleep 5'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值