- 博客(86)
- 收藏
- 关注
原创 【day4】数据结构刷题 树
1 遍历的方法,这个后面很常用2 判断是否是同一个二叉树,就是不断对树的根节点进行判断,而且顺序是一样的,因为插入的方法3 堆的就是路径就是用一个while循环来往前面不断地比较。
2025-03-29 15:47:51
600
原创 【黑皮书】 AVL树
AVL树的学习AVL树是带有平衡条件的二叉查找树,这个平衡条件要持续保持,而且必须保证树的深度为O(log(N))最简单的想法就是要求左右子树具有相同的高度一棵AVL树是其每一个节点的左子树和右子树的高度相差1的二叉查找树,空树的高度定义为-1,在对树进行操作的时候,时间复杂度往往都是log(N),但是这里复杂操作就是插入,为什么?因为你插入一个节点可能会破坏AVL树的特性,那么就要把性质恢复以后才认为这一步插入完成,事实上可以通过对树进行简单的修正来做到,这个就称为旋转。
2025-03-24 09:45:09
539
原创 C++ primer plus 类和动态内存分配
这里将要讲述类和动态内存分配1 动态内存分配和类首先我们复习了new和delete的用法其次就是静态存储的一些操作,如enum和static这两个使用的方法最后就是这个常量的赋值一般都是在方法文件里面,因为如果我们定义在class里面,那么每一次引用就要进行一次初始化,这样会出现多个初始化副本,这样就会出现重名错误,我们要牢记,这个常量不是对于每个成员的,而是公用的2 特殊成员函数默认构造和析构函数,复制构造函数,运算符重载函数。
2025-03-20 23:27:47
709
原创 C++ primer plus 使用类下
接着上一章的内容学习了我们可以从对象转换到普通类型的方法:转换函数这个转换函数要注意点就是我们书写多个的时候要注意会出现二义性错误然后就是我们要巧妙使用explicit这个关键词和运用成员函数解决这个问题书写格式是operator typename( )这个格式。
2025-03-17 19:41:50
285
原创 【bug日记】 编译错误
但是我成功编译之后,我把里面的函数进行了修改,发现,不知道为什么我输出的结果老是是我上一次输出的结果,我也删除了exe然后重新编译了很多次都是不行,这个时候我去找了al,结果是文件没有进行保存,你的编译器是不会编译你当前文件,而是你上一次保存的文件,这就很难受,所以当你编写玩一定要去保存后调试。在我使用vscode的时候,我想用一个头文件和两个cpp文件,头文件是用来声明一个类的,一个cpp是用来类的成员函数,一个cpp是主函数。这个时候就是我使用g++编译的时候出现了问题,就是我g++指令是这样写的。
2025-03-15 23:41:26
460
原创 C++ primer plus 类和对象下
接着上一篇继续剩下的抽象数据在我的数据结构里面有,这里就不讲了现在我们学习了this指针,对象数组和类的作用域和常量该怎么处理。
2025-03-14 22:23:09
625
原创 C++ primer plus 类和对象上
前面已经描述了很多有关于类和对象的知识了,所以我们直接开始上手操作我们学习了怎么设计类,头文件应该放什么,方法应该放到哪里,还有就是析构函数和构造函数需要注意的。
2025-03-14 17:28:40
808
原创 C++ primer plus 第八节 内存模型和命名空间上
我们讲面向较为底层的体系去学习单独编译存储持续性、作用域和链接性定位(placement) new 运算符,名称空间。
2025-03-11 21:58:15
1256
原创 算法 背包问题
这里是背包系列问题,需要知道动态规划地知识才可以理解这个一个东西,所以可以先去看看我的动态规划地文章算法 动态规划-优快云博客我们还是学习了dsf,记忆化,动态规划这个背包问题就是需要一个max来求取最优子问题,然后前面再加几个判断条件就好了然后记忆化搜索就是创建一个变量进行保存,然后再创建一个数组进行保存数据就好了01背包式需要x+1进行限制,完全背包不需要二维费用背包就是需要条件的限制而已需要注意的是,我们需要进行限制的条件就是我们函数的形参。
2025-03-08 17:21:07
896
原创 C++ primer plus 第七节 函数探幽下
如果你坚持阅读到这里配合书本,那么你也是一个强者了,加油一起hard介绍了编译器使用哪一个函数的版本。
2025-03-07 21:42:39
899
原创 C++ primier plus 函数探幽中
这里是上一篇文章的绪论,其实还要写一篇,太多知识点了,这个本书很难,只能说作者看的要废了,然后这个是基于作者的理解,然后部分后面讲的省掉了,只找重点,让我们理解这里面的重点知识引用的绪论我们可以知道结构体和类的引用的使用方法,什么时候使用引用引用我们需要注意的就是const修饰,返回值的类型,用const修饰的时候,计算机会进入哪一些操作,提示临时变量引用,类,继承我们这里需要知道基类,派生类是什么含义基类的引用作为形参的话,进行传实参的时候,既可以是派生类或者基类。
2025-03-07 21:14:39
1213
原创 C++ primier plus 第七节 函数探幽上
这一篇文章主要是讲解内联函数,引用的深入理解尤其是引用,这个东西在类里面很经常见到和使用,基本都是,如果没有深入理解,后续学习很难作者深有体会,之前是按照b站课上学的,结果还是一头雾水一 内联函数内联函数的出现理解内联函数的时候,需要理解程序是在电脑里面怎么进行运转的,可以先看看这个,去底层知道电脑是如何运转的C底层 函数栈帧-优快云博客。
2025-03-06 10:04:56
820
原创 C++ primer plus 第五节 循环
由于作者看了后面的内容,觉得只要有点深入学过C语言就可以知道,所以这里就直接讲述一点,下一节直接讲述面向对象这里的循环章节就没有全部写完了,博主看了一下后面,其实是一些不常用的,等到开发阶段遇到那些问题再来学也没问题,我们下一节直接启动类与面向对象我们学习for循环的关键词语新增语法明显表达式和不明显表达式副作用表达式副作用和顺序点的概念前缀与后缀的效率在for循环与不同点逗号运算符的作用。
2025-03-01 23:22:35
614
原创 C++ primer plus 第四节 复合类型
这里主要是针对具有C语言的基础的同学• 可以使用c-风格字符串来初始化string对象。• 可以使用cin来将键盘输入存储到sting对象中。• 可以使用 cout来显示string对象。• 可以使用数组表示法来访问存储在string对象中的字符• c++门也允许将列表初始化用于c-风格字符串和string对象1 string的便捷数组与string的区别使用 string 类时,某些操作比使用数组时更简单。例如,
2025-03-01 21:29:31
1190
原创 算法 动态规划
动态规划,也叫dp在学习动态规划之前,我们还需要学习记忆化搜索本篇文章主要从dfs 记忆化搜索 dp来讲首先我们学习了深度优先搜索,记忆化搜索,dp这几个是逐层学习的然后优先搜索要判断好两个情况一个是选择最优子问题一个是选择做有子问题的和问题然后记忆化搜索就是在深度优先搜索上面加一个数组,利用一个变量把这些值赋值到对应的数组里面去,然后这为什么要有一个变量呢?
2025-03-01 16:17:27
1152
原创 算法 BFS搜爆路径问题
由于对于搜索路径问题,我们如果用深度搜索dfs的话,时间会花费很多很多,所以我们就有了广度搜索bfs来搜索路径问题深度优先和广度优先,这个概念我已经在树的章节已经讲过了数据结构 树2-优快云博客可以去看看我们当遇到一个点是否可以到达另外一个点到达那个点最小的步数是多少的时候我们直接考虑使用bfs来解决bfs最核心的就是坐标的确定和队列使用。
2025-02-28 11:23:09
791
原创 算法 dfs基础篇 手把手描绘递归树
dfs深度优先收索,直接搜爆答案,在数据不是特别的庞大,当然递归的层次也最好不要超过10的6次方,这样就可以保证在1s里面得出答案,防止我们算法运行超时一 青蛙跳台阶的引入我们分析的步骤是首先分析递归,然后画出递归搜索树我们举一个很简单的例子我们眨眼一看,确实挺复杂的,但是我们耐心的取观察一下这个规律当台阶只有1个或者2个台阶的时候台阶跳法1122当我们加到3个的时候或者4个的时候。
2025-02-25 21:41:10
420
原创 C进阶 自定义类型
我们之前学习的int char double ......都是内置类型,但是我们今天所学习的是自定义类型,比如联合体,结构体,枚举结构体初始化,定义,存储位段初始化,定义存储枚举定义,用处联合体定义存储。
2025-02-23 23:16:13
971
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人