自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一元线性回归

二、原理(以下为大致原理,详细原理关注接下来的文章)

2025-04-17 17:41:11 134

原创 BFS处理迷宫问题

4.搜到终点后,以终点坐标为索引定位结构体二维数组(记录父节点)记录的父节点不断溯源,直到在结构体二位数组记录的坐标为(-1,-1),即回到原点;eg:假设地图原点为(1,1)将原点入队,原点出队,查找原点四个方向哪个方向没有阻碍且没走过,找到就入队循环往复,直到找到终点或没有路;原因:利用队列先进先出(FIFO)的原理,用来记住下一步该往哪几个方向移动。3.结构体二维数组储存每一步的父节点;2.二维数组记录已走过的路线;

2025-02-24 20:13:04 239

原创 C语言插入排序及其优化

是一种简单直观的排序算法。它通过构建有序序列,将未排序部分的元素插入到已排序部分的正确位置,直到所有元素排序完成。下面是插入排序的关键点及其实现细节。

2024-12-31 15:46:26 605

原创 堆排序——C语言实现

作用:从指定节点开始调整堆,使其满足最大堆的性质。(2) 函数作用:实现堆排序的完整流程。3. 主函数 作用:测试堆排序算法。4. 运行过程假设输入数组为 :通过从最后一个非叶节点向上调整,最终堆变成:数组形式为:。交换堆顶和数组最后一个元素: 数组:。 重复上述过程,每次将堆顶移到未排序部分的末尾,并调整剩余堆。最终结果:。堆排序是原地排序算法,不需要额外的数组存储数据,空间复杂度为 。这段代码实现了标准的堆排序算法,具有以下特点:

2024-12-24 15:23:56 788

原创 C语言快速排序

遍历数组,让大于该标准的元素放在标准数的右边,小于该标准的元素放在标准数的左边,如果相等,两边均可;5’当右索引等于左索引,此时第一轮排序结束,该索引左边元素都小于标准数,右边元素都大于标准数,所以此处为标准数的位置;4’此时空位在右索引,左索引被填充,此时左索引开始右移,把遇到小于标准数的元素,填到右空位以此类推。3’开始移动右索引,如果右索引指向的数组元素小于标准元素,将此元素填到左空位上。2’将第一位作为标准赋值给stand,因此可以把数组首位视为被挖出。1.中心思想:分治思想。

2024-12-23 15:54:40 298

原创 C语言五子棋——改进版

【代码】C语言五子棋——改进版。

2024-12-22 18:25:17 498

原创 C语言实现五子棋

【代码】C语言实现五子棋。

2024-12-17 19:48:43 124

原创 C语言——蓝桥杯移动到末尾,冒泡排序实现

利用类似冒泡排序的方法将0后移。

2024-12-08 13:42:18 272

原创 C语言实现二叉树的创建

运用冒泡排序预处理数组。运用递归,搜索是否元素已经存在,若不存在就创建新节点,将数据写入。最后运用递归实现二叉树的中序遍历测试二叉树是否创建成功。

2024-12-01 17:18:41 415

原创 C语言解决汉诺塔问题

2.移动:将上面的(n-1)部分从A柱移动到B柱【用递归解决(n-1)个盘子的移动】,然后将第n个盘从A柱移动到C柱,最后将前(n-1)部分从B柱移动到C柱【用递归解决(n-1)个盘子的移动】;2.复杂一点:有两个盘子,将小盘从A柱移动到B柱,然后将大盘从A柱移动到C柱,最后将小盘从B柱移动到C柱;递归就是解决前(n-1)个盘子从A柱移动到B柱,再从B柱移动到C柱的手段,将(n-1)个盘子不断拆分解决;1.拆分:将n个盘片看成两部分,第n个看成一部分,前(n-1)看成另一部分;

2024-12-01 15:12:56 430

原创 C语言冒泡排序及优化

遍历数组将相邻下标的元素进行比较并进行排序。当数组元素已经有序则不进行排序操作。

2024-11-25 15:15:36 199

原创 C语言 用栈进行杂乱字符的进制转换

用链表实现栈,当读取到指定字符时入栈,读取结束后元素出栈并做进制转换;

2024-11-24 18:34:17 581

原创 C语言实现贪吃蛇

光标的移动和隐藏是关键,需要用到“conic.h"函数库和”windows.h"函数库。

2024-11-17 22:12:25 269

原创 C语言KMP算法实现

2.当目标串的长度为(i-1)的子串的前缀与后缀存在相同部分(前缀与后缀:例1.ababa的前缀为前三个字母"abc" 后缀为后三位"abc" 例2.abab的前缀为前两位"ab" 后缀为后两位"ab")则目标串无需从头开始遍历,避免重复(当目标串为ababaa时当目标串的第5位与原始串不匹配时目标串只需要从第三位开始与原始串进行比较)。确定目标串每一位不匹配时因该从第几位开始遍历匹配用数组储存,算法:回归的位数=不匹配位数-1长度的子串的前缀与后缀相同位数+1;1.当目标串元素都不同时没有优势。

2024-11-15 19:25:47 699

原创 C语言朴素模式匹配算法——查找定位子串

读取原字符串及其长度--->读取目标字符串及其长度--->用滑动窗口的方式分割原字符串使其成为目标长度的子串--->遍历比较子串与目标字符串是否一致--->输出。

2024-11-12 20:25:51 212

原创 C语言栈的应用,实现符号配对

利用链表的头插法实现栈的链表实现,以此实现符号配对。

2024-11-11 15:10:46 421

原创 C语言栈的运用之括号匹配

利用出栈入栈的规则,左符号压入栈等待与右符号匹配出栈。

2024-11-07 09:17:47 395

原创 C语言队列

相较于数组实现,链表实现的队首与队尾都有指针,相关操作更高效,操作更清晰。

2024-11-06 17:13:37 225

原创 C语言栈的单链表实现

此处使用单链表头插法实现栈的创建、入栈、出栈。

2024-11-06 16:34:38 195

原创 C语言栈与队

只允许从队尾入队,从队首出队,遵循先入先出(FIFO--->First in First Out)规则。只允许从上向下进行操作,遵循后进先出(LIFO--->Last in First Out)规则。栈与队是规定了写入和读取顺序的特殊链表。

2024-11-06 15:42:53 168

原创 C语言静态链表

运用静态链表实现通讯录的录入和读取。

2024-11-06 11:36:39 141

原创 C语言双向链表

与单链表对比,双向链表的增、删、改无需遍历多次以查找目标节点前一节点与后一节点,效率提高,代码对比。2.结构体新增前驱指针,空间利用率相对低(大项目可忽略)1.插入与删除代码相对复杂。

2024-11-06 09:47:40 995

原创 C语言单链表的增删查改

定义一个结构体用于储存数据,结构体中存在一个指针(指针类型与结构体类型一致)用于指向下一个节点。遍历节点,找到目标节点指针,进行增删查改的操作。二、单链表增删查改的关键。

2024-11-05 20:23:34 309

原创 C语言进制转换

一、运用位运算进行进制转换。二、二到十进制转换通用方法。

2024-11-05 15:00:45 690

原创 C语言顺序表实现数组扩容

在内存中开辟一片大小为目标大小的新内存,并将旧数组的数据复制到新地址数组,然后将旧地址的内存释放的过程。

2024-11-04 19:49:22 571

原创 基于Arduino制作声音律动灯

esp32 、MAX4466声音传感器模块、LED 6个。

2024-10-30 11:47:47 563

空空如也

空空如也

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

TA关注的人

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