算法4 整理

Posted codelei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法4 整理相关的知识,希望对你有一定的参考价值。

算法4
    1.排序
        选择排序:
            每次获取最大的数,交换位置
        插入排序:
            把数字插入有序数组中
        希尔排序:
            有间隔并且间隔递减的
        归并排序:
            归并: 
                两个有序数组的合并成新的有序数组
            自顶向下的归并排序:
                递归向下合并数组
            子底向上的归并排序:
                循环向上合并数组
        快速排序:
                x元素切分数组成两个数组(小于等于x,大于x)
        三向快速排序:
                x元素切分数组成三个数组(小于x,等于x,大于x)
        ext:
            优先队列:
                最小/大堆:
                    平衡的,可以用数组表示(获取位置有一定的数学关系),有一定的顺序
                    通过上浮添加新的元素,下沉删除最大/小的元素    
    2.查找
        顺序查找(无序):
            一个一个的查
        二分查找(有序):
            每次去掉一半的数据
        二叉树查找:
            构建判断往里面添加数据和查找类似(非平衡),删除替换右子树最小的数据
        平衡树:
            2-3查找树:构建麻烦,添加向上扩展,删除比较简单
            红黑树:旋转,变色实现平衡,情况比较多,麻烦
        散列表:
            基于拉链法的散列表:
                和hashmap类似
            基于线程探测法的散列表:
                一个数组,插入位置有数据就往后放,删除需要探测最后一个hash的数据填充删除位置,数据量要快满的话效率极低
                
    3.图
        无向图:
            深度优先搜索
                1.走迷宫 计算可达
                2.寻找路径 保存路径信息
                3.判断环 
                4.判断二分图
            广度优先搜索
                1.查询最短的路径
                2.查询联通分量
            
                
                
            

 

以上是关于算法4 整理的主要内容,如果未能解决你的问题,请参考以下文章

VS2015 代码片段整理

sublime text3 增加代码片段(snipper)

小程序各种功能代码片段整理---持续更新

常用python日期日志获取内容循环的代码片段

PHP项目开发经验整理

Java 垃圾回收 - 收集算法