自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编程题实训-排序

试以单链表为存储结构,实现简单选择排序算法。

2024-01-07 23:22:07 931 1

原创 编程题实训-查找

请编写一个递归的折半查找算法,查找给定有序数组中的某一元素。

2024-01-04 00:43:58 1361 3

原创 客观题测试-第8章排序

1、内排序要求待排序列一定要用顺序方式存储。A、对B、错2、稳定的排序算法优于不稳定的排序算法,因为稳定的排序方法效率高。A、对B、错3、对5个互异的整数进行排序,至少需要10次比较。A、对B、错4、当待排序的元素序列的初始排列全部按关键字从大到小有序时,为把他们排成从小到大的顺序,希尔排序比直接插入排序快。A、对B、错5、当待排序的元素序列的初始排列全部按关键字从小到大有序时,希尔排序比折半插入排序快。A、对B、错6、折半插入排序的时间复杂度为 O(nlog2​n)A、对。

2023-12-19 13:41:00 2012 2

原创 客观题测试-第7章查找

1、关键字可以唯一地标识一个数据元素。A、对B、错2、二叉排序树是一个动态查找表。A、对B、错3、如果顺序表中各元素的查找概率相同,在顺序查找时,查找不成功的平均查找长度因元素有序排列或无序排列情况的不同而不同。A、对B、错解:在有序排列的情况下,查找不成功的概率会比无序排列时要高。因为有序排列时,每个元素都有其固定的位置,所以查找不成功时,需要检查的元素数量会更多。因此,在有序排列的情况下,查找不成功的平均查找长度会比无序排列时要长。

2023-12-18 22:46:05 1952 12

原创 编程题实训-图

密密被困在一个迷宫里,迷宫有n个路口,编号为1-n。密密现在站在第一个路口,出口编号为m。先给出每个路口通向何处,问密密能否逃出迷宫。

2023-12-13 19:10:06 1344 9

原创 客观题测试-第6章图

1、无向图中一个顶点的度是指图中()。A、通过该顶点的简单路径数B、与该顶点相邻接的顶点数C、与该顶点连通的顶点数D、通过该顶点的回路数2、以下说法正确的是()。A、连通分量是无向图中的极小连通子图B、强连通分量是有向图中的极大强连通子图C、在一个有向图的拓扑序列中若顶点a在顶点b之前,则图中必有一条弧D、对有向图G,如果以任一顶点出发进行一次深度优先或广度优先搜索能访问到每个顶点,则该图一定是完全图解:对于D,完全图是指任何两个顶点之间都存在一条边的图。

2023-12-05 20:31:36 2451 1

原创 B/S软件开发架构

1. B/S框架,意思是前端(Browser 浏览器, 小程序,APP,自己写)和服务器端(Server)组成的系统的框架结构。2. B/S架构也可理解为web架构,包含前端、后端、数据库三大组成部分。

2023-11-30 22:53:13 1056

原创 Java作业题记录

难点1:初始化数组Person[] people = new Person[3];难点2:获得年龄数据people[j].getAge()难点3:System.out.println(people[i]);//默认调用对象toString 方法people[0] = new Person("小莫", 19, "学生");people[1] = new Person("小季", 20, "学生");people[2] = new Person("小林", 19, "学生");i++) {

2023-11-29 12:47:41 379

原创 由零钱通项目体会面向对象编程的好处

运行结果:==========零钱通菜单=========1 零钱通明细2 收益入账3 消费4 退 出请选择(1-4):2收益入账金额:100==========零钱通菜单=========1 零钱通明细2 收益入账3 消费4 退 出请选择(1-4):3消费金额50消费说明:小蛋糕==========零钱通菜单=========1 零钱通明细2 收益入账3 消费4 退 出请选择(1-4):1。

2023-11-28 19:26:30 391

原创 IDEA断点调试

在断点调试过程中, 是运行状态, 是以对象的运行类型来执行的。

2023-11-27 16:53:12 368

原创 JAVA的一些便捷性方法(Object)

在IDEA中,如何查看JDK的源码?CTRL +

2023-11-27 15:46:23 793

原创 JAVA面向对象三大特征

总之,封装、继承和多态是面向对象编程的三大基本特征,它们使得程序更加模块化、可维护性和可重用性更高。

2023-11-26 21:23:33 853

原创 JAVA数据类型

Java数据类型可以分为三类:基本数据类型、引用数据类型和空数据类型。其中,基本数据类型又可以分为四类:整数型、浮点型、字符型和布尔型。整数型包括byte、short、int、long,分别表示8位、16位、32位和64位整数。需要注意的是,对于long型变量,如果赋的值大于int的最大值或者小于int的最小值,需要在数值后面加上L或者l,最好加上L,便于区别。浮点型包括float和double,分别表示单精度浮点数和双精度浮点数。在使用浮点数时,需要注意默认情况下小数都会被看作是浮点数,。

2023-11-25 09:46:47 344

原创 Scanner常用知识点

在Java中,Scanner类是用于读取用户输入的工具类,可以从多种输入源读取数据,如标准输入流、文件或字符串。:在使用Scanner类之前,需要先将其导入到你的Java程序中。例如,你可以使用import java.util.Scanner;语句来导入Scanner类。然后可以通过Scanner对象来读取用户输入。例如,Scanner scanner = new Scanner(System.in);这样的语句可以创建一个Scanner对象,并将其与标准输入流(即控制台)关联起来。

2023-11-25 09:17:42 405

原创 java选择排序和冒泡排序

冒泡排序是通过相邻元素之间的比较和交换,将较大(或较小)的元素逐渐“冒泡”到数组的一端。选择排序则是先选择后交换,在一轮比较中,将最大(或最小)的元素与数组的末尾元素交换,然后在剩余的元素中继续选择和交换。冒泡排序需要相邻元素之间的比较和交换,而选择排序只需要记录下标,一轮比较结束后才进行数据的调换,因此选择排序的交换次数要少于冒泡排序。稳定性:冒泡排序是稳定的排序算法,即相等的元素的顺序不会改变。而选择排序是不稳定的排序算法,因为元素的相对顺序可能会在排序过程中发生改变。

2023-11-24 21:27:04 561

原创 编程题实训-数组

设二维数组a[1..m, 1..n] 含有m*n 个整数。写一个算法判断a中所有元素是否互不相同。

2023-11-20 19:39:44 1267

原创 树和二叉树的综合应用

输入一串字符串,根据给定的字符串中字符出现的频率建立相应哈夫曼树,构造哈夫曼编码表,在此基础上可以对待压缩文件进行压缩(即编码),同时可以对压缩后的二进制编码文件进行解压(即译码)。

2023-11-19 14:43:22 2054

原创 构建哈夫曼树

哈夫曼树是一种非常有用的数据结构,通常用于数据压缩。以下是使用C++构造哈夫曼树的步骤:定义节点:哈夫曼树的节点包含三个属性,leftright和weightleft和right指向左孩子和右孩子,weight存储节点的权重。创建节点:为每个输入的权重创建一个新的节点。构建优先队列:使用weight作为优先队列的优先级。这样,权重最小的节点将总是在队列的前面。构建哈夫曼树:将所有节点添加到优先队列中。然后,从创建一个新的节点作为这两个节点的父节点,这个新节点的权重是这两个节点的权重之和。

2023-11-19 11:00:25 279 1

原创 二叉树类似题总结

二叉树的遍历是指按照某种搜索路径遍历每个结点且不重复,它是树结构插入、删除、修改、查找和排列运算的前提,是二叉树的一切运算的基础和核心。二叉树的遍历可分为三种:先序遍历、中序遍历、后序遍历。1. 先序遍历:首先访问根结点,然后遍历左子树,最后遍历右子树。2. 中序遍历:首先遍历左子树,然后访问根结点,最后遍历右子树。3. 后序遍历:首先遍历左子树,然后遍历右子树,最后访问根结点。

2023-11-18 23:07:06 170 1

原创 客观题测试-第5章树和二叉树

1、二叉树的深度为k,则二叉树最少有()个结点。A、B、C、2kD、k2、某二叉树的中序序列为ABCDEFG,后序序列为BDCAFGE,则其左子树中结点数目为()A、3B、4C、5D、63、设一棵二叉树的中序遍历序列:badce,后序遍历序列:bdeca,则二叉树先序遍历序列为()A、adbceB、decabC、abcdeD、debac解:4、树最适合用来表示()。A、有序数据元素B、无序数据元素C、元素之间具有分支层次关系的数据D、元素之间无联系的数据。

2023-11-18 23:06:54 1842 1

原创 编程题实训-串

医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知它们的DNA序列都是环状的。现在研究者收集了大量的病毒DNA和人的DNA数据,想快速检测出这些人是否感染了相应的病毒。为方便研究,研究者将人的DNA和病毒的DNA均表示成由一些小写字母组成的字符串,然后检测某种病毒的DNA序列是否在患者的DNA序列中出现过,如果出现过,则此人感染了病毒,否则没有感染。注意:人的DNA序列是线性的,而病毒的DNA序列是环状的。请使用BF算法检测人是否感染相应病毒。

2023-11-11 19:09:01 3138 1

原创 BF和KMP算法

i - T.lenBF算法(朴素字符串匹配算法)是计算机科学中最经典的字符串匹配算法之一。它的主要思想是通过不断地比较目标字符串和模式字符串的字符来寻找匹配的位置。

2023-11-11 14:15:30 181 1

原创 编程题实训-队列

第一行为两个整数n和m,n表示入队序列A的长度(n个数依次连续入队,中间没有出队的情况),m表示出队序列B的元素数量(m个数依次连续出队,中间没有入队的情况)。第二行为序列A(空格分隔的n个整数)。第一行为一个整数n,n表示入队序列A的长度(n个数依次连续入队,中间没有出队的情况),第二行为序列A(空格分隔的n个整数)。第一行为一个整数n,n表示入队序列A的长度(n个数依次连续入队,中间没有出队的情况),第二行为序列A(空格分隔的n个整数)。依次输出队列中所有的整数,每两个整数之间用空格分隔。

2023-11-05 14:26:00 1691 2

原创 编程题实训-栈

本关任务:输入一个中缀算术表达式,求解表达式的值。运算符包括+、-、*、/、(、)、=,参加运算的数为double类型且为正数。(要求:直接针对中缀算术表达式进行计算,不能转换为后缀或前缀表达式再进行计算,只考虑二元运算即可。)多组数据,每组数据一行,对应一个算术表达式,每个表达式均以“=”结尾。当表达式只有一个“=”时,输入结束。参加运算的数为double类型。对于每组数据输出一行,为表达式的运算结果。输出保留两位小数。 这个函数接收三个参数:一个名为的操作符栈,一个名为的

2023-11-04 14:59:53 3408 11

原创 算法通关村第一关 - 链表青铜挑战笔记

initLinkmaininitLinkp: 这里声明了一个名为temp的指针,该指针指向ListNode类型的结构体。: 这是一个类型转换。由于malloc返回的内存块是未类型的,所以我们需要将其强制转换为ListNode类型。: 这调用了malloc函数,请求分配一个大小为的内存块。sizeof运算符返回其操作数所占用的内存大小(以字节为单位)。在这里,操作数是ListNode类型,因此它会返回ListNode结构体的大小。总的来说,这行代码的作用是分配足够的内存来容纳一个ListNode。

2023-10-30 15:27:58 105 1

原创 客观题测试-第4章串

详解版。

2023-10-23 20:40:54 2057 4

原创 客观题测试-第3章栈和队列

详解版。

2023-10-23 20:00:02 3397 5

原创 客观题测试-第2章线性表

由于链表的元素在内存中是分散存储的,访问特定元素需要从链表的头部开始逐个遍历节点,直到找到目标元素为止,因此链表不适用于随机存取。但是,链表在插入和删除元素方面具有优势,因为只需要修改指向目标元素的前一个节点的指针即可,无需移动其他元素。这是因为顺序存储方式需要在指定的位置插入或删除元素,而这个位置需要通过一定的计算才能得到,所以插入和删除的效率较低。因此,这个说法是错误的。3、在顺序表上可以从前向后顺序访问,也可以从后向前访问,还可以按元素序号随机访问,因此从查找的角度来看,顺序表比链表更灵活。

2023-10-23 19:01:09 4359 6

原创 客观题测试-第1章绪论

详解版详解版。

2023-10-23 18:19:46 2298 7

原创 编程题实训-链表应用

之后紧跟a行,每行两个整数a1和a2,分别代表A(x)每项的系数和指数,再之后紧跟b行,每行两个整数b1和b2,分别代表B(x)每项的系数和指数,每组数据最后一行为一个字符(+、-、*、'),分别代表多项式的加法、减法、乘法和求导运算。多组数据,每组数据有三行,第一行为序列A和B的长度n和m,第二行为序列A的n个元素,第三行为序列B的m个元素(元素之间用空格分隔)。多组数据,每组数据有三行,第一行为序列A和B的长度n和m,第二行为序列A的n个元素,第三行为序列B的m个元素(元素之间用空格分隔)。

2023-10-19 12:29:15 2310 5

原创 编程题实训-基于链表的图书信息管理

本关任务:定义一个包含图书信息(书号、书名、价格)的链表,读入相应的图书数据完成图书信息表的创建,然后计算所有图书的平均价格,将所有低于平均价格的图书价格提高20%,所有高于或等于平均价格的图书价格提高10%,最后逐行输出价格修改后的图书信息。输入n+1行,前n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空格。总计n+1行,第1行是所创建的图书表中的图书个数,后n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔。

2023-10-14 23:29:00 7844 1

原创 编程题实训-基于顺序表的图书信息管理(头歌)

第1关:基于顺序存储结构的图书信息表的创建和输出。

2023-10-09 21:23:48 7831 6

原创 顺序表、双向链表、带头结点的双循环链表和循环单链表

顺序表、双向链表、带头结点的双循环链表和循环单链表都是常见的数据结构,它们各有优缺点和适用的情况。根据具体的需求和使用情况,可以选择合适的数据结构来解决问题。

2023-10-07 21:51:31 217 1

原创 正则表达式 re模块

【代码】正则表达式 re模块。

2023-09-26 22:18:39 76 1

原创 编程题实训-顺序表应用

多组数据,每组数据有三行,第一行为顺序表的长度n,第二行为顺序表的n个元素(元素之间用空格分隔),第三行为待删除的元素的值item。当n=0时输入结束。本关任务:利用顺序表表示一个包括n个整数的序列,请实现一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法可以删除表中所有值为item的元素。对于每组数据分别输出一行,依次输出删除值为item的元素后顺序表中的剩余元素,元素之间用空格分隔。

2023-09-16 13:49:02 2204 3

原创 数据结构--时间复杂度

第一题:下列函数的时间复杂度是( )。A、O(log2​nB、O(n1/2log2​n【解析】sum=1+2+...+k= k*(k+1)/2>=n, (k+1)² > 2n,得到k > (2n)1/2 - 1。

2023-09-16 13:27:01 204 2

空空如也

空空如也

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

TA关注的人

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