博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STL向量(vector)
阅读量:7239 次
发布时间:2019-06-29

本文共 783 字,大约阅读时间需要 2 分钟。

1.接口与实现

1.1

抽象数据类型:一组数据模型上定义的一组操作    数据类型是(char、int等)

数据结构:基于特定语言的,实现ADT的一整套算法。

1.2

向量:向量是数组的抽象与泛化,由一组元素按线性次序封装而成。

特点:1.各元素与(0,n)内的秩一一对以应

   2.元素的类型不限于基本类型

   3.操作、管理更加简洁、统一与安全

   4.可更为便捷的参与复杂数据结构的定制与实现

1.3

向量的操作

insert(0,9):在0的位置插入9

put(1,2)修改1位置上的元素为2

get(2)获取2上的元素

remove(2)移除位置2上的元素并返回

size()向量里面元素的个数

disordered()判断向量里面无序的数据对

find(5)找有没有5的元素 找到返回其下标 未找到则返回-1

sort()对里面的元素进行排序

search(9)查找向量里面是否有9找到则返回下标,未找到则返回不超过9的最大的那个元素的下表(顺序的向量)

uniquify()剔除掉向量里面重复的元素

2.可扩充向量

2.1 静态空间管理

开辟内部数组_elem[]并使用一段连续的物理空间

缺点:

会产生上溢合下溢

2.2 动态空间管理

在即将发生上溢时适当的扩大数组的容量

2.3 扩容的策咯

容量递增策略(2 4 6 8 10 12)累计增容费时间(O(n2))  分摊增容时间(O(n))

加倍试策略(2 4 8 16)累计增容费时间(O(n))  分摊增容时间(O(1))

2.4 分摊复杂度

平均复杂度:根据数据结构各种操作出现的概率分布,将对应的成本加权平均

分摊谈复杂度:对数据结构连续的实施足够多次操作,所需总体成本分摊至单次操作

 

转载于:https://www.cnblogs.com/zhangfuxiao/p/9261578.html

你可能感兴趣的文章
EntityViewInfo包含了FilterInfo(过滤)、Selector(指定属性)以及Sorter(排序)
查看>>
hdfs的shell命令
查看>>
配置vue-devtools调试工具
查看>>
【酷熊科技】工作积累 ----------- Unity3D button 回调事件
查看>>
程序员修炼之道读后感2
查看>>
几个常见移动平台浏览器的User-Agent
查看>>
IOS 数据存储之 FMDB 详解
查看>>
纯数学教程 Page 324 正项级数绝对收敛的一种判别法
查看>>
关于键保留表的一些汇总
查看>>
python全栈开发 * 29知识点汇总 * 180712
查看>>
电源磁珠选择
查看>>
Android线控的使用
查看>>
《C陷阱与缺陷》阅读笔记(个人版)
查看>>
项目管理过程 (1)
查看>>
hdu 3033
查看>>
Redis (windows)安装
查看>>
Axure基础操作
查看>>
<转>boost 1.53 and STLPort build binary for windows
查看>>
洛谷 P1736 创意吃鱼法 Label:dp || 前缀和
查看>>
物理备库互转快照备库
查看>>