diff --git "a/Day31-35/31.Python\350\257\255\350\250\200\350\277\233\351\230\266.md" "b/Day31-35/31.Python\350\257\255\350\250\200\350\277\233\351\230\266.md" index f160954c2..07652cd00 100755 --- "a/Day31-35/31.Python\350\257\255\350\250\200\350\277\233\351\230\266.md" +++ "b/Day31-35/31.Python\350\257\255\350\250\200\350\277\233\351\230\266.md" @@ -235,8 +235,7 @@ - 常用算法: - 穷举法 - 又称为暴力破解法,对所有的可能性进行验证,直到找到正确答案。 - - 贪婪法 - 在对问题求解时,总是做出在当前看来 - - 最好的选择,不追求最优解,快速找到满意解。 + - 贪婪法 - 在对问题求解时,总是做出在当前看来最好的选择,不追求最优解,快速找到满意解。 - 分治法 - 把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题,直到可以直接求解的程度,最后将子问题的解进行合并得到原问题的解。 - 回溯法 - 回溯法又称为试探法,按选优条件向前搜索,当搜索到某一步发现原先选择并不优或达不到目标时,就退回一步重新选择。 - 动态规划 - 基本思想也是将待求解问题分解成若干个子问题,先求解并保存这些子问题的解,避免产生大量的重复运算。 @@ -1373,4 +1372,4 @@ Python中实现并发编程的三种方案:多线程、多进程和异步I/O Python 还有很多用于处理并行任务的三方库,例如:`joblib`、`PyMP`等。实际开发中,要提升系统的可扩展性和并发性通常有垂直扩展(增加单个节点的处理能力)和水平扩展(将单个节点变成多个节点)两种做法。可以通过消息队列来实现应用程序的解耦合,消息队列相当于是多线程同步队列的扩展版本,不同机器上的应用程序相当于就是线程,而共享的分布式消息队列就是原来程序中的Queue。消息队列(面向消息的中间件)的最流行和最标准化的实现是 AMQP(高级消息队列协议),AMQP 源于金融行业,提供了排队、路由、可靠传输、安全等功能,最著名的实现包括:Apache 的 ActiveMQ、RabbitMQ 等。 - 要实现任务的异步化,可以使用名为`Celery`的三方库。`Celery`是 Python 编写的分布式任务队列,它使用分布式消息进行工作,可以基于 RabbitMQ 或 Redis 来作为后端的消息代理。 \ No newline at end of file + 要实现任务的异步化,可以使用名为`Celery`的三方库。`Celery`是 Python 编写的分布式任务队列,它使用分布式消息进行工作,可以基于 RabbitMQ 或 Redis 来作为后端的消息代理。