- 博客(50)
- 收藏
- 关注
原创 迪杰斯特拉算法c语言实现
Dijkstra算法(迪杰斯特拉算法)是一种用于解决单源最短路径问题的贪心算法。它可以找到从起始节点到所有其他节点的最短路径。
2024-08-12 20:08:17
102
原创 Javaweb实现数据库简单的增删改查
JDBC(Java Data Base Connectivity)是一种Java访问数据库的技术,它提供执行SQL语句的Java API,由一组类和接口组成,可以为不同的数据库提供统一访问.JDBC工作原理JDBC实现增加、删除和修改操作.Javaweb实现数据库简单的增删改查
2023-11-21 19:25:42
1904
原创 Linux程序设计shell程序学习
编写一个bash脚本程序,用for循环实现将当前目录下的所有.c文件移到指定的目录下,最后在显示器上显示指定目录下的文件和目录。用 for 语句完成 1+1/2+1/3+1/4+…脚本,实现从键盘读取两个浮点数,输出这两个数四则运算结果。编写shell脚本,通过循环的形式在终端上打印出等腰梯形。编写一个菜单,分别实现列出以下内容
2023-11-08 22:38:59
424
原创 稀疏矩阵的压缩存储及其转置
个人理解:一个非零元很少且分布没有规律的矩阵我们使用一个三元组(i,j,k)来确定矩阵中的一个非零元,i表示行,j表示列,k即是第i行第j列的非零元。所以,稀疏矩阵可以用一个三元组表来表示。矩阵的转置即是将行和列对调,对应到三元组表就是将i和j相互调换,重新排列三元组的次序。。
2023-05-26 15:44:08
494
原创 二叉排序树的查找、插入、删除
二叉排序树的定义二叉排序树(Binary Sort Tree, BST),也称二叉查找树。二叉排序树或者是一棵空树,或者是一棵具有下列特性的非空二叉树:1) 若左子树非空,则左子树上所有结点关键字均小于根结点的关键字值;2) 若右子树非空,则右子树上所有结点关键字均大于根结点的关键字值;3) 左、右子树本身也分别是一棵二叉排序树。由定义可知,二叉排序树是一个递归的数据结构,可以方便的使用递归算法对二叉排序树进行各种运算。
2023-05-25 12:06:43
1415
原创 图和它的邻接矩阵建立
我们规定,对于图:用1和0表示两个顶点是否相连;对于网,矩阵中的数据表示权值,如果没有关系,用无穷大表示。我们使用矩阵表示图中顶点的关系,有n个顶点时,需要存放n个顶点信息和n*n个弧信息的存储量。如图为一有向图的邻接矩阵,第v1行第v3的数据1表示图中v1顶点到v3顶点的一条弧。使用邻接矩阵适用于判断两个顶点是否有边,并且容易求的各个顶点的度。无向图:表示两个顶点是没有顺序关系的,两个顶点是无序对。有向图:表示两个顶点间有顺序关系,两个顶点是有序对。有向网:在有向图中加上了权值。
2023-05-19 11:14:26
155
原创 二叉树及其所有遍历算法详解
递归创建二叉树二叉树遍历先序遍历递归算法中序遍历递归算法后序遍历递归算法先序遍历非递归算法中序遍历非递归算法层序遍历算法
2023-05-13 17:39:11
350
原创 赫夫曼树和赫夫曼编码详解
赫夫曼树建立(1)根据给定的n个权值(w1,w2,…,Wn,)构成n棵二叉树的集合F=(T1,T2,…,Tn,其中每棵二叉树Ti中只有一个带权为wi的根结点,其左右子树均空。(2)在F中选取两棵根结点的权值最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根结点的权值为其左、右子树上根结点的权值之和。(3)在F中删除这两棵树,同时将新得到的二叉树加入F中。(4)重复(2)和(3),直到F只含一棵树为止。这棵树便是赫夫曼树。
2023-05-13 16:00:02
1326
原创 栈的应用,从键盘输入一个仅包括(、) 、[、]、{、}共6 种字符的括号串,使用栈检查其合法性。
从键盘输入一个仅包括(、) 、[、]、{、}共6 种字符的括号串,使用栈检查其合法性。如:[ ] { }、[ { ( ) } ] 合法;[ ] ( { }、 { [ } ] 非法。
2023-04-22 00:34:46
358
2
原创 前缀和算法给定n个整数a1,a2,……,an,求它们两两相乘再相加的和,即 S = a1⋅a2 + a1⋅a3 + ⋯ + a1⋅an + a2⋅a3 + ⋯ + an−2⋅an−1 + an−2⋅a
给定n个整数a1,a2,……,an,求它们两两相乘再相加的和,即 S = a1⋅a2 + a1⋅a3 + ⋯ + a1⋅an + a2⋅a3 + ⋯ + an−2⋅an−1 + an−2⋅an + an−1⋅an。而对于(2+3+4+5+6+7)、(3+4+5+6+7)、......(6+7)、(7)如果采取。方式,如果n非常大,显然花费时间很长。我们采用前缀和方法可以快速计算。前缀和数组的每一项元素是原数组的前n项和。
2023-01-22 23:06:33
1257
原创 双指针思想,c语言.对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M
对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M。例如:1998 + 1999 + 2000 + 2001 + 2002 = 10000,所以从1998到2002的一个自然数段为M = 10000的一个解。输入格式第一行,一个整数M。输出格式每行两个自然数,给出一个满足条件的连续自然数段中的第一个数和最后一个数,两数之间用一个空格隔开,所有输出行的第一个按从小到大的升序排列,对于给定的输入数据,保证至少有一个解。数据范围。
2023-01-22 23:02:20
1164
原创 差分法,c语言
语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行。她总是要一遍遍地给某些同学增加分数,又要注意最低分是多少。你能帮帮她吗?输入格式第一行,两个整数n,m,代表学生总数和增加分数的次数。第二行,n个整数,代表每个学生的初始成绩。接下来m行,每行有三个整数x,y,z,代表给第x个到第y个学生每人增加z分。输出格式输出仅一行,代表更改分数后,全班的最低分。
2023-01-20 22:01:25
1588
原创 函数递归思想的训练
1、编写一个函数,递归实现将参数字符串中的字符反向排列2、写一个递归函数,输入一个非整数,返回组成它的数字之和3、递归实现n的k次方4、递归实现n!
2023-01-17 18:42:26
94
原创 建立单链表
链表是动态地进行存储分配的一种结构,链表中的数据在内存中不必连续存放,数据之间通过指针链接起来,相比于数组结构,链表的插入和删除操作比较方便。单链表的建立链表:通过自引用结构的指针域,将各结点相互连接。关于链表的基本概念:(1)链表的第一个结点称头指针或头结点,它指向链表在内存中的首地址,(2)其后的结点是通过结点中的链节指针成员访问的。(3)链表的最后一个结点称为尾节点。尾节点的指针域通常被设置成NULL。(4)链表中的每一个结点是在需要的时候建立的。(5)各结点在内存中的存储地址不一
2023-01-11 20:01:26
5076
原创 C语言,求0到100000之间的“水仙花数”
水仙花数”是指一个n位数,其各位数字的n次方之和·刚好等于该数本身。如153=1^3+5^3+3^3则153是一个水仙花数。求出0到100000之间所有的“水仙花数”并输出。
2022-12-17 21:25:53
455
原创 深入理解函数递归
程序调用自身的编程技巧称为递归。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂问题层层转化为一个与原来问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。主要思想:大事化小。
2022-12-14 21:41:42
203
原创 Java学习,a 插入到一个长度不小于 10 且元素呈递增排列的一维数组中,并保证插入之后的数组依然递增
a 插入到一个长度不小于 10 且元素呈递增排列的一维数组中,并保证插入之后的数组依然递增(若 a 在插入前的数组中存在,则输出提示并忽略)。
2022-11-16 14:00:00
513
原创 Java学习,打印杨辉三角形
杨辉三角形是方阵的左下半,方阵中的第一列和主对角线上的元素均为1,其余位置的元素满足a[i][j]=a[i-1][j]+a[i-1][j-1]
2022-11-14 20:40:54
217
原创 Java学习,产生 10 个 100 以内的随机整数以填充一维数组,实现以下功能
以内的随机整数以填充一维数组,实现以下功能。在数组中最后一次出现的位置,若不存在则提示。③ 判断数组是否呈非递减排列。① 找出最大以及最小值。④ 将数组元素翻转存放。
2022-11-13 19:43:17
3802
原创 Java学习,计算多项式1! + 2! + 3! + ... n!,当和超过10000时停止,输出累加和以及n的值。
【代码】Java学习,计算多项式1!+ 2!+ 3!+ ... n!,当和超过10000时停止,输出累加和以及n的值。
2022-11-12 10:18:18
1404
原创 认识Java
1、是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。 2、是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使3、用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。 1991年 Green项目,开发
2022-10-28 08:43:36
232
原创 单片机学习,矩阵键盘控制数码管移位
内容:矩阵键盘控制数码管移位。初始数码管显示00000001,矩阵键盘第一个按键控制数字1左移一位(00000010),矩阵键盘第二个按键控制控制数字1右移一位。这是该工程所需要引的头文件。具体模板以及功能参考我之前发的文章。
2022-09-27 22:00:17
2867
原创 单片机学习,矩形按键控制动态数码管。蜂鸣器、数码管、按键的综合使用
要求:定时器,倒计时时间由独立矩阵按键输入,在动态数码管上显示,按独立按键1开始倒计时,时间到蜂鸣器响。这是该工程所需要引的头文件。具体模板以及功能参考我之前发的文章。
2022-09-26 21:46:16
898
原创 51单片机常用的一些模块(模块化编程)延时函数模块(delay)独立按键模块(key)数码管模块(Nixie)LCD1602模块矩形键盘模块定时器模块
延时函数模块(delay)独立按键模块(key)数码管模块(Nixie)LCD1602模块矩形键盘模块定时器模块
2022-09-18 20:55:29
4645
原创 c语言——用函数或循环打印100到200之间的素数
m 不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ m的开方之间的每一个整数去除就可以了。例如判别 17 是是否为素数,只需使 17 被 2~4 之间的每一个整数去除,由于都不能整除,可以判定 17 是素数。例如 16 能被 2、4、8 整除,16=28,2 小于 4,8 大于 4,16=44,4=√16,因此只需判定在 2~4 之间有无因子即可。判断i是否为素数,可以用2——i-1之间的数字试除i,如果可以被整除,则不是素数;2、用if语句判断i会不会被2——i-1之间的数字整除。
2022-09-11 23:03:17
1092
原创 c语言函数传值调用和传址调用的区别
c语言函数传值调用和传址调用的区别.函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。仅把值传过去用一下。
2022-09-07 18:10:24
801
原创 c语言学习,认识函数
c语言学习,认识函数。c语言中函数的分类。传值调用和传址调用.区别。函数的参数。为什么会有库函数?那怎么学习库函数呢?使用文档来学习查找库函数
2022-09-07 11:26:35
237
原创 写一个关机代码让别人的电脑根据你的指令关机,c语言写小程序恶搞别人
写一个关机代码让别人的电脑根据你的指令关机,c语言写小程序恶搞别人。运行起来,电脑1分钟内关机,如果输入:我是猪(可以是其他整蛊句子),就取消关机;
2022-09-04 11:51:35
2385
单片机,运用矩形按键和LCD1603设置一个密码锁,LCD1603动态变化
2022-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人