#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Date    : 2019-05-20 21:45:24
# @Author  : Qiman Chen
# @Version : $Id$

"""
python 语言进阶

1.算法：
算法好坏：渐进时间复杂度，渐进空间复杂度

2.排序算法

3.生成式

prices = {...}
prices2 = {key: value for key, value in prices.items() if value > 100}


4.嵌套列表
[[None]*len(courses) for _ in range(len(names))]

5.常用算法

穷举法 - 又称为暴力破解法，对所有的可能性进行验证，直到找到正确答案。
贪婪法 - 在对问题求解时，总是做出在当前看来是最好的选择，不追求最优解，快速找到满意解。
分治法 - 把一个复杂的问题分成两个或更多的相同或相似的子问题，再把子问题分成更小的子问题，直到可以直接求解的程度，最后将子问题的解进行合并得到原问题的解。
回溯法 - 回溯法又称为试探法，按选优条件向前搜索，当搜索到某一步发现原先选择并不优或达不到目标时，就退回一步重新选择。
动态规划 - 基本思想也是将待求解问题分解成若干个子问题，先求解并保存这些子问题的解，避免产生大量的重复运算


*** 函数的使用方法：
函数可以赋值给变量，可以作为参数，可以作为函数的返回值


"""
