自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-11、1-11、7周报

递归:使用递归的情况:1.问题的定义时递归的例如,阶乘就是上一个数的阶乘乘以当前数本身2.问题的解法存在自调用(算法直接或间接地调用自身)例如:折半查找法使用递归的要点:1.问题具有可借用类同自身的子问题的性质2.确定递归终止条件实例:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。有效括号组合需满足:左括号必须以正确的顺序闭合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())",

2021-11-07 15:53:38 64

原创 10.25-10.31周博客

动态规划:dp一般用于解决多阶段决策问题。每个阶段都要做一个决策,全部的决策组成一个决策序列,要你求一个最好的决策序列使得这个问题有最优解一、适用动态规划解决的问题:1.计数问题:解决问题有多少种方案2.优化问题:求最大值或最小值问题二、使用DP的要求1.最优子结构2.重复子问题:求解子问题时,会出现重复计算(overlapping)。如果没有重复计算,则退化成分治算法(divide and conquer)3.无后效性:调用子问题最优解时,子问题的最优解不发生改变。三、动态规划的使用方法

2021-10-31 13:47:00 78

原创 力扣51题题解

n皇后问题:将n个皇后放置在 n×n 的棋盘上,皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。皇后彼此不能相互攻击,也就是说:任何两个皇后都不同行、不同列,也不在同一对角线上。这里的“对角线”指的是所有的对角线,不只是平分整个棋盘的那两条对角线。解题思路:借用树的思维弄清解题步骤:假定n=3,三个皇后分别为Q1、Q2、Q3在第一行,有3种放置方

2021-09-30 14:13:48 97

原创 数据结构——图

1.稠密图的基本实现:#ifndef UNTITLED1_DENSEGRAPH_H#define UNTITLED1_DENSEGRAPH_H#include #include #include using namespace std;class DenseGraph{private://n是图中节点个数,m是边数int n,m;//directed指明图是有向的还是无向的bool directed;vector<vector> g;public:DenseGrap

2021-06-07 13:38:40 61

原创 数据结构——二叉树

(一)二叉树的基本实现1.二叉树的定义:import java.util.*;//BST支持泛型,因为每个节点都大于它的左孩子,小于它的右孩子,所以保存的元素得要是可比较的public class BST<T extends Comparable> {//定义内部节点类private class Node{ public T e; public Node left; public Node right; //节点类的构造函数 public N

2021-05-30 12:22:07 58

原创 数据结构——链表

去去去

2021-05-25 10:16:19 336

原创 数据结构——栈和队列

一、栈(一)栈的基本实现接口Stack:public interface Stack {int getSize();boolean isEmpty();void push(T e);T pop();T peak();}ArrayStack继承Stack这个接口,使用之前定义过的Array类:public class ArrayStack implements Stack{//基于数组实现Array<T> array;//构造函数,初始化对栈的容量public A

2021-05-18 11:10:02 103

原创 数据结构——动态数组

数据结构一、数组简单的时间复杂度分析O:运行时间和输入数据之间的关系(渐进时间复杂度)O(1):线性关系O(n^2):T=knn+b

2021-05-14 18:26:11 333

原创 第二章

线性表的抽象数据类型定义:2-4线性表的顺序表示和实现顺序表的存储结构:顺序表中基本操作的实现:1.顺序表的初始化:2.顺序表的取值:3.顺序表的查找:4.顺序表的插入:5.顺序表的删除:2-5线性表的链式表示和实现单链表的存储结构:首元结点、头结点、头指针:头结点的作用:1.使首元结点能像其它结点一样处理2.便于空表和非空表的统一处理单链表基本操作的实现:1.初始化:2.取值:3.查找4.插入:5.删除:创建单链表:1.前

2021-02-09 22:19:35 82

原创 第一章

1-2基本概念和术语1、数据:能输入到计算机中并被计算机程序处理的符号的总称数据元素:数据的基本单位,通常作为一个整体进行考虑和处理,如学生基本信息表中一名学生的信息数据项:组成数据元素的最小单位,如学生的学号、姓名数据对象:性质相同的数据元素的集合,是数据的一个子集,如学生基本信息表2、数据结构数据结构:相互之间存在一种或多种关系的数据元素的集合结构:数据元素间的关系数据结构包括逻辑结构和存储结构两个层次逻辑结构:要素:数据结构和关系分类:集合结构:数据元素除了在同一集合外无其他关

2021-02-09 21:32:45 72

原创 第十三章 拷贝控制 466

13-1拷贝、赋值与销毁1、拷贝构造函数拷贝构造函数的第一个参数必须是引用类型,一般都是const引用,也可以是非const引用合成拷贝构造函数如果我们没有为一个类定义拷贝构造函数,编译器会为我们定义一个。即使我们定义了其它构造函数,编译器也会为我们合成一个拷贝构造函数对某些类来说,合成拷贝构造函数用来组织我们拷贝该类类型的对象合成的拷贝构造函数会将其参数的成员逐个拷贝到正在创建的对象中编译器从给定对象中依次将每个非static成员拷贝到正在创建的对象中类类型成员会使用拷贝构造函数来拷贝,

2021-01-31 18:20:11 117

原创 第十二章 动态内存 426

12-1动态内存与智能指针动态内存的管理通过一对运算符来完成:new:在动态内存中为对象分配内存空间并返回一个指向该对象的指针,可以选择对对象初始化delete:接受一个动态对象的指针,销毁该对象,并释放与之关联的内存两种智能指针:shared_ptr允许多个指针指向同一个对象unique_ptr“独占”所指的对象标准库还定义了一个名为weak_ptr的伴随类,它是一种弱引用,指向shared_ptr所管理的对象三种类型都定义在头文件memory中1、shared_ptr类智能指针也是模

2021-01-29 23:26:05 70

原创 第十一章 关联容器 400

两个主要的关联容器:map、setmap中的元素是 关键字—值 对set中只有关键字标准库提供8个关联容器,8个容器的不同体现在三个方面:(1)是map 还是 set(2)要求不重复关键字 还是 不允许重复关键字——容器名前加multi(3)有序 还是 无序——容器名前加unordered11-1使用关联容器使用mapmap类型通常通常被称为关联数组单词计数程序:定义map必须指定关键字和值得类型string作为下标,每读取一个word,如果word还未在map中,下标运算符会创

2021-01-26 21:29:57 68

原创 第十章 泛型算法 362

10-1概述标准库算法find传给find的前两个参数是表示元素范围的迭代器,第三个参数是要搜索的值如果搜索成功,则返回第一个与给定值相等的迭代器如果搜索失败,则返回find的第二个参数算法如何工作只要有一个迭代器可以用来访问元素,find就完全不依赖于容器类型(甚至无需理会保存元素的是不是容器)迭代器令算法不依赖于容器,但算法依赖于元素类型的操作10-2初始泛型算法1、只读算法一些算法只会读取输入范围中的元素,而不会改变其值例如find、count、accumulateaccum

2021-01-25 15:10:34 99

原创 第九章 顺序容器 318

9-1顺序容器概述所有顺序容器都提供了快速访问的功能,同时它们可能的缺点是:向容器中添加或从容器中删除不方便不按顺序访问不方便9-2容器库概览有的操作不是所有容器都提供的,每个容器都定义在头文件中对容器可以保存元素类型的限制1、迭代器forward_list不支持递减运算符(–)迭代器的算术运算只能应用于string、vector、array、deque迭代器范围迭代器范围由一对迭代器表示,比如begin和end、first和last使用左闭合范围的编程假定使用如下:

2021-01-22 22:49:55 90

原创 第八章 IO库 304

8-1IO类iostream定义用于读写流的基本类型fstream定义读写命名文件的类型sstream定义读写内存string对象的类型为支持宽字符的语言

2021-01-21 09:57:29 130

原创 第七章 类 253

7-1定义抽象数据类型我们不能访问Sales_item类的数据成员,因为根本不知道这个类有哪些数据成员1、设计Sales_data类2、定义改进的Sales_data类改进前的Sales_data包括:string bookNo;//书名unsigned units_sold;//销售数量double revenue;//总销售收入改进后:相比原来添加了combine、isbn、avg_price成员函数的声明必须在类的内部,它们的定义则既可以在内部也可以在外部作为接口组成部

2021-01-20 21:15:15 75

原创 第六章 函数 207

6-1函数基础返回类型 函数名字( 形参列表){函数体}空形参列表void f( ){ /…/}//隐式地定义形参列表void f(void){/…/}//显式地定义形参列表1、局部对象形参和函数体内部定义的变量统称为局部变量自动对象:只存在于块执行期间的对象局部静态对象:ctr被定义为局部静态变量,第一次调用时值为1,第二次是2,以此类推,直到输出10如果ctr不是静态变量,每次都只会输出12、函数声明函数声明也称作函数原型,包括返回类型,函数名,形参列表3、分离式编译

2021-01-18 22:21:26 203

原创 第五章 语句

5-1简单语句空语句分号不要漏写也不要多写v1=v2+v3; ;//看似非法,实际是由一个简单语句和一个空语句构成while遇到第一个分号结束,此语句错误复合语句复合语句是由花括号括起来的语句和声明的序列,也叫做块。复合语句也可能为空{ }//空块5-2语句作用域在if,while,for,switch中定义的变量,只在相应语句内部可用5-3条件语句1、if,if else,嵌套if均较熟悉悬垂else:else与离它最近的且尚未匹配的if匹配使用花括号...

2021-01-17 15:52:51 51

原创 第二章

int,long,long long的表示范围不一样无符号数一定大于0;有符号数可正可负long和double表示的精度不一样带负号的无符号数要把负数转化成无符号数8位有符号二进制的模是256(-128——127)8位无符号二进制的模是256(0——255)...

2021-01-09 10:39:37 61

原创 2021-01-05

统计数据出现的次数#includeint main(){int v1,v2,count=1;if(std::cin>>v1){while(std::cin>>v2){if(v2==v1)count++;else{std::cout<<v1<<“appears”<<count<<“times”<<std::endl;v1=v2;count=1;}}std::cout<<v1&lt

2021-01-05 10:53:01 46

空空如也

空空如也

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

TA关注的人

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