码迷,mamicode.com
首页 > 编程语言 > 详细

算法4 整理

时间:2019-04-01 10:25:48      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:二分   组成   无向图   位置   去掉   合并   等于   快速   并且   

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

 

算法4 整理

标签:二分   组成   无向图   位置   去掉   合并   等于   快速   并且   

原文地址:https://www.cnblogs.com/codeLei/p/10634859.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!