![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++的日常
Zavier's Room
既然选择了远方,便不顾风雨兼程。keep moving!keep real!
展开
-
2021-08-13
C++设计模式:https://zhuanlan.zhihu.com/p/94877789原创 2021-08-13 16:50:21 · 77 阅读 · 0 评论 -
深入理解计算机操作系统——第二章
信息的表示和处理2.1 信息存储 2.1.3 寻址和字节顺序 (大小端和typedef实现)VS中C语言使用哪种寻址 2.1.9 c语言中移位运算(移位过大时)2.2 整数表示 2.2.2 无符号数编码 2.2.3 补码编码 (原码和反码的表示【0】) 2.2.5 c语言中的有符号和无符号数(声明) 2.2.7 截断数字2.4 浮点数 ...原创 2021-08-03 09:39:20 · 113 阅读 · 0 评论 -
深入理解计算机操作系统——第一章
1.2程序编译链接具体步骤1.4 处理器读并解释存储在内存中的指令 1.4.1 硬件组成 1.4.2 运行hello程序1.6高速缓存和存储层次结构1.7 进程、线程和虚拟内存技术及文件1.8 系统间的网络通信1.9 计算机系统中抽象重要性...原创 2021-08-03 09:09:30 · 102 阅读 · 0 评论 -
C++ Primer导读(一) 顺序容器
一、顺序容器1.1 顺序容器概述 顺序容器(sequential container)为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖元素的值。 容器类型: vector、deque、list、forwart_list、array、string,具体特性如下: forward_list为了最大程度上达到手写链表的性能,不支持size操作。 通常,使用vector是最好的...原创 2021-08-03 08:59:01 · 80 阅读 · 0 评论 -
戳气球问题
原题链接:https://leetcode-cn.com/problems/burst-balloons/问题描述有 n 个气球,编号为0 到 n - 1,每个气球上都标有一个数字,这些数字存在数组nums中。现在要求你戳破所有的气球。戳破第 i 个气球,你可以获得nums[i - 1] * nums[i] * nums[i + 1] 枚硬币。这里的 i - 1 和 i + 1 代表和i相邻的两个气球的序号。如果 i - 1或 i + 1 超出了数组的边界...原创 2021-07-20 14:48:37 · 94 阅读 · 0 评论 -
快速排序
基本思想: 以某个记录的关键字为比较的基准(划分元),将整个序列划分为两组,左边记录的关键字小于等于划分元,右边的关键字大于等于划分元,而划分元所属记录的位置就是最终有序序列中的位置。对左右部分数据,再各自选取一个记录的关键字作为划分元,将两个子序列划分成更小的子序列,这样一直进行下去,最终将整个序列排列成有序序列。对划分元的选择,最简单的办法就是选取当前序列的第一个关键字为划分元。...原创 2021-07-19 10:01:08 · 98 阅读 · 0 评论 -
STL知识积累
一、STL介绍Standard Template Library,标准模板库,是C++的标准库之一,一套基于模板的容器类库,还包括许多常用的算法,提高了程序开发效率和复用性。STL包含6大部件:容器、迭代器、算法、仿函数、适配器和空间配置器。容器:容纳一组元素的对象。 迭代器:提供一种访问容器中每个元素的方法。 函数对象:一个行为类似函数的对象,调用它就像调用函数一样。 算法:包括查找算法、排序算法等等。 适配器:用来修饰容器等,比如queue和stack,底层借助了dequ...原创 2021-07-16 08:33:57 · 53 阅读 · 0 评论 -
红黑树理解
参考链接:什么是红黑树-知乎1. 红黑树来源红黑树是基于二叉查找树二叉查找树(BST)具备什么特性呢?1.左子树上所有结点的值均小于或等于它的根结点的值。2.右子树上所有结点的值均大于或等于它的根结点的值。3.左、右子树也分别为二叉排序树。2. 红黑树的特性:1.结点是红色或黑色。2.根结点是黑色。3.每个叶子结点都是黑色的空结点(NIL结点)。4 每个红色结点的两个子结点都是黑色。(从每个叶子到根的所有路径上不能有两...原创 2021-07-15 14:10:55 · 170 阅读 · 0 评论 -
矩阵连乘问题
问题描述:计算n个矩阵的乘积: M = M1 * M2 * M3 * .............Mn在乘积的过程中,由于结合律,不同的顺序下所需要的算术运算次数有很大影响。如何找到乘法次数最少的方法,并且输出方案。 这是一类标准的动态规划问题,我们可以通过构造dp自底向上地得到最终答案。假设有4个矩阵,mxn分别为35*40, 40*20, 20*10, 10*15。int main...原创 2021-07-15 11:16:16 · 247 阅读 · 0 评论 -
直接法-穷举、递推和迭代
在算法设计中,我们会遇到一些可以用直观的思维解决的问题。下面我们介绍三种基本的方法:穷举、递推和迭代。1. 穷举法 穷举法是一种最简单的算法那设计策略,常常是直接基于问题的描述和所涉及的概念。一般来说,穷举法是最容易应用的,但是同时可能也是复杂度最高的算法。 比如说问题:求解已知平面内距离最近的两点。可以通过穷举遍历所有可能的解找到答案int main(){ int n = 100; int x[100] = {}; int y[10...原创 2021-07-06 10:13:52 · 1286 阅读 · 0 评论 -
回溯法-八皇后问题
问题描述:在8x8的国际象棋棋盘上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列、同一对角线。问:有多少种解法?算法思路: 考虑穷举,则所有棋子公有8的8次方的解集,考虑到冲突,可以在每一行摆放一个棋子,复杂度下降到8! a. 摆放第i行棋子时,分别检测列冲突、对角线冲突【2个对角线】,直到找到一个不冲突的位置进行摆放。 b. 递归去放i+1行的棋子 c. 如果已经是第8行棋子,放置成功后...原创 2021-07-03 16:21:27 · 178 阅读 · 0 评论 -
回溯法-子集和数
问题描述:已知N+1个正数,和M原创 2021-06-30 15:02:42 · 1233 阅读 · 0 评论 -
贪心算法-基础背包问题
#include<iostream>#include<cmath>#include<vector>#include <algorithm>#include <map>#include <algorithm>#include <unordered_map>#include <stack>#include <time.h> #include <vector>#includ.原创 2021-06-22 15:24:19 · 116 阅读 · 0 评论 -
C++学习总结(三)const修饰符
本小节主要介绍const修饰符在函数声明以及作为形参和变量等地方的具体含义。参考链接:https://blog.csdn.net/left_la/article/details/7441159https://blog.csdn.net/m0_37570217/article/details/1005410040. 什么是const? C++中,我们通过#define 和 const关键字来定义常量,即常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更..原创 2021-05-18 15:25:50 · 107 阅读 · 0 评论 -
C++学习总结(二)多态
这部分主要想介绍一下父类与子类的关系,具体包括构建、析构、继承、编译相关内容。1. 编译。【待整理】假设A是库,A中有reset接口,reset接口使用了其他类的对象【这个对象会根据类型返回不同的指针】并对其去初始化,现在在2个不同的头文件【hx,hy】中包含了A,如果hy中重构了A的构造等函数,却没有指定reset接口中的对象类型,则编译的时候会提示,在hx和hy中对同一文件重定义。...原创 2021-05-13 10:46:01 · 76 阅读 · 0 评论 -
VS小番茄插件常用快捷键
快速打开文件 Alt + Shift + O快速查找引用 Alt + Shift + F快速重命名Alt + Shift + R (这个可能会经常用)快速跳到定义 Alt + G光标回到上一处 Ctrl + -光标回到下一处 Ctrl + Shift + -设置/取消书签 Ctrl + F2跳转到下一个书签 F2跳转到上一个书签 Shift + F2全局文本搜索 Ctrl + Shift + F...原创 2021-03-08 15:45:51 · 1733 阅读 · 0 评论 -
位运算:与、异或、移位
1. 原题分析刷leetcode的时候,一直会遇到不用加法乘法去实现2个数的加法乘法运算,这类题目基本上就是利用位运算没跑了,现在总结一下,题目:剑指offer65. 不用加减乘除法做加法https://leetcode-cn.com/problems/bu-yong-jia-jian-cheng-chu-zuo-jia-fa-lcof/分析:设a=7,b=5;即a=111,b=101,引入无进位和进位的概率 无进位和 进位 0 0 0 0原创 2020-12-28 12:56:05 · 218 阅读 · 0 评论 -
map和unordered差别+赋值和删除
map具体分为普通Map和Unordered_Map,二者差异参考以下链接,后续再讨论红黑树相关【太难了 QAQ...】map:有序的,占用内存小,底层是红黑数的赋值插入unordered_map: 无序,速度快,底层是哈希表的赋值插入下面为LeetCode上剑指offer的56题I,主要涉及unordered的插入和删除操作。#include<iostream>#include<cmath>#include<vector>#include &原创 2020-12-25 15:37:02 · 513 阅读 · 1 评论 -
环形矩阵创建
创建环形矩阵输入:一个整数n,1<=n<=20;输出:从右上角开始的蜗牛环形矩阵;例入:输入:n=2输出:4 13 2思路:从右上角起始位置开始按照下左上右的递增赋值,改变起始位置,直到当前起始位置的左下角以及被赋值,跳出循环初始化注意:n=1的情况/*********************************** author :Jun ** create date:2020.8.25** modifier :** modify time:*原创 2020-08-25 11:59:15 · 721 阅读 · 0 评论