- 博客(15)
- 收藏
- 关注
原创 【每日一题3月20号
接下来我们要考虑数据范围,这里要注意是10的100次方,这个数据很大了longlong的也才18次方所以这里我们要用到字符串转数字了;首先这题我们需要定义一个字符串数组,他的0–9的下标对应英语的一到九;
2023-03-22 11:55:10
67
原创 动态规划(DP)和背包问题讲解
动态规划(简称 DP),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。(这个感觉太官方了,简单来说动态规划就是给定一个问题,我们把它拆成一个个子问题,直到子问题可以直接解决。然后呢,把子问题答案保存起来,以减少重复计算。再根据子问题答案反推,得出原问题解的一种方法。
2023-02-21 14:40:19
470
原创 基础算法----排序算法
冒泡排序是一种简单的排序算法。本篇博客主要粗略的介绍几种常见的排序算法:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序、(计数排序、桶排序、基数排序这几种本章没有,我不会(我是蒟蒻),大家想学可以去看看别的博客)。冒泡排序的算法时间复杂度最好情况下是O(1),也就是所有的都是有序的,最坏的情况下是O(n2)。选择排序是一种简单直观的排序算法,它也是一种交换排序算法,和冒泡排序有一定的相似度,可以认为选择排序是冒泡排序的一种改进。
2023-02-03 12:38:37
56
原创 10分钟带你学习C++map
map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value)。map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有的数据都是有序的。
2023-02-02 14:09:48
88
原创 10分钟带你了解 C++ --vector
vector是STL中的一个类似于数组的容器,但是vector又有很多数组没有具备的功能,与数组相比,vector就是一个不需要初始化的数组,vector是一个可以自动扩容的数组。
2023-02-02 13:58:38
180
原创 数据结构(三)---树
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根在上,而叶在下的。有一个特殊的结点,称为根结点,根节点没有前驱结点。除根节点外,其余结点被分成m(m > 0)个互不相交的集合T1、T2、…… 、Tm,其中每一个集合Ti(1
2023-02-01 13:44:45
300
原创 数据结构(二)----队列
队列是一种采用先进先出策略的抽象数据结构,它的想法来自于生活中排队的策略。顾客在付款结账的时候,按照到来的先后顺序排队结账,先来的顾客先结账,后来的顾客后结账。
2023-02-01 12:56:39
51
原创 数据结构(一)----栈
栈是一种特殊的线性表,仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。所以栈具有“后入先出”的特点。
2023-02-01 12:34:07
48
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人