• 【暑假培训】8.22-8.31校训


     DAY 1

    1.1排序算法

    1.2排序的应用

    1.3复杂度分析

    1.1 排序算法

    •  基于比较交换的排序算法
      • 选择排序
        • 思路:不断选择剩下数中最大的数
        • 实现:一个序列,分为已排序区域和未排序区域;每次选择后更新(扩大)已排序区域,直至未排序区域长度为0
        • 代码:
      •  冒泡排序
        • 思路:逐个进行比较交换
        • 很明显效率比较低
      • 插入排序
        • 思路:模拟摸扑克牌的过程?和选择排序的维护序列是差不多的(都是一个序列分为已排序区域和未排序区域)
        •       
      • 希尔排序

    1.2.排序的应用

    -预处理

    -多关键字排序

    -离散化

    1.3复杂度分析

    • 阶的比较
    • 排序算法复杂度
      •   选择排序
      •     冒泡排序
      • 插入排序
      • 桶排序
      • 归并排序
      • 快速排序
      • 堆排序
    • 复杂度分析技巧

    DAY 2

    模测模测

    1.归并排序求逆序对

    2.电线杆上的小广告

    3.逛画展

    4.生日礼物

    DAY 3

    1.1队列

    1.2广度优先搜索

    1.3循环队列

    1.4双向队列

    1.5单调栈

    1.6单调队列

    1.1队列

    1.1.1 手写队列

    1.1.2 循环队列

    • 只可以存储size-1个元素
    • 通过取模实现

    1.2广度优先搜索

    1.2.1dfs与bfs

    dfs:“能达到的都是兄弟”

    bfs:“能达到的都是我儿子”(雾)

     

    1.2.2为什么我们不能用dp的三种基本方法做dfs

    /  如何用bfs实现dp的思想

     dp与dfs

     1.3循环队列

    为什么要使用循环队列

    实现

    1.4双向队列(双端队列)

    luogu签到该死的准

    果然啥都没听懂==

    1.5单调栈

      • 应用1:询问区间最值

                

                  

                   ○应用2:找到左右两侧第一个比自己小的位置

                        ■例题:poj2559

    比栈顶元素更符合单调栈单调性的代替 原来的栈顶元素

    1.6单调队列

      • 应用1:解决特殊的区间最值问题(**区间的单调性)
        • 这就不需要二分啦

                    ○应用2:滑动窗口(求满足条件的最短区间)

    stl队列不方便调试,只用一个栈、队列或者单调队列时最好用手写


    DAY 4

    1.1二分

    1.2倍增

    1.3链上分治

    1.1.二分

    【题】二分求某个数的下标

    【题】单峰数组(肯定是前段上升后段下降,不然没法做)→三分

    序列二分的应用:求和问题

         1.二分的思路:先找到大于等于aj的第一个数,再二分找不等于aj的第一个数,两个坐标差就是

         2.单调栈/单调队列

              如图  (两边走指针)

    序列二分一般有两种方法:

    1.二分 :对数据排序, 对每个询问二分(可以处理在线询问,复杂度更大)

    2.走指针:对数据和询问排序,一次扫描解决所有问题(只能离线询问,复杂度更小)

    二分答案:关键词:“最大值最小”

    满堂花醉三千客,一剑霜寒十四州
  • 相关阅读:
    关于“平台”概念的解析
    学习新名词“MVP”(最简可行产品)
    Docker 部署Spring boot 项目如何优雅的关闭(Eureka下线)
    微服务健康监控方案
    Cpu飚高show-busy-java-threads一件脚本排查与Arthas线上诊断工具排查实战
    微服务发展规划(PS 大概分层未细化到具体系统)
    前后端分离研究
    Graphics2D画快递电子面单图片并且打印
    改写rm -rf 脚本
    检查系统信息脚本
  • 原文地址:https://www.cnblogs.com/phemiku/p/11395916.html
Copyright © 2020-2023  润新知