Be hungry, Be foolish

Follow your own course, and let people talk..

快速排序

O(N * logN)时间复杂度

本文基于阿顾同学博客进行整理 原文链接https://blog.csdn.net/u010452388/article/details/81218540 阿顾同学把左神的课已经整理的很好的,这几个经典算法我在这里就当搬运工了。 基本思想是:从一个数组中随机选出一个数N,通过一趟排序将数组分割成三个部分,1、小于N的区域 2、等于N的区域 3、大于N的区域,然后再按照此方法对小于区的和大...

堆排序

O(N * logN)时间复杂度

本文基于阿顾同学博客进行整理 原文链接https://blog.csdn.net/u010452388/article/details/81283998 文章内容我感觉是基于左神的课进行的整理,我曾经听过左神的课,也有笔记,倍感熟悉。 下面进入正题: 大根堆和小根堆 性质:每个结点的值都大于其左孩子和右孩子结点的值,称之为大根堆;每个结点的值都小于其左孩子和右孩子结点的值,称之为小...

C++类

基础内容

C++中类成员的访问权限 C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。 在类的内部(定义类的代码内部),无论成员被声明为 public、protected 还是 private,都是可以互相访问的,没有访问权限的限制。 在类的外部(定义类的代码之外),只能...

操作系统

基础内容

进程与线程 基本概念: 进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发; 线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发。</br> 线程是操作系统可识别的最小执行和调度单位。</br> 独自处理:每个线程都独自占用一个虚拟处理器:独自的寄存器组,...

C++容器

基础内容

map和set有什么区别,分别又是怎么实现的 map和set都是C++的关联容器,其底层实现都是红黑树(RB-Tree)。由于 map 和set所开放的各种操作接口,RB-tree 也都提供了,所以几乎所有的 map 和set的操作行为,都只是转调 RB-tree 的操作行为。 map和set区别在于: map中的元素是key-value(关键字—值)对:关键字起到索引的作用,值则表...

C++基础知识总结

基础内容

static关键字的作用 1. 全局静态变量 形式:在全局变量前加上关键字static(此时全局变量就定义成一个全局静态变量)。 位置:静态存储区(在整个程序运行期间一直存在)。 初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化)。 作用域:全局静态变量在声明他的文件之外是不可见的,准确地说是从定义之处开始,到文件结尾。(不会与其...