【Geekband】Week 8 Notes.md

1. STL常见非变异算法

2. STL常见变异算法

2.1 Copy - 对数据的各类拷贝

2.2 Swap - 对数据内容的交换

2.3 Transform - 对两组数据之间进行运算

2.4 Replace - 两组数据之间的内容进行替换

2.5 Fill和Generate - 初始化时进行填充

2.6 Remove - 根据判别条件去掉某些数据

2.7 排序算法

2.7.1 sort

  • 特殊数据需要重新定义运算符operator<

2.7.2 partial_sort

  • 对部分数据排序

2.7.3 binary_search

  • 先sort,再使二叉树搜索

2.7.4 merge

  • 先sort,再将两组数据merge

2.7.5 include

  • 先sort,再查找两组数据中元素包含的情况(重复数据的次数也考虑在内)

2.7.6

2.8 基于heap的算法

2.8.1 make_heap

  • 构造一个二叉树,父节点>子节点

2.8.2 push_heap

  • 添加一个新的节点,并根据需要重构二叉树

2.8.3 pop_heap

  • 剔除特定节点,并根据需要重构二叉树。

2.8.4 sort_heap

  • 从小到大得到二叉树中的节点数值

2.9 泛型数值算法

include <numeric>

2.9.1 accumulate

2.9.2 inner_product

2.9.3 paritial_sum

2.9.4 adjacent_difference

3. Traits的使用

By convention, traits are always implemented as structs. Another convention is that the structs used to implement traits are knows as trait classes.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 序 2016年6月25日夜,帝都,天下着大雨,拖着行李箱和同学在校门口照了最后一张合照,搬离寝室打车去了提前租...
    RichardJieChen阅读 5,173评论 0 12
  • 树的概述 树是一种非常常用的数据结构,树与前面介绍的线性表,栈,队列等线性结构不同,树是一种非线性结构 1.树的定...
    Jack921阅读 4,501评论 1 31
  • 第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...
    SeanCheney阅读 5,828评论 0 19
  • 基于树实现的数据结构,具有两个核心特征: 逻辑结构:数据元素之间具有层次关系; 数据运算:操作方法具有Log级的平...
    yhthu阅读 4,332评论 1 5
  • 每个人都有一个死角, 自己走不出来,别人也闯不进去。 我把最深沉的秘密放在那里。 你不懂我,我要怪你。 每个人都有...
    思考Ajax阅读 205评论 0 0