自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MF(推荐系统的矩阵分解技术)论文笔记

推荐系统的可以为用户提供更为准确的个性化推荐,对比传统的,矩阵分解技术可以纳入更多信息,如和近邻技术:基于用户或物品之间的相似性进行推荐,当用户之间已有评价计算出两个用户爱好类似,就将a用户的其他物品推荐给b,在实际推荐计算时不再使用大矩阵,而是使用分解得到的两个小矩阵。

2024-04-27 09:12:37 1817

原创 python内存管理和垃圾回收一文详解(基于c语言源码底层逻辑)

首先我们大概回忆一下C语言中的环状双向链表,如图,在双向链表中对于一个结点来说会有前驱和后继:在python中,这个环状链表C源码的表示如上,可以发现在它分为PyObject和PyVarObject两个结构体,在python底层C源码中每个类型都有其对应的结构体是结点的固定变量(指向上一个的指针、指向下一个的指针、引用计数器、数据类型)构成的结构体是有多个元素组成的对象(例如一个列表L=['a','b','c'])构成的结构体我们把目光看到。

2024-03-14 21:07:42 926

原创 python元类实现单例模式

2. 当Foo类实例化的时候,会调用元类的call方法,我们将call方法中的init方法稍作变化,优先判断是否有对象,没有才创建。在创建类Foo的时候创建一个类变量,用于存储刚开始创建的对象,并且后续在程序中再创建一次只会得到同一个对象。1. 在元类初始化的时候创建一个变量instance,让他的默认值为None,该变量用来判断是否创建过对象。可以在Foo的元类中进行修改,在元类MyType调用new和init创建类时进行一些扩展。单例模式是一种创建型设计模式,此外,需要注意的是,

2024-03-14 16:59:21 483

原创 线性表、有序表的合并问题(线性表的应用)

现要求将La和Lb归并为—个新的线性表Lc,且Lc中的数据元素仍按值非递减有序排列。假设利用两个线性表La和Lb分别表示两个集合A,B,现要求求出新集合A=AUB。具体函数实现参看线性表的基础部分。无论使用链表还是顺序表均可以实现。已知线性表La和Lb中的数据元素。

2024-03-14 12:32:15 352

原创 python元类(type)

此时Foo就是由mytype创建的类,那么当Foo被创建的时候,就会调用mytype里面的方法(类似于mytype类创建出了一个Foo对象)类默认是由type创建的,那该怎么让一个类的创建改成由别的东西来创建呢?2. 程序接着执行类中的init方法,初始化该空对象 -----初始化方法。1. 程序自动帮你调用new方法、创建对象(空对象)-----构造方法。上面这两种创建方法其实都是由type创建,只不过第一种更为直观而已;那么类是由谁创建的呢?所以:对象是基于类创建出来的。类默认是由type创建的。

2024-03-12 10:35:40 362

原创 python面向对象中的__call__方法

方法后,该类的实例就成为了可调用对象(callable)。这意味着你可以像调用函数那样使用类的实例,即在实例后面加上括号。这种机制通常用于那些需要以类似函数的方式调用的对象,比如某些特定的设计模式中的类。方法,则无法通过实例加括号的方式直接调用实例的方法或属性。方法时,实例才能像函数一样被调用。在Python面向对象编程中,需要注意的是:只有当类定义了。

2024-03-12 10:34:44 432

原创 循环链表(c++)

合并带尾指针的循环链表。时间复杂度为O(1)

2024-03-10 20:43:04 515

原创 时间复杂度

算法复杂度:O(logn)执行2次-----2^2。执行3次-----2^3。执行k次----2^k。执行1次-----2。

2024-03-10 20:22:17 332

原创 单链表的基本操作--增删改查

销毁 – 从头指针开始,一次释放所有的结点。取值 — 取单链表中的第i个元素的内容。插入 — 在第i个结点插入新结点。计算表长 – 不算头结点。删除 — 删除第i个节点。

2024-03-10 20:05:14 363

原创 递归算法三个经典例题(c++)

求解比原问题少一个数字的全排列问题,实现了将大问题变成一个小问题。设计递归算法生成n个元素R={r1,r2,r3…求解5开头的{5,3,2,1,6,9}的全排列 ……求解4开头的{5,3,2,1,6,9}的全排列。排列{4,5,3,2,1,6,9}大的永远不能在小的上面。输入:n=12345。

2024-03-10 15:58:08 627

原创 求递归算法时间复杂性

f(n)的渐进上界是以n的log以b为底的e次幂。判断关系后一定要满足这三个对应规则。规则一:棋盘覆盖的时间复杂性。规则二:归并排序的时间复杂性。规则三:时间复杂性的递归定义。要求:a>=1,b>1。

2024-03-10 11:04:07 367

原创 线性表—顺序表

定义:用地址连续的存储单元依次存储线性表中的数据元素。特点:逻辑相邻则物理位置也相邻。优点:减少空间浪费、随机存取。

2024-03-04 19:18:23 370

原创 python数据和分析——pandas基础内容

Pandas 的两个主要的数据结构是 Series 和 DataFrame:直接创建指定索引字典创建修改 Series 对象的数据类型(dtype),可以使用 方法。astype() 方法允许将 Series 中的数据转换为指定的数据类型查询索引和值:读取外部数据DataFrame创建直接创建索引字典访问列访问行添加新列:删除列:添加新行:删除行:查询info(): 提供有关DataFrame的基本信息,包括列名、非空值数量、每列的数据类型等。在上面的示例中,in

2024-01-24 20:20:55 842

原创 python数据分析——numpy基本用法

在上面的示例中,我们有一个二维数组 [[1,2,3], [4,5,6], [7,8,9]]。例如,如果有两个形状为 (M,N) 的二维数组 a 和 b,则 np.dstack([a, b]) 会返回一个形状为 (M,N,2) 的三维数组。在上面的示例中,np.eye(4, k=2) 创建了一个形状为 (4,4) 的单位矩阵,其中主对角线向右偏移两位。a是一个二维数组,在花式索引中,第一个列表 [1, 1, 3] 表示要获取的行索引,第二个列表 [2, 3, 0]表示要获取的列索引。

2024-01-23 16:02:47 947

原创 python数据分析——Matplotlib基本用法

函数来设置图形的背景色。设置背景色:可以使用。

2024-01-22 16:21:10 416 1

原创 python中tkinter/gui可视化界面

创建了一个标签,其中的text参数指定了标签的文本内容为 "姓 名: "是将该标签放置在网格布局中的指定位置。

2024-01-22 12:11:50 397

原创 【Java】helloworld

【代码】【Java】helloworld。

2023-09-25 16:02:09 158

原创 CMD//

常用cmd命令盘符名称+:dir 查找该盘下的目录cd 目录 进入目录cd.. 返回上一级目录cd 目录1\目录2… 进入多级目录cd\ 回到盘符目录cls 清屏exit 退出命令行窗口

2023-09-25 14:53:11 102

原创 【C语言】标准头文件结构

【代码】【C语言】标准头文件结构。

2023-09-17 16:21:52 87

原创 【C语言】宏

define<名字><值>没有结尾的分号名字必须是一个单词,值可以是任何东西#define pi3.1415926# define pi 3.1415926 //定义一个宏 pi是这个宏的名字 3.14159是这个宏的值如果一个宏的值中有其他宏的名字,也会被替换如果一个宏的值超过一行,最后一行之前的行末要加宏的值后面出现的注释不会被当作宏的一部分没有值的宏#define PI3.142PIprintf//6.28 PRT;;//6.28 PRT;printf。

2023-09-17 15:32:34 104

原创 【C语言】联合union

【代码】【C语言】联合union。

2023-09-15 11:17:36 223

原创 【C语言】类型定义typedef

用于声明已有的数据类型的新名字//使得length成为int的别名,此时length就可以替代int出现在变量定义和参数声明的地方:int month;int day;int year;} Date;如果没有typedef则该代码声明一个Date的变量有typedef后意思为整个struct对象有了一个别名Datetypedef char* Strings[10]//String是10个字符指针的数组类型。

2023-09-15 10:37:40 76

原创 【C语言】结构

结构与函数 - 整个结构可以作为参数传入函数 - 此时在函数内部新建一个结构变量,并赋值调用者的结构的值 - 函数也可以返回一个结构

2023-09-15 10:24:07 50

原创 【C语言】枚举

定义的符号常量彼此之间有关联的时候可以用枚举。

2023-09-10 16:54:30 33

原创 【C语言】动态内存分配

引:如果输入数据的时候,先告诉你个数,然后再输入,要记录每个数据。

2023-09-10 16:13:22 27

原创 【C语言】数组

【代码】【C语言】数组。

2023-09-10 15:33:32 35

原创 学生管理系统

【代码】学生管理系统。

2023-09-04 14:39:07 36

原创 【C基础】指针

获取变量的地址值,它的操作数必须是变量;变量的地址值与类型是否相同要看编译器。在普通变量内会放实际的值,但是在指针变量内,只会放别的变量的地址值。sizeof用于给出某个类型或变量在内存中占据的字节数。a,b相邻排列,并且正好相差4个字节即一个int的字节。访问指针的值所表示的地址上的变量 -->特别注意:不可以对没有地址的东西取地址。简单来说,指针就是用来保存地址的量。

2023-08-18 14:47:52 45

原创 C语言参数传递问题(本地变量)

执行到swap(5,6)此刻传值给下方的函数定义处,但是函数定义处修改的值是函数的参数,swap(a,b)只是传递了值,对于main函数中的a,b值并没有改变。此时函数声明和原型中都是参数,但是main函数中函数调用时是确切的值,函数每次运行,就产生了一个独立空间,在这个空间中的变量,是这次函数运行所独有的,称作。函数传过去的只能是参数,它不是地址值,如果用引用的话,它就传的是真实值,你那传的它值在函数内部变了。

2023-08-08 10:51:28 48

原创 JS原生项目练习

该功能插入了一个超链接,可以让用户更加便捷发布自己的内容作为第一个原生JS项目,对于环境变量的配置,以及json-server的使用依旧需要增强,有关ajax也要增强练习,提高熟悉度,而且该项目所耗时长较久,独立完成性不高。大致而言,这次js原生项目的演习很好的锻炼了有关前后端模拟交互的场景,也将接下来学习的重点锁定在不熟练的领域,有效的认识到了不足之处,该网站后续仍然可以精进。

2023-02-05 23:47:46 128

原创 jQuery笔记

p是一个jQuery 创建的元素节点,但是是一个复杂数据类型的变量,存储的是一个地址,只要我使用同,就是在使用堆里面得哪个空间。-〉获取使用data()方法存储的数据,获取元素身上 data-xxx的属1=>语法:元素集合.data(属性名,属性值)->设置的时候,只是把数据存储在元素身上的某一个对象空间内->但是不会出现在标签上,不会由data-xxx的属性出现。=〉语法:元素集合.width()或者元素集合.height()=>获取的是元素内容位置的尺寸。

2023-02-02 18:26:38 85

原创 Python基础笔记

内部id不可以改变,如果内部元素为可变元素就可以改变,比如里面是列表就可以在列表内部变化,这样列表的id不会发生变化。a+表示追加,open打开文件,如果文件不存在,就创建,存在就在这个文件的后面继续追加。中文编码声明注释–>在文件的开头加上中文声明注释,用以指定源码文件的编码格式。默认从最后一个开始删除,给定索引就删除索引位置,删除元素会重新构成新数组。,可以指定reverse=true,进行降序排序,原列表不发生变化。,列表中的所有元素默认按照从大到小的顺序进行排序,可以指定。

2023-01-28 20:46:30 168

原创 ES6笔记

let变量声明// 1.必须先定义在使用 let a = 100 console . log(a) // 2.可以辨析变量重名问题 let name = "candy" let name = "judy" //报错,let声明的变量不能重名 var name = "sss" var name = "zzz" //相当于赋值 // 3.块级作用域 // 只会在{}内部起作用 var arr = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ] for(let i = 0;i ++) {

2023-01-20 18:11:07 100

原创 省市区三级联动

通过三个下拉菜单的联动来实现,第一级下拉菜单为省级,第二级下拉菜单为市级,第三级下拉菜单为区级。当点击第一级下拉菜单,第二级菜单的内容会自动匹配;选择第二级菜单时,第三级菜单会自动生成。当我取消上一级菜单的选项时,次一级选项会自动消失。3.当省级菜单发生变换的时候,先将市区全都设为【请选择】,再利用多层循环嵌套,确定每个省级元素对应的市级菜单内容,再将市级菜单元素一一对应区级菜单元素。2.利用创建节点的方式将每个省市区名称放入下拉菜单中。1.建立一个数组,分别将省市区以嵌套的方式写入数组。

2023-01-15 20:14:08 498

原创 JS实现简易时钟

上面的时钟,利用循环创建60个li标签,分别利用不同的偏转来实现在不同的位置上,再创建三个li标签设置宽度和高度来充当指针,将指针放入定时器中,每隔一秒转移一步。上方是简易的刻度时钟,下方是电子时钟,上下的时间需与北京时间实时对应。下面的时钟直接获得现在的时间就可以完成。

2023-01-15 17:32:44 2211

原创 轮播图JS

1.鼠标不在图片上方时,进行自动轮播,并且左右箭头不会显示;当鼠标放在图片上方时,停止轮播,并且左右箭头会显示;2.图片切换之后,图片中下方的小圆点会同时进行切换,并且点击相应的小圆点可以切换到相应的图片上;循环创建小圆点,给每个小圆圈添加索引号,获得每个圆圈的索引,用索引*图片的宽度就是ul的移动距离。鼠标移入显示左右按钮onmouseover/onmouseout。创建定时器来使得图片可以移动,从而达到切换图片。3.点击左右箭头可以进行左右图片的切换;

2023-01-14 14:14:55 545

原创 放大镜效果

在左侧一个盒子内放入一个遮挡层和一个放大盒子,给这两个盒子定位,设置鼠标移入图片显示两个正方形,获取鼠标在盒子内部的坐标,利用鼠标的坐标来改变两个盒子的移动坐标,从而达到鼠标移动在不同位置在外部的盒子能特定展现出图片的某一部分。1.鼠标移至图片上方,鼠标周围出现黄色的的正方形框,黄色矩形框会随着鼠标的移动而移动;2.将黄色正方形框里的内容的长和宽均放大2.4倍,并在图片右边进行显示。

2023-01-14 10:50:31 396

原创 滚动弹幕(JS/HTML/CSS)

创建两个数组分别装文字颜色和大小,将上面box里放入input输入的内容,用span标签包裹,利用定时器实现文字从左向右滚动,每隔一段时间向右移动一段距离,如果弹幕滑到可视区域以外就被销毁。1.页面上漂浮字体大小不一、颜色不一,从左向右滚动的弹幕;2.底部中间有一个发送功能,可以发送新的弹幕;3.底部的发送部分可以向下收起和弹出。

2023-01-13 22:32:11 1504

原创 发送验证码

利用disabled=true/false来控制按钮是禁用还是启动;点击发送按钮,开启一个倒计时,倒计时结束之前发送按钮不可以使用,分别用到两个计时器setInterval和setTimeout;当倒计时开始的时候修改按钮内部的内容,用来保存倒计时数字;3.待发送按钮被触发后才可以点击提交按钮,需在验证码框里填写0505,用弹窗提示成功。2.被点击后,按钮里面的内容会变化成1分钟的倒计时;1.发送按钮点击后,会被禁用;

2023-01-13 16:22:37 486

原创 随机点名(HTML/CSS/JS)

分为上下两个部分,上方为显示区域,下方为控制区域。显示区域显示基地所有成员的工号和姓名,控制区域由开始和结束两个按钮组成。点击开始按钮,显示区域里的内容开始滚动,点击结束按钮,内容滚动停止,随机显示一位成员的工号和姓名。利用setInterval定时器,点击开始按钮后,利用数学方法结合数组随机生成一个数字,将该数字作为被抽中的人在数组中的序号,点击暂停后,定时器停止,得出被抽中的数组序号,将该值插入html中显示。

2023-01-13 16:07:33 829

空空如也

空空如也

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

TA关注的人

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