自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 一个关于视频播放的小项目

视频点播系统项目名称:视频点播系统项目描述: 一个用户可以通过浏览器上传视频,且对自己上传的视频进行管理,而其他用户可以通过浏览器观看视频概要设计: 采用不太严谨的MVC框架  model:数据管理模块--对数据进行统一管理,外界只能通过这个模块访问数据  view: 前端界面模块--提供前端界面实现与用户的交互  controller:业务处理模块--接收前端请求进行处理完成用户的需求技术调研: socket, http, tcp, json, mysql, html, css, js

2022-01-11 21:00:09 4115 17

原创 【C++笔记】之多态

多态多态的概念多态的定义及实现多态的构成条件虚函数如何查看虚表和虚表中的函数虚函数的重写虚函数重写的两个例外1.协变(基类与派生类虚函数返回值类型不同)2.析构函数的重写(基类与派生类析构函数的名字不同)重载、覆盖(重写)、隐藏(重定义)重载与覆盖令人迷惑的隐藏规则多态的原理抽象类

2022-05-12 11:44:44 238 12

原创 搜索算法【1】

搜索算法文章目录搜索算法前言深度优先搜索练习1:员工的重要性练习2:图像渲染广度优先搜索练习1:N叉树的层序遍历练习2:腐烂的橘子回溯练习1:电话号码的字母组合练习2:组合总和前言搜索算法是去搜索每一个可能,主要分以下几种算法枚举法:暴力搜索深度优先搜索广度优先搜索回溯深度优先搜索我们先思考这样一个问题:假如有编号为1~3的3张扑克牌和编号为1~3的3个盒子,现在需要将3张牌分别放到3个盒子中去,且每个盒子只能放一张牌,一共有多少种不同的放法。当走到一个盒子面前的时候,到底

2022-05-06 16:40:36 1719 10

原创 动态规划【1】

动态规划文章目录动态规划Dynamic Programming例一:fibonacci方法一:递归方法二:动态规划例二:青蛙跳台阶问题方法一:动态规划Dynamic ProgrammingDP定义:动态规划是分治思想的延伸,通俗一点来说就是大事化小,小事化无的艺术。在将大问题化解为小问题的分治过程中,保存对这些小问题已经处理好的结果,并供后面处理更大规模的问题时直接使用这些结果。动态规划的三个特点把原来的问题分解成了几个相似的子问题。所有的子问题都只需要解决一次。存储子问题的解动

2022-05-05 21:26:06 300 14

原创 数据库【2】

数据库文章目录数据库增删改查进阶数据库表的设计:ER关系图,三大范式ER关系图:三大范式多表联查增删改查进阶聚合函数,分组查询,键值约束,表的设计,多表联查  聚合函数:mysql中内部定义的一些数据统计函数    统计结果的条数:count(*);    统计指定列总和:sum(fields);    统计指定列最大:max(fields);    统计指定列最小:min(fields);    统计指定列平均:avg(fields);  分组查询:以指定列为依据对数据库的数据进行

2022-04-16 00:03:39 538 20

原创 初识数据库

数据库文章目录数据库MySQLMySQL的安装与初步认识二、使用步骤1.引入库2.读入数据总结MySQL  MySQL的安装与初步认识  库和表的操作以及MySQL中的数据类型  基础增删改查  进阶增删改查  索引与事务MySQL的安装与初步认识  初步认识:    数据库: 存储数据的仓库      存储介质: 本质上数据的存储介质依然是磁盘二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimp

2022-04-14 10:43:57 805 16

原创 【C++从入门到入土】第二十二篇:数据结构之红黑树

红黑树文章目录红黑树一、红黑树简介性质节点红黑树的实现一、红黑树红黑树是一种特化的AVL树(平衡二叉树),都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。 它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。简介红黑树是一种特定类型的二叉树,它是在计算机科学中用来组织数据比如数字的块的一种结构。红黑树是一种平衡二叉查找树的变体,它的左右子树高差

2021-09-04 17:09:08 268 7

原创 【C++从入门到入土】第二十一篇:二叉搜索树之AVL树

AVL树文章目录AVL树一、AVL树1.特点2.操作旋转插入删除查找一、AVL树在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。1.特点AVL树本质上还是一棵二叉搜索树,它的特点是: 1.本身首先是一棵二叉搜索树。2.带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1。也就是说,AVL树,本质上是带了平衡功能的二叉查找树(二叉

2021-09-02 19:05:33 129 5

原创 【C++从入门到入土】第二十篇:关联式容器-map和set

关联式容器map和set文章目录关联式容器map和set一、setset的使用构造函数与迭代器insert插入erase删除二、mapmap的使用构造函数与迭代器一、setset的使用构造函数与迭代器insert插入erase删除二、mapmap的使用构造函数与迭代器...

2021-08-31 18:23:34 111 2

原创 【C++从入门到入土】第十九篇:二叉搜索树

二叉搜索树文章目录二叉搜索树二叉搜索树概念原理性质复杂度二叉搜索树操作1.结构2.查找3.插入4.中序遍历5.拷贝6.销毁二叉搜索树概念二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉搜索树作为一种经典的数据结构,它既有链表的快速插入与删除操作的特点,

2021-08-26 14:44:05 110 6

原创 【C++从入门到入土】第十八篇:多态

多态文章目录多态一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarning

2021-08-21 17:51:11 759 23

原创 【C++从入门到入土】第十七篇:继承

继承文章目录继承什么是继承继承方式什么是继承面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。继承代表了 is a 关系。例如,哺乳动物是动物,狗是哺乳动物,因此,狗是动物,等等。示例:pandas 是基于NumPy 的一种工

2021-08-20 16:43:25 135 3

原创 2021-08-19

练习一CM26 二进制插入题目描述:class BinInsert {public: int binInsert(int n, int m, int j, int i) { // write code here m = m << j; return n | m; }};练习二HJ60查找组成一个偶数最接近的两个素数题目描述:#include <iostream>#include <algo

2021-08-19 11:13:00 102 4

原创 2021-08-18

练习一HJ91走方格的方案数题目描述:#include <iostream>using namespace std;int pathWay(int n, int m){ if(n == 0 || m == 0) return 1; return pathWay(n - 1, m) + pathWay(n, m - 1);}int main(){ int n, m; while(cin >> n >>

2021-08-18 16:21:19 110 6

原创 2021-08-17

练习一JZ49把字符串转换成整数题目描述:class Solution {public: int StrToInt(string str) { if(str.empty()) return 0; int flag = 1; int sum = 0; if(str[0] == '-') { flag = -1; str[0] = '0';

2021-08-17 16:46:25 76

原创 2021-08-16

练习一WY18统计回文题目描述:#include <iostream>#include <string>using namespace std;bool IsCircle(const string& s){ int begin = 0; int end = s.size() - 1; while(begin < end) { if(s[begin] != s[end]) retu

2021-08-16 19:04:24 104 6

原创 2021-08-14

练习一OR62:倒置字符串题目描述:#include <iostream>#include <string>#include <algorithm>using namespace std;int main(){ string str; while(getline(cin, str)) { reverse(str.begin(), str.end()); auto start = str.begi

2021-08-14 16:57:25 90 2

原创 2021-08-12

练习一组队竞赛:题目描述#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ int n; while(cin >> n) { vector<int> a; a.resize(3 * n); for(int i = 0; i <

2021-08-12 17:14:02 87 4

原创 【C++从入门到入土】第十六篇:再谈数据结构--栈和队列

栈和队列文章目录栈和队列栈(stack)练习1练习2栈的模拟实现队列栈(stack)栈是一个后进先出的数据结构,本身是一个半封闭的容器;如果想要查看栈当中的每一个元素,它里面是没有一个迭代器的支持的,本身不支持遍历,不允许在中间位置进行任何的操作;因此只能在一端进行数据的插入与删除,所以想要访问元素,只能看到栈顶的元素;练习1155.最小栈练习2JZ21.栈的压入弹出序列栈的模拟实现队列...

2021-08-09 10:20:27 103 6

原创 【C++从入门到入土】第十五篇:list的模拟实现

2021-08-06 17:17:31 71 4

原创 【C++从入门到入土】第十四篇:list的介绍与使用

list的介绍与使用文章目录list的介绍与使用一、list的介绍二、list的使用1.构造函数2.正向迭代器3.反向迭代器4.范围for5.获取首尾元素6.插入元素的相关操作7.删除导致迭代器失效一、list的介绍STL list 容器,又称双向链表容器,即该容器的底层是以双向链表的形式实现的。这意味着,list 容器中的元素可以分散存储在内存空间里,而不是必须存储在一整块连续的内存空间中。可以看到,list 容器中各个元素的前后顺序是靠指针来维系的,每个元素都配备了 2 个指针,分别指向

2021-08-06 11:18:58 224 1

原创 【C++从入门到入土】第十三篇:vector的模拟实现

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-08-05 15:37:57 74

转载 史上最全的vim快捷键

https://www.cnblogs.com/jiqingwu/archive/2012/06/14/vim_notes.html#id591. 关于Vimvim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境不是中文,而你想使用中文的vimtutor,就运行vimtutor zh)1.1 Vim的几种模式正常模式:可以使用快捷键

2021-08-04 17:38:21 4085 1

原创 【C++从入门到入土】第十二篇:vector的介绍与使用

vector的介绍与使用文章目录vector的介绍与使用一、vector的介绍二、vector的使用1.构造函数2.迭代器3.容量4.内容的访问5.增删查改6.迭代器失效的问题一、vector的介绍vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。本质讲,vector使用动态分配数组来存储它的元素。当

2021-08-04 15:09:11 560

原创 【C++从入门到入土】第十一篇:string模拟实现(续)

2021-08-04 09:49:23 88

原创 【C++从入门到入土】第十篇:string模拟实现

string模拟实现文章目录string模拟实现传统写法1.构造函数2.析构函数3.拷贝构造4.赋值运算符现代写法1.构造函数2.析构函数3.拷贝构造4.赋值运算符类的成员传统写法1.构造函数正确写法:这才是一个空的string类对象,字符串的内容为空,创建的对象才有一个有效的地址;但是一般情况下我们都会写一个带缺省值的构造函数;2.析构函数3.拷贝构造这就是浅拷贝所造成的的问题,浅拷贝只拷贝了指针的地址,而没有拷贝指针所指向的内容深拷贝不仅拷贝了指针,而且拷贝了

2021-08-03 14:59:40 155 2

原创 【C++从入门到入土】第九篇:string相关OJ练习

string相关OJ练习实例一:917.仅仅反转字母方法一:方法二:实例二:387.字符串中的第一个唯一字符方法一:方法二:

2021-08-02 10:35:25 100 2

原创 【C++从入门到入土】第八章:string类的使用

string类提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录string类前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面

2021-07-30 13:55:35 354 14

原创 【C++从入门到入土】第七篇:模板初阶

模板初阶文章目录模板初阶一、函数模板二、类模板一、函数模板以前我们要写交换函数的话是这样来写的:虽然函数重载可以实现,但每次新增加一个数据类型,就需要重新再写一个交换函数,比较麻烦;所以我们可以通过函数模板来解决这类问题这些都是隐式实例化,根据变量类型进行推导的;typename是用来定义模板参数关键字,也可以使用class(切记:不能使用struct代替class)二、类模板...

2021-07-29 17:29:59 298 2

原创 【C++从入门到入土】第六篇:C/C++内存管理

C/C++动态内存管理文章目录C/C++动态内存管理前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):i

2021-07-29 14:56:31 93 1

原创 【C++从入门到入土】第五篇:类与对象(下篇)

类与对象(下篇)文章目录类与对象(下篇)再谈构造函数构造函数体赋值初始化列表引用成员变量const成员变量自定义类型成员单参构造隐式类型转换static 成员友元友元函数友元类再谈构造函数构造函数体赋值构造函数内的语句只能将其称之为给对象赋初值,而不能将其称之为初始化,因为初始化只能初始化一次,而在构造函数中可以多次赋值;初始化列表虽然在这里我们不显式的去写初始化列表,本身在语法上也不会有什么错误,但还是建议将初始化卸载初始化列表中,而不是构造函数体内部;但有几种情况是必须要写初始

2021-07-28 18:39:31 200 4

原创 【C++从入门到入土】第四篇:类与对象(中篇)

类与对象(中篇)文章目录类与对象(中篇)类的六个默认成员函数构造函数析构函数拷贝构造函数赋值运算符重载类的六个默认成员函数构造函数构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。如果一个类中没有定义任何的构造函数,那么编译器只有在以下三种情况,才会提供默认的构造函数:1、如果类有虚拟成员函数或者虚拟继承

2021-07-28 10:43:06 271 5

原创 【C++从入门到入土】第三篇:类与对象(上篇)

类与对象(上篇)文章目录类与对象(上篇)面向过程和面向对象的初步认识类的引入类的访问限定符访问限定符说明类的实例化类对象模型类对象大小的计算this指针面向过程和面向对象的初步认识面向过程(Procedure Oriented)和面向对象(Object Oriented,OO)都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计和开发软件。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过程的弊端越来越明显的显示出来,出现了面向对象思想并成为目前主流的方式

2021-07-27 09:04:07 222 15

原创 【C++从入门到入土】第二篇:C++入门(续)

C++入门文章目录C++入门引用1.引用概念二、使用步骤1.引入库2.读入数据总结引用1.引用概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。比如:李逵,在家称为"铁牛",江湖上人称"黑旋风"二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as

2021-07-26 14:14:32 194 9

原创 【C++从入门到入土】第一篇:初识C++

C++入门文章目录C++入门C++关键字(C++98)命名空间1.命名空间的定义2.命名空间的使用C++输入&输出缺省参数1.缺省参数概念2.缺省参数分类函数重载C++关键字(C++98)C++总计63个关键字,C语言32个关键字命名空间在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。

2021-07-25 18:25:34 1139 25

原创 数据结构(15)---排序(冒泡排序, 快速排序, 归并排序, 计数排序)

排序文章目录排序交换排序冒泡排序快速排序(简单认识)归并排序交换排序冒泡排序冒泡排序的特性总结:冒泡排序是一种非常容易理解的排序时间复杂度:O(N^2)空间复杂度:O(1)稳定性:稳定快速排序(简单认识)归并排序...

2021-07-25 10:34:27 122 5

原创 数据结构(14)---排序之插入排序(直接插入排序, 希尔排序)和选择排序(直接选择排序, 堆排序)

排序文章目录排序排序的概念及其应用常见的排序算法插入排序直接插入排序希尔排序排序的概念及其应用排序的概念:排序: 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性: 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。比如说这里有一些数据, 若需要我

2021-07-24 10:18:31 668 15

原创 数据结构(13)---二叉树之链式结构(前序遍历, 中序遍历, 后序遍历, 层序遍历)

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-07-23 11:10:31 353 5

原创 数据结构(12)---二叉树之顺序结构

二叉树文章目录二叉树二叉树的顺序结构及实现二叉树的顺序结构堆的概念及结构堆的创建堆向下调整算法二叉树的顺序结构及实现二叉树的顺序结构普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。堆的概念及结构如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},

2021-07-22 14:15:04 569 18

原创 数据结构(11)---二叉树

二叉树文章目录二叉树树的概念及结构树的概念树的结构树的表示二叉树的概念及结构二叉树的概念特殊的二叉树二叉树的性质二叉树的存储顺序存储链式存储树的概念及结构树的概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集Ti(1<= i

2021-07-21 17:28:52 2433 27

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除