自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 假期学习总结(25.2.19)

代码实现思路。(明白逻辑思路之后,其实代码能很快理解,

2025-02-19 21:34:42 1537

原创 25.2.11(学习记录)

今天主要是赶上之前的java课程,因为有一段时间没学java语法的内容了,所以又多复习了一会,明天要继续,今天还有些东西没明白。今天写队列的题,但是不知道为什么会超时,明天重新再想想怎么解决。

2025-02-12 00:31:09 107

原创 25.2.9(学习记录)

上面提到的指针并不是C语言中真正意义上的指针,而是利用指针思想,可以使用两个变量充当“指针”,标记队首和队尾。这里写的过程中有个错误,就是index数组的初始化,之前是直接采用for循环全部设置为0,但是运行错误。在C语言中,队列可以用queue数组,然后用指针控制数据入队或者出队。,学会常用这种初始化方式。

2025-02-10 01:12:20 152

原创 二叉树实现(学习记录)

然后是重点部分,创建节点数组,包含两个部分------>把节点数组建出来,利用函数初始化根节点和其左子树和右子树,一般会将左子树和右子树直接赋值为NULL(空指针)基本模板是这样,然后会根据题目的不同要求再继续做不同的计算(只写过求深度和前序遍历(而且还不是很熟。我个人认为难点主要在二叉树的输入,就是创建二叉树各个节点的内容。需要再整理整理思路,明天再学,然后把流程都理顺写一遍。今天写二叉树的题,一个是基本的。

2025-02-07 23:56:03 201

原创 树的基本概念,并查集复习(学习记录)

学了前序,中序,后序,简单用代码实现前序(核心我觉得是构建树,在C语言的代码中,就是利用结构体来表示一棵树)举前序的例子,前序其实就是先 根,再左子树,再右子树。(所以其实前序也被称为先根)树的一些概念词,度,父节点(双亲节点),子节点,树的深度(高度)等等。代码的逻辑很清楚,题目思考的步骤也有,便于回顾和复习。今天主要学习的是树,然后利用题目复习了一下并查集。前序,中序,后序的意思也很容易理解。中序:左子树,根,右子树。二叉树:就是度为2的树。

2025-02-07 00:02:03 203

原创 25.2.5学习记录

在哈希表的理论知识中,学到哈希函数,了解哈希冲突产生的原因,利用开散列或者闭散列解决哈希冲突,以及负载因子的构成和意义。使得空间不会过多浪费,同时在要查询时,也能更快地查询到物品所在的位置,降低时间复杂度。今天主要学的是哈希表的理论知识,但是都是c++实现,C语言的代码实现还没有完全搞明白。在写题的时候,懵懂的学着正确代码,用C语言模拟实现哈希表去解题。题目:P3613 【深基15.例2】寄包柜 (

2025-02-05 23:42:58 302

原创 25.2.4(学习记录)

今天学习的时候看相关博客,大部分都不是C语言的实现,而且又提到映射,二叉树的一种红黑树等等。但是目前还没有解决,应该要系统的学一下,不然映射什么的都不知道很难看明白博客的意思。下一天就是把树,哈希表什么的学明白,搞清楚逻辑是什么,怎么实现,把题做出来。) 的时候,自己最开始是直接使用了二维数组,导致运行超时,时间复杂度大,而且有很多空间浪费。map的学习就是为了解决这个问题。把错误代码贴一下,记录一下,明天就更更改的正确代码的博客,今天主要记录。其实还是因为在写洛谷这道题--------> (

2025-02-05 00:24:46 136

原创 25.2.3 【洛谷】作为栈的复习不错(学习记录)

(这个记得要学一下) 和 char数组,利用for循环对输入的数组进行遍历,效果比第一个好。时,将前面的数字入栈,遇到运算符的时候,将栈顶的两个数字进行运算,再将运行结果放到栈中。:我一开始使用scanf直接输入字符串,然后用getchar去获取每个字符,导致。这题是比较简单的栈应用,很好的复习一遍栈的基本使用。今天主要是复习,所以就概括一下栈使用的重点。,c++中直接使用stack还不明白。遇到运算符,栈顶两个数出栈计算。(出入栈的操作靠栈指针完成)这道题要想到用栈去解决。2.一个变量(栈指针)

2025-02-04 00:09:11 341

原创 【洛谷】P1111 修复公路(学习记录)

然后我们按顺序修路就好,将路的根节点都指向同一个就代表修好了,每次修完一条路都要判断是否已经成功修完一条连接所有村庄的路了。这道题的整体思路是利用并查集。,记录一下,num++,但是num一旦大于1,那就说明根节点不止一个了,那就说明路还没通全部村庄。修路就用了经典的并查集,利用一个combine函数让根节点一致,find函数查找根节点。,for循环一下看看是不是所有根节点都和样例一样,如果有不同,就代表还没全部连通。(排列的是结构体,为了方便操作,创建一个结构体)这道题,注意一个地方,t 的含义是什么?

2025-01-26 22:24:42 380

原创 【算法】并查集,前缀和数组,差分数组(学习记录)

今天主要学习并查集,前缀和数组和差分数组,写题的同时巩固动态规划。

2025-01-25 21:55:04 1572

原创 完全背包,二分(学习记录)

所以,在正确实现二分查找时,左右边界的定义和调整都应该非常小心,以保证不会遗漏任何可能的符合条件的答案。在这个上下文下,使用是为了保证搜索范围能更准确地定位到我们想要的最小值,从而输出所需的结果。int n = 0;

2025-01-25 00:31:24 269

原创 java数组补充,java的类和对象1,动态规划(01背包,最大正方形)(学习内容的记录,无详细总结)

如何创建一个类。类中包含。

2025-01-22 00:44:12 163

原创 java数组,差分数组使用,01背包问题(学习)

今天主要学习了java数组的语法知识,差分数组的使用以及01背包问题。(今天先整理java的部分,明天统一整理数据结构部分)

2025-01-21 00:47:41 131

原创 java方法(学习)

即类似于add(&a,&b)这种写法是不存在的。那么,如果是需要通过函数交换值的话,可以使用数组。(之后还会有通用方法,还没学,之后总结)从代码中可以发现,add函数定义了多个,并且并不会报错,这就称为方法重载。,可以是仅仅个数不同,也可以数据类型不一样,也可以都不一样。这是一个明显区别于C语言的地方。java的方法可以理解为C语言中的函数。但函数参数的部分----->包含。这里为我们取函数名提供了便利。今天学习了java的方法部分。

2025-01-19 21:47:15 153

原创 java逻辑控制,洛谷题(验证栈序列)(学习)

今天学习了java语法中的逻辑控制部分。洛谷题解了一道验证栈序列。

2025-01-17 23:03:11 330

原创 java数据类型,运算符(注意点)(学习)

今天主要学了java语法部分的运算符相关内容,想将java的运算用法以及使用的注意事项与C语言的运算符作对比,区分。今天其实还解了一个单调栈的问题,终于弄明白了。(明天打算整理一下单调栈和单调队列,今天就是先写一下java的学习情况)

2025-01-16 22:33:56 264

原创 java SE初学,洛谷(单调队列,无题解后续再总结)(学习)

今天一共学习了两个部分,如文章标题,一个是java的语法部分,一个是单调队列(其实在这之前还没见过队列,所有把队列的基本东西又学了一下,把题目做了,但其实有些部分掌握的还不太透彻)

2025-01-15 22:25:04 152

原创 洛谷题(栈,接水,约瑟夫)

今天写了三道题,其中两道题的解法使用的是栈,之前也没学过栈的知识点,靠今天写题目学习了一些,一边解题一边总结,如下。

2025-01-14 21:34:24 531

原创 学习数据结构第二天,oj题

今天还将昨天的单词方阵代码搞定了,还写了一道约瑟夫问题(利用数组解决的,我看题解有不少提到链表,但是没太明白,打算之后补一下)明天还会写几道oj题,单词方阵的解题思路和代码,以及约瑟夫问题的解题思路,注意点,代码等等都会在明天一并更新。(明天不打算学数据结构了,课程安排顺序是先学java SE初阶,之后会每天总结所学,学完后再学数据结构)今天学习了数据结构的空间复杂度,以及包装类和泛型(泛型只了解了一点点,暂时不概括)空间复杂度要和时间复杂度加以区分,空间复杂度不是一条语句循环执行就有多少次。

2025-01-14 00:31:40 117

原创 学习数据结构第一天,oj练习题

今天开始学习数据结构,首先是了解什么事数据结构与算法,然后学习了时间复杂度。关于时间复杂度,学习了对于一个代码如何求其时间复杂度的方法,其中比较重要的地方是大O的渐进表示法。这里需要注意:时间复杂度是描述输入条件对时间增长趋势的影响所以就有大O渐进表示法的使用,如下:大O的渐进表示法:1.只留高阶 2.最高项存在且倍数不等于1时,直接将系数视作1即可 3.没有N的相关项,只有常数项

2025-01-13 00:18:15 159

原创 dfs,bfs学习

但是只有48分,目前不知道出错的原因,我下载了样例,打算早起研究。然后是拯救总部这道题,运用的是dfs,这道题的思路还是能够明白的,没有第一天去了解bfs那么迷茫,代码也敲出来了。但是还没有调试,打算早起调试,并且总结一下,整理一下思路。下面我将填颜色和拯救总部的代码分别贴出来,记录一下,方便以后纠错和复习吧。拯救总部:(题目不贴了,因为只是一个记录贴,之后总结的时候再写详细内容吧)填颜色:(这是第一次代码更改之后的情况,部分例子没法正常输出)其实昨天到今天就弄了两个题目,一个是填颜色,一个是拯救总部。

2024-12-21 00:32:25 124

原创 bfs浅学习

看了一些关于广搜的文章,在广搜的讲解中,遇到最多的就是队列。其中会分析习题,然后写出代码,但是基本上每篇都会有含有利用c++中的学习内容,将数据压入队列中或者将队列中最前面的数据舍弃。bfs的逻辑倒是懂了,但却不知道到底应该怎么使用到bfs,这点是之后要着重学习的地方。刚刚写完代码发现调试结果是错的,今天实在忙不完了。明天打算看看是哪里出了问题,然后再给大家讲解思路和代码吧。其实今天还是写了一道有关广搜的习题的,但是看题解还是有部分不明白。看到了一个明白一点的题解了呢又不知道这个程序哪里用了广搜。

2024-12-20 00:26:41 137

原创 C语言函数练习笔记

而b数组是存储字符串的,每次我们都会判断这个字符串是否更大,更大的都放进fina了,小的自然就不需要了,而且我们下一次还要用到这个数组存储下一次得到的字符串,所以b数组也要清除数据。我的方法是,构建一个循环,将字符数组遍历,从数组的第一个字符开始找,如果是字母的话就将这个字母存储到一个数组中,因为要输出的是最长的单词,需要比较大小,那么每次在存储操作的时候,我们就可以计数一次,计数就代表长度。这是需要考虑的情况。2.构建一个自定义函数,函数的主要功能:在字符串中找到所有单词,并比较大小,将最长的单词输出。

2024-12-18 23:03:12 390

原创 C语言自定义函数学习笔记

这里提一个要注意的点,我们在判断X(n-1)-X是否比一个极小值还要小的时候,要考虑到X(n-1)-X为负数的情况,如果为负数的话,虽然比极小值还要小,但是却没有意义。所以我们需要将X(n-1)-X的值变成绝对值。然后学习之后,发现可以这样,char name[10][20],我们可以将每一个姓名看做一个一维数组,20就是给每个姓名所提供的空间,10就是10个姓名。我们可以将f(x)和f '(x)利用自定义函数写出来,每次要调用的时候将更新的x传入这两个函数中,就可以得到新的对应的f(x)和f '(x)。

2024-12-17 22:03:10 221

原创 2024.12.16学习笔记

arr【m++】=sum%10,这条语句本身没有错,但是我在之后用了两个for循环对数据进行排序的时候,取得下标都是从头开始的,将m的定义写在循环外面的话,m每次的数据就会叠加,比如在第一次找到4321-1234=3087后,此时我的m已经等于3。解题思路:先说一下我写这道题的思路吧,其实这道题中要得到最大的数与最小的数,只需要排序,最大的数就是四个数按降序排放(我这里采用的是选择排序),例如1234,重新组成最大的数就是4321。在写程序程序过程中,有不少小错误,要注意的地方,想要总结一下。

2024-12-17 00:11:02 217

原创 2024.12.15学习总结

今天写测试,写了两道,运行没问题,后续的题目还没有看。先把前两道的题目和代码贴出来,这里我认为这两道代码还有改进的地方。目前来看代码写的有些冗余。每天会将代码的逻辑理顺,看看能不能写出更简洁的程序。

2024-12-15 23:22:00 207

原创 防护伞+深搜选数纠错

然后再经过调试,发现在准备求第二个sum,寻找最后一个数的时候 i 已经等于3,再进入下一个dfs后starts就变成了4,而此时 4<4 条件不成立,进不了循环,就无法执行if(x==k)的语句。我们将max设为全局变量,就会让第一个中心点得到的max的值留存下来,之后在求第二个中心点的max的时候,其实就不是以中心点为中心到其他点的距离的最大值了,还加入了上一个点的max进行比较,所以出错。这道题的这个错误代码在输出时,只能得到第一条路线的和,之后的sum都没有存入vc数组中,是什么原因呢?

2024-12-13 23:52:21 316

原创 学习笔记2024.12.12

其实中问题描述中,我们可以得出解题思路--------->从n个整数中,选出k个整数相加,得到一系列的和,其本质就是找到所有不同的路径,然后将路径的“大小”输出。),在全排列中,我们主要看的是路径,比如1,2,3,4这条路径和1,2,4,3这条路径是不同的,而在这道题中因为要求的是一系列的和,那么一条路径中所有数字相同,则代表重复计算,导致结果不准确。这个代码写的有些冗余,因为每次都是递增找节点,所以其实不会有找到重复节点的情况,所以可以将dfs中的标记数据是否用过以及取消标记(回溯)的步骤删除。

2024-12-13 00:11:50 312

原创 学习笔记2024.12.11

这道题的思路其实很简单,我们只需要将每个黑子的点都分别当做中心点,然后计算出中心点到其他点的距离,将最远的距离作为伞的半径,之所以这样是因为只有最远的距离试做半径,才能将所有黑子都覆盖掉。接下来就可以求出种情况的伞的面积,进行比较输出最小的面积,则是题目要求的答案。接下来继续和大家分享一下做的习题(但是最后结果在测试时,只有部分数据能够符合条件,经过调试之后,目前暂时不知问题所在,明天会继续查找,然后和大家分享。(以下是非ac的输入与输出,我写的代码在这个数据的对应输出上运行错误,答案不为右下图的值)

2024-12-11 23:06:53 354

原创 深搜学习笔记2024.12.10

(贴主在写代码时出现了一个错误,这里和大家分享一下,帮助排雷:我们都知道深搜有回溯的步骤,需要将标记过的节点取消标记,但是帖主在调试代码时,发现回溯的步骤虽然执行了,但是却并没有产生对应的效果,于是只找了一条路线就直接返回了,原因也如上图,因为将i设置为了全局变量,导致dfs中回溯部分的i不再是之前标记的i,所以每次让标记为0,都是其他的不存在的点标记为0,失去了回溯的作用)同时因为要求距离,我们得知道上一个点是什么,才能知道上一个到当前点的距离,所以在dfs函数传参时,要将上一个节点传进去。

2024-12-11 00:00:25 432

原创 深搜的简单应用(全排列),步步拆解

解题思路:如何理解这道题的解题逻辑-------->我们可以假设n=3,现在我们需要求出1-3的全排列,因为数据较少,我们可以轻易的列出来,1 2 3 , 1 3 2 ,2 1 3 ,2 3 1 ,3 1 2 ,3 2 1,我们可以观察一下这些数的形成规律,首先从1开始直接按照数字大小,一次排出1 2 3这个排列,之后第二个数发生变化,从2变成3,然后再找到除了用过的数1 3以外的其他数作为第三个数,即1 3 2.那么这里我们就找到了1为首元素的所有排列。2024.12.09学习笔记。

2024-12-10 00:11:58 251

原创 2024.12.08学习笔记

2.

2024-12-08 23:31:39 1461

原创 C语言数据类型

数据类型知识分享

2024-10-04 18:16:23 600

原创 个人第一篇博客

个人介绍:目前是一名2023级建筑学专业的学生,目前的打算是通过c语言的学习,希望成功转入本校的计算机科学与技术专业学习。我们的专业成绩主要靠平时的作业来进行综合考察,其中美术需要考试,而这些没有固定标准的考察,也使得对自己成绩没法把握,可能花了很多心思,最后的结果可能没别人突发奇想甚至随便弄成绩高。打算如何学习编程:首先是要去学习基础知识,比如c语言等,在学习的过程中通过自己的实践去练习编写代码,我认为这是一个循序渐进的过程,当然实践是最重要的。

2024-03-05 13:56:51 194

空空如也

空空如也

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

TA关注的人

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