自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 寒假刷题-dfs

指数型递归指的是给定的数组中的每个数都有x种选择,那么时间复杂度就为x的n次方,在这道题中,1-n的每个数字都有两张选择,选或不选。那么本题的时间复杂度就是2的n次方,方案数也是2的n次方,这是指数递归问题。2的15次方为32768远远小于1e8,可以使用指数递归解决。选的话会把count + 1传给下一层,而后不选会把count传给下一层。所以之前的 q[count] = x;对不选是没有影响的,因为不会访问到。选和不选是可以交换位置的。

2024-02-15 23:36:24 976

原创 寒假刷题-二分与前缀和

使用浮点数二分,题目要求保留六位,那二分的条件就写while(r-l>1e-8),当右边界与左边界的差值大于1e-8,比如说1.23333334和1.23333335这俩是都满足题意的。如果cheak函数满足,那说明蛋糕店长度还可以变大,将mid赋值给l,如果不满足,说明蛋糕太大了,将mid - 1赋值给 r.每个台阶都有能量,跳过这个台阶,如果总能量E大于这个台阶的能量H(i),那么总能量会减少H(i)-E,如果总能量大于H(i),总能量会增加E-H(i),两者整合以下公式会发现公式是一样的。

2024-01-23 17:20:44 866

原创 python期末实训-学生成绩管理系统

通过输入框获得学生的信息后,先判断学生是否存在,若存在则对数据库进行修改,然后查看这个id在id_list的第几个位置,因为id在id_list的位下标ndex一定是等于列表数据在tree中的index,通过index就可以实现tree的更新。之前的查询都是使用程序运行时的列表进行操作,但是因为这个功能要按条件搜索,所以要对列表重新赋值并展示。程序第一次执行时,会对数据库进行查询,将查询到结果放入列表中,然后在对列表中的数据进行遍历,将数据放入到tk的treeview中(也就是tk的表格中)

2024-01-21 20:36:57 2885

原创 归并排序与逆序对

三种情况组成的逆序对相加就是数组的全部逆序对,对数组的左右两边排序,对第三种条件的计算会方便很多。题目的意思是数组前面的数比后面的大就能构成一对逆序对[2,1],[3,1],[4,1],[5,1],[6,1]正好五对。//当两个数组都有剩余元素进行循环如果左边数组小,将左边数组元素放入tmp,指针向后移动一位,数组长度k++,反之数组右边元素放入tmp,指针向后移动一位,数组长度++;那么另外的数组的剩余元素的第一个一定大于tmp[k],只需将剩余数组的元素平移到tmp即可。//递归函数的出口。

2024-01-21 20:31:54 578

原创 Maven下载与配置

配完后打开命令行输入mvn -v 如下即为成功。将maven仓库的中的默认路径改成自己的本地仓库。复制目录去配置环境变量MAVEN_HOME。复制到没有中文路径的目录下。

2024-01-18 23:21:52 531

原创 javaweb初学必备tomcat配置

链接:https://pan.baidu.com/s/1hwTnofVDGo_ibK0wyusbGg。将这个文件夹移到D盘或者别的盘,别放c盘就行。我有两个是因为之前安装过,又安一个。这里有各种版本的tomcat,免安装版,安装包版,linux版。然后还需要配置JAVA_HOME,学习java的时候应该都有。然后到tomcat文件夹的bin目录,选start.bat。因为下载太慢,贴个百度云,为免安装版,tomcat8。点进去其中刚才复制的文件夹,复制路径。点击属性,总之要找到这个系统属性。

2024-01-18 22:37:05 365

原创 寒假刷题-递归与递推

观察题意可以发现能影响灯本身的除了灯自己还有灯上下左右的灯,可以枚举第一行灯的32种按法,记得备份原数组,然后从第一行按到第四行,第i行可以通过第i+1行的灯来控制,遍历完第四行后,看看第五行还有没有灭的灯,如果有的话,那这个方案就是不可行的。上一个的每个坑位的数字是固定的,可能有或没有,这个题的每个坑位的数是不固定的,且必须有。和费解的开关类似,只不过这个题的数量比较下,所以枚举所有行的全部可能,共65536种,对每一种方案进行操作,记录最少的方案数。每个坑位有2钟选择,n个坑位的复杂度就是2的n次方。

2024-01-15 22:39:37 2188

原创 数据结构-堆(插入,删除,向下向上调整)

n个元素的序列{k0,k1,k2…kn-1}当且仅当满足下列条件时,称之为堆ki=k2i+2(大根堆) 这种序列可以对应到一维数组中。将数组看成一个完全二叉树。并且所有分支节点的值都大于等于或小于等于其子节点的值。所以数组的第一个元素永远是最大或最小的。二叉树中当前下标为i,左孩子为2i+1,右孩子为2i+2。

2024-01-10 01:28:10 1127

原创 循环队列图解

本文通过画图详细介绍了循环链表的各种实现逻辑。

2024-01-04 08:49:39 415

原创 栈与队列实现与练习

本文讲解了队列与栈的基本实现和练习题,帮助初学者更好的理解

2023-12-24 02:46:13 1005

原创 带头双向循环链表ListNode详解

这种数据结构很大程度上弥补了单链表的缺点,使增加和删除节点的时间复杂度减小,使用头节点也解决了函数传参的二级指针问题。

2023-12-20 00:26:51 1381

原创 单向循环链表练习

使用一个指针代表前一个,一个指针向后移动,循环当quick没走到尾时,如果quick指向的值和val相等,判断pre是否指向的时NULL,如果pre为NULL,那就说明目前没有符合条件的节点,这个节点也是没用的,将quick指向quick的下一个节点,将head也指向quick的下一个节点,如果pre不为NULL,说明目前已经有符合条件的节点了,那么pre->next=quick,所以将pre->next设置为quick->next,quick=pre->next,因为这个节点是不符合要求的。

2023-12-18 19:23:10 841

原创 链表SListNode(无哨兵位)c语言实现

本文讲述了链表的基本实现,适合初学者学习

2023-12-12 00:28:05 106

原创 力扣数组练习

数组元素向右移动k个单位,等价于移动k%n个单位,因为如果k是数组长度的整数倍,那就相当于没有移动。移动完后数组前面是k%n个元素,后面是k%n到n-(k%n-1)。我们可以将数组全部翻转,这样数组尾部的元素就到了头部,在翻转0-k%n-1与k%n到n-1。

2023-12-07 23:01:09 54

原创 数据结构-顺序表SeqList详解(增删改查C语言实现)

线性表之顺序表c语言版本详细介绍

2023-12-07 01:20:18 395 1

原创 动态内存管理

在调用方法的时候动态申请了内存,方法结束没有释放那块内存,那就永远找不到那块内存了,那块内存的空间也无法释放,所以在函数里申请内存,函数的返回值必须为申请内存的地址。free函数不会改变p指针存储的地址,只会释放p指针指向内存存储的值,所以为了避免多次释放,在free后要将指针置为Null,free(Null)不会出现错误。p是形式参数,p的值是str的临时拷贝,所以给p开辟空间只是给形参开辟了一块空间,当函数结束,形参就会被销毁,这块空间就无法释放,也无法给str赋值。开辟的空间除了结构体就是柔性数组。

2023-10-06 02:09:53 83 1

原创 C语言简易通讯录实现

包含引入头文件和函数声明。将数组中的元素初始化成0。

2023-10-01 22:44:32 353

原创 自定义类型详解

int x;int y;}p1;//声明类型的同时创建变量,p1为全局变量//定义结构体类型变量p2//定义结构体类型变量p3并赋值//p1 p2 p3 都为全局变量struct Stuint age;struct Stu s = {"张三",29};//初始化int data;return 0;位段的成员必须为int us int sint位段的成员后边有一个冒号和一个数字比如struct Aint _a:2;int b:5;int c_:10;

2023-09-25 20:36:29 80 1

原创 字符函数和字符串函数

字符串中\0为结束标志,strlen函数返回的是在字符串中\0前的字符数量(不包含\0)参数指向的字符串必须以\0结束函数的返回值为size_t(无符号整型)

2023-09-22 18:00:05 92 1

原创 js笔记(v1.0)

js中代表字符串需要用引号引起来单双引号都可以但是不可以混着用相同引号不可以嵌套 可以使用转义字符\转义。

2023-09-20 11:26:06 68 1

原创 方便自己记忆的二分

假设一个数组全是相同元素,那么就需要使l向r逼近,l=mid,那么if条件就是arr[mid]>1 mid=0 arr[0]

2023-09-18 21:19:54 48

原创 指针进阶篇

*++cpp,cpp存储的是char**类型的变量,++cpp将cpp指针向后移动一位指向c+2的地址*cpp指向c+2,**cpp代表c+2的地址。cpp[-1]表示cpp指向向前移动一个元素,等于c+2,*(c+2-1)=*(c+1)=N的地址,加一等于E的地址,输出ew。cpp[-2]=cpp指针向前移动两个元素,等于c+3,*(c+3)=P的地址,在加三等于S的地址,输出ST。此时cpp指向c+2的地址,*++cpp=c+1.*–c+1+3=*c+3=E的地址,所以输出ER。

2023-09-17 22:12:48 58 1

原创 模拟实现库函数qsort

更改buble_sort函数的参数,要想对多种数据进行排序,数组的地址需要使用void*来接收,然后通过参数size可以知道每个元素所占的字节大小,将void*转化为char*。就可以算出要操作的元素的地址,swap函数也需要传入两个地址,同样用void指针接收,然后获得每个元素的字节数,一个字节一个字节的交换,最后就可以成功交换。冒泡函数的外层控制循环次数,一共n个数字比大小,每次找出一个最大的,当第n-1次找完之后,就只剩一下一个最小元素了,所以控制外层循环为n-1次。只需创建排序函数将参数传入即可。

2023-09-15 21:22:30 67 2

原创 指针进阶教程

int (* p[10])(int),本质上是一个数组 指针数组---char * arr[]存放的是字符指针 整型指针数组---int * arr2[]存放的是整型指针 函数指针数组是数组,数组的元素是函数指针,也就是函数的地址。数组指针---指向数组的指针---存放的是数组的地址---&数组名得到 函数指针---指向函数的指针---存放的是函数的地址---函数名也是函数的地址。sizeof数组指针可以获得数组的全部长度,所以数组指针存放的是数组的地址,而不是数组首元素的地址。

2023-09-11 13:48:17 182

原创 数据在内存中的存储

什么是大端小端: 大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址 中;小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地 址中。百度2015年系统工程师笔试题: 请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。(10分)int a = 1;int a = 20;printf("小端");else {printf("大端");return 0;将a的地址强制转换成char指针类型。

2023-08-31 21:26:38 43

原创 二分查找与分析

二分查找适用于查找有序数组中是否存在某个元素,通过每次折半的思想可以节省很多时间。例如猜数字游戏。每次我们猜中间值。能直接排除一半的错误答案。int ans;end=mid-1;/* code */printf("没找到");/* code */}else{printf("下标为%d",mid);​这种方法适用与数组相同元素为0的情况。如果数组存在相同元素。那么返回的下标会变得不确定。

2023-07-19 22:50:29 34

原创 C语言初级

c语言中,由一个分号隔开的就是一条语句1+1;

2023-07-17 16:01:23 119 2

原创 1.快速排序

do i++;do j--;int q[N],n;cin>>n;i<n;i<n;参数说明 arr代表要排序的数组,l代表数组的要排序的起始端点,r代表数组排序的结束端点快速排序使用了分治的思想,将大问题化成小问题,最后通过解决所有的小问题来解决原本的问题。

2023-07-15 14:23:31 99 1

原创 初识C语言(二)

作用域:理解为变量可以使用的范围局部变量 局部变量的作用域就是在局部,只在局部范围内有效,一旦超出局部,变量不可使用全局变量 全局变量是在main函数外创建的变量 全局变量需要在main函数前创建,否则main函数无法使用,如果想使用别的文件的全局变量 需要使用extern引用生命周期 指的是变量从创建到销毁的过程,创建变量时,变量的生命周期开始,超出变量的作用域,变量的生命周期结束。

2023-06-24 15:26:20 62 1

原创 第一篇博客

大家好,我是一名计科专业的在校大学生。希望在毕业的时候能拿到理想的offer。为了成为一名优秀的程序员,我对自己的要求就是尽量不要把这门科目学死,要尽量多的理解,学会举一反三,目前打算一天最少投入两个小时的时间听课,一个小时的时间整理所学的知识。不想进大厂的程序员不是好程序员。希望我也能有一天收到大厂的offer。

2023-06-21 18:31:13 43

python+tkinter+matplotlib学生管理系统

python期末实训-学生成绩管理系统,有简洁的界面操作。共使用了十三个包。包含文件的读入和输出。数据分析,图像展示,数据库使用的mysql。

2024-01-21

空空如也

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

TA关注的人

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