zoukankan      html  css  js  c++  java
  • 无序向量

    向量ADT

     向量 ADT 操作实例

    无序向量

    • 无序向量

    没有顺序

    无法排成顺序

    无序向量 – 元素访问

    • 元素访问

    get ( r )

    功能:获取秩为 r 的元素

    put( r, e )

    功能:用 e 替换秩为 r 的元素的数值

    无序向量 – 插入

    • 插入

    insert( r, e )

    功能:e 作为秩为 r 的元素插入,原位置及之后位置元素后移

    思考:元素后移的方向

     

     回顾 - 可扩充向量

    • 扩容算法

     无序向量 – 区间删除

    • 区间删除

    remove( lo, hi )

    删除秩的范围在 [ lo, hi ) 的数据

     

     向量 – 缩容

    • 缩容

    shrink()

    • 压缩界限讨论

     无序向量 – 单元素删除

    • 单元素删除

    remove( r )

    功能:删除秩为 r 的元素,并返回该元素原值

    向量-查找

    • 查找操作

    目标:按照特定的条件从向量中查找到特定元素

    • 操作要求

    无序向量

    元素可以判等

    有序向量

    元素可比较大小

    无序向量:判等器

     有序向量:比较器

     无序向量 – 区间查找

    • 区间查找

    find( e , lo, hi )

    功能:在区间 [lo, hi) 上查找目标元素 e [,在命中多个元素时返回秩最大者]

     

     无序向量 – 去重

    • 去重

    deduplicate()

    功能:删除重复元素 [ ,返回元素删除总数 ]

     

    • 正确性

     

    • 复杂度

     思考

    有序向量唯一化的高效版本如何实现?

  • 相关阅读:
    登录界面
    动手动脑
    关于二进制
    Java考试
    D
    威尔逊定理 k!%p
    11.46.2020质检
    最长上升序列输出方案
    问题 G: 汽车的最终位置
    奶牛大会(二分)
  • 原文地址:https://www.cnblogs.com/lijian-switch/p/13857840.html
Copyright © 2011-2022 走看看