- 博客(27)
- 收藏
- 关注
原创 数据结构学习——队列
队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表满足先进先出避免只有一个元素时,队头和队尾重合使处理变得麻烦,引入front指针指向队头元素,rear指针指向队尾元素的下一个位置,当front=rear时,为空队列顺序存储不足,采用循环队列当front=rear时,可能空可能满,所以。
2024-10-05 00:18:14 327
原创 数据结构学习——线性表的链式存储(单链表)
若线性表为空表,则头结点的指针域为空p是指向线性表第i个元素的指针,p->data的值是一个数据元素,
2024-10-03 17:15:42 194
原创 数据结构栈——中缀表达式转后缀表达式
我们平常所用的如9+(3-1)*3+10/2叫做中缀表达式,后缀表达式为9 3 1 - 3 * + 10 2 / +,而后缀表达式更容易被计算机所理解计算,我们需要利用栈将中缀表达式转成后缀表达式。规则:从左到右遍历中缀表达式中的每个数字和符号,遇到数字就输出,遇到符号,判断与栈顶符号的优先级,是右括号或优先级不高于栈顶符号,将栈顶元素依次出栈并输出,并将当前符号进栈,直到输出后缀表达式为止。注:括号在后缀表达式中不出现,但括号在处理过程中是需要进栈的,当匹配到右括号时,将左括号后面的符号全部输出。
2024-09-24 20:14:38 235
原创 python学习——运算符
(1)第一个标识符必须是字母表中中字母或下划线(2)python最具特色的就是使用缩进来表示代码块(3)我们可以使用反斜杠 \ 来实现多行语句,在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \(5)字符串有两种索引方式,从左往右以0开始,从右往左以 -1 开始(6)字符串切片 str[start:end],其中 start(包含)是切片开始的索引,end(不包含)是切片结束的索引。(7)字符串的切片可以加上步长参数 step,语法格式如下:str[start:end:step]
2024-09-02 22:36:01 1070 1
原创 6.24 学习笔记——配置nodejs环境及初识umi
5、启用 Prettier (使用 npm)是一种代码格式化工具,用于自动格式化代码,以保持代码风格一致,提高代码的可读性和可维护性。能够看到 Umi.js 的初始项目运行界面。2、使用 npm 创建项目。cmd窗口进入到根目录。4、打开浏览器查看项目。
2024-06-24 21:27:54 249
原创 【c语言篇】经典100例之第1-5例
注:一开始我的想法是在if语句中判断相等,break,但是只能break一个for循环,结果会出错,所以判断不相等,再进行打印,return 0,可加可不加,为了规范,还是加上。我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。6、由于 i * j = 168, j>=2,则。
2024-03-19 19:58:05 1812
原创 【python篇】pandas详解
以下是关于 Pandas 中的 Series 的详细介绍: 创建 Series: 可以使用 pd.Series() 构造函数创建一个 Series 对象,传递一个数据数组(可以是列表、NumPy 数组等)和一个可选的索引数组。以下实例使用 ndarrays 创建,ndarray 的长度必须相同, 如果传递了 index,则索引的长度应等于数组的长度。to_string() 用于返回 DataFrame 类型的数据,如果不使用该函数,则输出结果为数据的前面 5 行和末尾 5 行,中间部分以 ... 代替。
2024-03-11 21:47:56 979
原创 【c语言篇】每日一题-pta-实验11-2-1 建立学生信息链表
对于一个还没有学数据结构的人来说,力扣上的链表题着实有些难了,转战场地,开始刷pta上的。
2024-03-04 22:28:34 512 1
原创 【python篇】在jupyter notebook中使用numpy
小端字节序(Little-endian):最低有效位(LSB)位于最低地址(较小的字节地址),最高有效位(MSB)位于较高的字节地址。1、数组:可以通过索引去获得元素,可以切片,可以迭代打印所有数据,与python中列表不同的是数组里的数据类型需要统一,而列表里的数据类型不需要统一,其效率高。返回选取元素的一维数组。索引掩码是用索引的长度生成一个新的数组,数组中的元素采用索引列表中的数字在原列表中取数据再放入索引中对应的位置。类型代码:M8[Y] M8[M] M8[D] M8[h] M8[m] M8[s]
2024-03-04 09:33:30 2991 1
原创 【Leetcode每日一题】 83.删除排序列表中的重复元素
然后创建一个指向头结点的指针current来遍历整个链表。读题不仔细,老是粗心,写代码一定要标上注释,更有助于理解。挨个比较当前结点和当前结点的下一个,相同就将后一个删除。首先考虑链表为空时,直接返回头结点。不相同后继续向下遍历。
2024-03-03 16:35:23 387 1
原创 【Leetcode每日一题】 21、合并两个有序链表
认识到自己的代码能力有待提高,所以想着每天刷一道题来巩固提升一下,写代码的过程就是从宏观-微观-宏观,不断修改调整,加油!然后创建一个哑结点(不包含任何内容的),比较两个链表中当前指针所指向的的数字大小,将指针进行相应的移动。最后,考虑有剩余结点的可能,返回头结点的下一个(头结点为哑结点,无用 )首先考虑链表1,链表2为空的情况。
2024-03-02 15:43:59 329
原创 梯度提升决策树GBDT
梯度提升树(Gradient Boosting Decision Tree,GBDT)是提升法中的代表算法,是工业界应用最多、在实际场景中表现最稳定的机器学习算法之一,它融合了Bagging和Boosting的思想,扬长避短,可以接受各类弱评估器作为输入,在后来弱评估器基本被定义为决策树后,才慢慢改名为梯度提升树,GBDT中自然也包含Boosting三元素:1、损失函数L(x,y):用以衡量模型预测结果与真实结果的差异2、弱评估器f(x):(一般为)决策树,不同的boosting算法使用不同的建树过程。
2024-02-22 18:34:17 1056 1
原创 分类算法之随机森林(Random Forest Algorithm)
算法的具体步骤为:假设有一个大小为 N 的训练数据集,每次从该数据集中有放回的取选出大小为 M 的子数据集,一共选 K 次,根据这 K 个子数据集,训练学习出 K 个模型。集成学习的优势是提升了单个估计器的通用性,比单个估计器拥有更好的预测性能,集成学习的另一个特点是能方便的进行并行化操作。上图展示了随机森林算法的具体流程,其中结合器在分类问题中,选择多数分类结果作为最后的结果,在回归问题中,对多个回归结果取平均值作为最后的结果。集成学习的目的是通过模型组合,提高整体预测的准确性和稳定性。
2024-02-20 17:55:58 995
原创 分类算法之决策树(Decision Tree)
决策树,顾名思义,就是帮我们做出决策的树,生活中我们遇到各种各样的抉择,我们的决策过程就是一个树的模型,通过对一系列问题进行if/else的推导,最终实现相关决策例如:在选择瓜的时候我们认为色泽、根蒂、敲声是一个西瓜的三个特征,每次我们做出抉择都是基于这三个特征来把一个节点分成好几个新的节点,在我们的问题中,决策的内容是将结果分成两类, 即是(1)否(0)好瓜,这一智类决策问题被称为分类问题,决策树是一种简单的处理分类问题的算法。
2024-02-19 23:29:24 2575 1
原创 分类算法之逻辑回归(Logistic Regression)
将输入特征与某个类别之间的概率关系建模,特别用于解决二分类问题,通过给定的n组数据(训练集)来训练模型,并在训练结束后对给定的一组或多组数据进行分类,其中的每一组数据都是由p个指标构成--主要用于二分类问题。
2024-02-18 23:43:54 1279
原创 学习收获--模拟除法
运算过程:被除数s对除数进行整除,结果存入,在进行取余,使取余结果*10(十进制)加上下一位,组成新的被除数,不断循环。。通过这种模拟除法的操作我们可以对较大数据进行运算。例子如下:这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s。
2023-11-12 18:42:33 99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人