各种类型container

  • deque

deque是一种分段连续的容器,特点是双向开口,使用起来可以认为它是一段连续的内存空间,不仅可以向前方增加内存空间,也可以向后方增加内存空间。
deque 模拟连续内存的实现方法:


可以看出,deque通过一个vector存放控制器,使用控制器来串联一系列的缓冲器(buffer),从而达到逻辑上的连续效果。然后通过Iterator模拟,达到使用者使用连续的效果。

  • insert操作


元素插入时若不在两端,会影响其他元素顺序,因此会先判断离哪边端点近,移动近的那部分元素。

  • deque 继承关系

容器queue&stack

queue其实就是只有deque的头的push_front和尾的pop_back,即实现了先进先出后进后出。stack是先进后出。严格的来讲,queue和stack更像是一个adapter。
注意:


queue和stack也可以选用其他容器作为底层容器,只要它们能提供头和尾的push和pop操作。

RB-Tree

Red-Black tree(红黑树)是平衡二元搜索树(balanced Binary search tree)中常被使用的一种。
平衡二元搜索树的特征:排列规律,有利于search和insert,并保持适度平衡,无任何节点过深。

  • 实现


继承关系

set&multiset

map&multimap

hashtable

hashtable通过hash function 将元素值转换为一个可进行modulus运算的值使得hash code经过运算之后能够够难够乱够随机的分布在hash table上,越是混乱,越不容易发生hash碰撞。

  • modules运算

unordered container

  • unordered set
  • unordered multiset
  • unordered map
  • unordered multimap

Boolan STL 第三周笔记相关推荐

  1. 第三周笔记 c++ Boolan

    本周主要学习了c++中类与类之间的关系,主要有: 1)继承(Inheritance): 2)复合(Composition): 3)委托(Delegation): 一.复合: 类 queue 里有 de ...

  2. 吴恩达神经网络和深度学习——第三周笔记

    Week 3 目录 Week 3 3-1神经网络概述 3-2神经网络的表示 3-3计算神经网络的输出 3-4多个栗例子中的向量化 3.5 向量化实现的解释 3-6.3-7.3-8激活函数 3-11随机 ...

  3. python第三周笔记_第三周 day3 python学习笔记

    1.字符串str类型,不支持修改. 2.关于集合的学习: (1)将列表转成集合set:集合(set)是无序的,集合中不会出现重复元素--互不相同 (2)集合的操作:交集,并集.差集.对称差集.父集.子 ...

  4. (英文版)吴恩达机器学习第三周笔记

    Logistic Regression 这是我在coursera上看Andrew Ng的machine learning做的英文版笔记,可以帮助学英语的小伙伴熟悉熟悉一些专业术语在英文中的表达.由于笔 ...

  5. Python语言程序设计(嵩天老师版)第三周笔记——字符串类型及操作

    一.字符串类型的表示: 由0个或多个字符组成的有序字符序列 字符串有2类共4种表示方法:     1.字符串由一对单引号或一对双引号表示--仅表示单行字符串     2.由一对三引号或三双引号表示,可 ...

  6. python第三周笔记_Python第三周 学习笔记(1)

    key-value键值对的数据的集合 可变的.无序的.key不重复 初始化: d = dict() d = {} d = dict(**kwargs) 如:d = dict(a=1,b=2) dict ...

  7. python第三周笔记_Python第四周 学习笔记(1)

    函数 Python的函数没有return语句,隐式会返回一个None值 函数是可调用的对象,callable() 函数参数 参数调用时传入的参数要和定义的个数相匹配(可变参数例外) 位置参数 def ...

  8. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)

    [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...

  9. 深度学习笔记 第五门课 序列模型 第三周 序列模型和注意力机制

    本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...

最新文章

  1. 败了一块7600GS AGP显卡
  2. Gut Microbes l 锻炼或会增加机体内源性大麻素水平和改变肠道菌群从而降低机体慢性炎症!...
  3. 云起作者认证大神_最喜欢的言情小说大神,有你喜欢的吗
  4. JavaScript indexOf() 方法 和 lastIndexOf() 方法
  5. 服务器优化:Tomcat、JVM性能调优笔记
  6. java 注册页面正则式_Java使用正则表达式对注册页面进行验证功能实现
  7. 小波阈值去噪原理及实现
  8. 转:FileReader详解与实例---读取并显示图像文件
  9. 【陆勤阅读】参加kaggle数据挖掘竞赛是怎样一种体验?
  10. 前端开源项目周报0418
  11. 修改一行代码,将图像匹配效果提升14%
  12. hibernate 入门案例
  13. java获取世界各国地址,获取世界各国、全国省份、城市、县
  14. Cadence学习之路:寻找优秀的封装资源以及3D封装设置
  15. ## STAMP使用中数据上传注意事项
  16. APP如何上架App Store?
  17. 厦大计算机推免复试,统考生没戏!厦大该专业3个系招生,推免占比最高100%!...
  18. 骨架屏-css实现方式
  19. 单片机流星灯_51单片机流星灯c语言源程序
  20. LightSwitch 社区内容汇总 – 2012年9月

热门文章

  1. Oracle中“不等于”的使用
  2. MongoDB服务无法注册
  3. gdc服务器维修公司,gdc服务器阵列架坏了
  4. go 怎么等待所有的协程完成_理解真实世界中 Go 的并发 BUG
  5. linux sftp密码错误,linux个别用户sftp坏掉,验证密码后卡住, 大概是什么问题?...
  6. ArrayList的使用
  7. h标签对html网页的作用,网页H标签SEO价值的说明与举例
  8. 照片边框 app android,Screener App-一手搞定将手机截图加上外框
  9. mac wordpress php7,Mac 下基于 wordpress 搭建个人博客系统
  10. celery 可视化_Django中Celery的实现介绍(一)