zoukankan      html  css  js  c++  java
  • 第3章:蛮力法——《算法笔记

    1.选择排序与冒泡排序

    选择排序 :平方复杂性(源自键比较),但只需要n次键交换

    语义:依次选择最小的元素

    稳定:Y

    在位:Y

    最佳:n^2

    最差:n^2

    不同情况下,不影响键比较的次数,影响键交换的次数

    冒泡排序: 平方复杂性,键交换次数不定

     语义:比较相邻元素,将最大元素交换至末尾(维护末尾位置)

    稳定:Y

    在位:Y

    最佳:提前终止n

    最差: n^2

    冒泡排序的键交换次数多于选择排序

    但是最佳情况下第一次没冒泡直接结束

    选择排序没有得到数组的整体信息

    2.顺序查找,字符串匹配

    顺序查找:在序列有序情况下可提前退出(查找失败)

    字符串匹配:在正文中查找模式开头,然后依次检查模式的剩余部分。

    最坏情况mn(m=leng(正文),n=leng(模式))。

    在剩余正文长度不足时提前退出

    3.最近对问题,凸包问题

    最近对:遍历计算所有两点距离

    凸包:最小凸集合。选两个点,剩余点都在两点所成直线同侧,选择该两点

    4.穷举排列组合

    旅行商问题:列出所有可能回路(点排列)

    背包问题:列出所有可能组合,判断是否在问题范畴内

    分配问题

    5.深搜,广搜

     访问一个节点,遍历其子节点

    深搜:遍历单个相邻节点,回溯

    广搜:先遍历相邻节点,然后遍历外层

    深搜查找树,广搜查找树

    访问边与回溯边

    深搜:用跟踪,维护已访问节点,未访问节点

    检查连通性:可访问到

      无环性:重复被访问

    图的关节点:移除后不连通

    广搜:使用队列跟踪

    树向边:通向未访问,

    (广搜)交叉边:通向已访问,或兄弟节点  ?

    (深搜)回边:父节点

    维护边,实现遍历树?

    深搜广搜效率

    深搜:对于邻接矩阵,复杂度V^2 邻接链表V+E

    深搜树:可能生成顶点的多个排序  广搜:多个

    未完全规定顶点访问的优先级

    习题:

    3.1

    n堆,每堆n个假币,

    假币真币重量已知/未知

    选出假币

    称重盘/天平

    二分,三分

    排序算法提前终止条件

    预处理:首先遍历一遍(冒泡)

    正反硬币排序,交换的次数

    绝对位置/相对位置

    构造算法最差、最优情况

    字符串匹配,比较的顺序?

    同方向,交叉方向 

    最近对问题非蛮力求解

    一维分布实数,选择一个点,剩余点与之距离和最小

    最近对问题的蛮力求解不依赖于距离衡量方式?

    曼哈顿距离?

    距离公理:

    非负

    对称

    三角

    字符串距离:汉明距离

    相应位置,字符不同的个数

    是否满足距离公理

    最近字符串

    奇数派游戏

    二维空间

    投向最近邻居

    至少有一个人不会被击中

    点数=边数

    k维空间最近对

    平面点集合,线性时间选择凸包的两个极点

    min(x,y) max(x,y),x为第一关键字,y为第二关键字

    邻接矩阵,邻接表

    求解欧拉回路,哈密顿回路

    分配问题

    划分问题:两个和相同的集合

    预处理:求和?

    生成所有组合 

    完备k子图问题

    8皇后问题

    幻方问题

    行,列,对角线 和相同

    字母数字

    字母映射为数字,使得表达式成立

    深搜查找

    广搜查找树

    只是一次遍历的结果 

    稀疏图搜索效率

    稀疏图E=O(V)(带入复杂度公式即可)

    广搜/深搜?

    矩阵/表?

    给定顶点数与边数的图(连通图?)

    构造广搜树,深搜树

    树的数目是否一致?

    树向边回边数目是否一致?

    证明bfs树交叉边

    连接同层,或相邻层节点

    回路

    广搜查找,深搜查找效率?

    与回路长度相关? 

    区分已访问节点:数组

    与回路上的点:需要维护当前路径

    当前路径性质:叶到根,栈中的点

    从一个点出发,搜索不到自身(不在回路中),将点从集合中去除

    继续

    连通分量

    bfs,dfs

    二分图检测

    bfs,dfs

    连通分量的顶点?

    图回路

    输出

    迷宫求解

    3壶问题

    容积,初始水量

    深搜广搜求解

    三元组,相同元组,不再考虑

  • 相关阅读:
    111
    ZeroClipBoard 复制粘贴插件
    三、新增临时素材
    二、获取AccessToken
    一、微信公众平台的接入微信公众平台的接入
    Jquery.validate的使用
    尝试解决IIS问题一些方法
    匿名类和匿名方法
    泛型类的认知
    发布支持mysql8.0的writer和reader
  • 原文地址:https://www.cnblogs.com/qmcj/p/9096395.html
Copyright © 2011-2022 走看看