摘要: 原码、反码和补码都可以作为计算机中数值的编码形式,而目前通用的是补码,那么为什么不是原码和反码呢? 1 计算方法 原码、反码和补码的计算公式很容易理解,原码就是符号位+绝对值,正数的反码等于原码,负数的反码在原码的基础上,符号位不变,其余各位取反,补正数的补码等于原码,负数的补码等于其原码+1. 2 阅读全文
posted @ 2023-03-12 17:40 BeLady 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 牛顿迭代法用于求解方程的近似解,今天简单记录下与之相关的理论知识. 1 公式 设求解$f(x)=0$的根,选取$x_{0}$作为迭代的初始值; 过$(x_{0},f(x_{0}))$做$f(x)$的切线,与$x$轴相交于$x_{1}$; 选取$x_{1}$作为下一步迭代值,重复以上过程。 则第$n$ 阅读全文
posted @ 2023-03-12 16:22 BeLady 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 快速幂是二分法的典型应用,其计算复杂度是Ο(logn),其递归函数总结如下: $$ a^{n}=\begin{cases}a^{n-1}*a & \ if\ n\ is\ odd \\a^{\frac{n}{2}} * a^{\frac{n}{2}} & \ if\ n\ is\ even\ but 阅读全文
posted @ 2023-03-12 15:18 BeLady 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 一直以来都认为快速排序是最优的排序算法,所以认为STL中的sort函数也采用快速排序,但事实好像复杂的多。 1 问题思考 数据量大和数据量小都适合用快速排序吗? 递归过深会引发什么问题? 怎么控制递归深度?如果达到递归深度了还没排完序怎么办? 2 问题解答 数据量小不适合用快速排序,因为频繁的递归调 阅读全文
posted @ 2023-03-12 14:53 BeLady 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 排序算法有很多,但适用的场景不尽相同,今天就做个总结,关注时间复杂度、稳定性,最好情况和最坏性能。算法稳定性的含义参见对排序算法稳定性的理解 - BeLady - 博客园 (cnblogs.com) 1 插入排序 1.1 直接插入 原理 将元素插入到已排好序的序列中,插入时需要与已排好序的序列进行多 阅读全文
posted @ 2023-03-12 13:43 BeLady 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 之前上课提到排序算法的稳定性,知道大体是个什么意思,但是具体的意义依旧不清楚,因此记录一下。 定义 排序之后让相同的值维持相同的次序 意义 与具体需求有关,如果只是单纯对数值进行排序,算法稳定性没有意义;如果排序需要以初始顺序作为基础,算法的稳定性就有意义 例子 给定一组原本按照价格高低排序的对象, 阅读全文
posted @ 2023-03-12 10:22 BeLady 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 1 pip install gin-config==0.1.1 本人研究牲一枚,敬请各位大佬批评指正~~~ 阅读全文
posted @ 2023-03-08 20:08 BeLady 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 进行机器学习模型训练和评估时,经常碰到三种类型的数据集:训练集、验证集和测试集。这三种数据集的区别是什么呢? 训练集。用于训练模型,调整模型内部参数,使模型尽可能的拟合其数据样本; 验证集。用于调整模型的超参数和对模型的能力进行初步评估,以决定是否停止继续训练; 测试集。评估最终模型的泛化能力,只能 阅读全文
posted @ 2023-03-07 21:30 BeLady 阅读(162) 评论(0) 推荐(0) 编辑