"""
算法
课程内容:
    排序算法
    查找算法
    插入排序
    快速排序
"""


"""
算法概念:
计算机为解决特定问题而产生的一系列解决问题的清晰指令
也就是对于解决方案的准确而完整的描述
"""

"""
查找算法:

    顺序查找:
        在待查找的数据中, 从第一个元素开始, 逐个与要查找的数据进行对比
            当边角料两者值相同时, 查找成功
            到最后都没有查找到, 查找失败
        特点:
            不要求数据本身有序
            数据量较大时效率低下
    
    二分查找:
        要求必须是有序的顺序, 每次查找范围减半
        找出有序顺序(升序)的中间元素, 由中间元素将所有数据分成左右两部分
            比较中间元素值与待查找值
                如果相等. 查找成功
                如果待查找值比中间元素小    则左侧继续查找
                如果待查找值比中间元素大    则右侧继续查找
                如此递归下去
                    直到成功找到
                    或者查找完所以数据为止
        
    冒泡排序
        重复走访所有要排序的数据, 
            依次比较每两个相邻的元素, 
                如果两者次序错误就交换
        重复上面过程 直到没有需要被调换的内容为止
        
    插入排序
        将数据插入到已经有序的数据中, 从而得到一个新的有序数据
        默认首元素自然有序, 取出下一个元素, 对已经有序的数据从后向前扫描
        若扫描的有序数据大于取出数据, 则该有序数据后移
        若扫描的有序数据小于取出数据, 则在该有序数据后插入取出数据
        若扫描的所有的有序数据大于取出数据, 则在有序数据的首位插入取出数据
        
        特点  
            数据只移动不交换, 优于冒泡
            
    快速排序 
        首先任意取一个元素作为关键数据 ( 通常取首元素 )
        然后将所有比他小的数据源放在其前面
        (从小到大)所有比它大的放在他后面
        
        通过一次排序将要排序的数据分为独立的两部分
        然后按照该方法再递归对两部分数据进行快速排序
        
        特点
            每次若能均匀分组则排序速度最快
            
"""




a869b23824e09fd9ba089ca3783831ac0675d901
<mask token>

"""
算法
课程内容:
    排序算法
    查找算法
    插入排序
    快速排序
"""


"""
算法概念:
计算机为解决特定问题而产生的一系列解决问题的清晰指令
也就是对于解决方案的准确而完整的描述
"""

"""
查找算法:

    顺序查找:
        在待查找的数据中, 从第一个元素开始, 逐个与要查找的数据进行对比
            当边角料两者值相同时, 查找成功
            到最后都没有查找到, 查找失败
        特点:
            不要求数据本身有序
            数据量较大时效率低下
    
    二分查找:
        要求必须是有序的顺序, 每次查找范围减半
        找出有序顺序(升序)的中间元素, 由中间元素将所有数据分成左右两部分
            比较中间元素值与待查找值
                如果相等. 查找成功
                如果待查找值比中间元素小    则左侧继续查找
                如果待查找值比中间元素大    则右侧继续查找
                如此递归下去
                    直到成功找到
                    或者查找完所以数据为止
        
    冒泡排序
        重复走访所有要排序的数据, 
            依次比较每两个相邻的元素, 
                如果两者次序错误就交换
        重复上面过程 直到没有需要被调换的内容为止
        
    插入排序
        将数据插入到已经有序的数据中, 从而得到一个新的有序数据
        默认首元素自然有序, 取出下一个元素, 对已经有序的数据从后向前扫描
        若扫描的有序数据大于取出数据, 则该有序数据后移
        若扫描的有序数据小于取出数据, 则在该有序数据后插入取出数据
        若扫描的所有的有序数据大于取出数据, 则在有序数据的首位插入取出数据
        
        特点  
            数据只移动不交换, 优于冒泡
            
    快速排序 
        首先任意取一个元素作为关键数据 ( 通常取首元素 )
        然后将所有比他小的数据源放在其前面
        (从小到大)所有比它大的放在他后面
        
        通过一次排序将要排序的数据分为独立的两部分
        然后按照该方法再递归对两部分数据进行快速排序
        
        特点
            每次若能均匀分组则排序速度最快
            
"""



