- 博客(25)
- 收藏
- 关注
原创 【数据结构】查找算法
查找:在数据集合中寻找满足某种条件的数据元素的过程称为查找。查找表:用于查找的数据集合称为查找表,它由同一类型的数据元素组成,可以是一个数组或链表等数据类型。从名义上来看,查找表是一种新的数据结构,但实际上它指的就是用线性表,树或者图结构来存储数据,只不过数据间的逻辑关系是人为赋予的。数据结构中,将存储无逻辑关系数据的线性表,树或者图结构统称为查找表。查找表常见操作:如果只对查找表做前俩种操作,不改变查找表的存储结构,这样的查找表称为静态查找表;反之,如果对查找表做插入或者删除操作,查找表的结构发生了变化
2022-09-03 21:45:08
6249
1
原创 【数据结构】各种内部排序算法的比较及应用
一般基于三个因素进行对比:时空复杂度,算法的稳定性,算法的过程特征。从时间复杂度来看:简单选择排序,直接插入排序和冒泡排序平均情况下的时间复杂度都为O(n^2),且实现过程也比较简单,但直接插入排序和冒泡排序最好情况下的时间复杂度可以达到O(n),而简单选择排序则与序列的初始状态无关。希尔排序作为插入排序的拓展,对较大规模的排序都可以达到很高的效率,但目前未得出其精确的渐进时间。堆排序利用了一种称为堆的数据结构,可以在线性时间内完成建堆,且在O(nlog2n)内完成排序过程。快速排序基于分治的思想,
2022-06-13 18:04:55
877
原创 【数据结构】排序----归并排序和基数排序
归并:把俩个或者多个有序的序列合并成一个。m路归并,每选出一个元素需要对比关键字m-1次代码实现:2路归并排序算法的性能分析操作如下:空间效率:Merge()操作中,辅助空间刚好为n个单元,所以算法的空间复杂度为O(n)。时间效率:每趟归并的时间复杂度为O(n),共需进行log2n趟归并,所以算法的时间复杂度为O(nlog2n)。稳定性:由于merge()操作不会改变相同关键字记录的相对次序,所以2路归并排序算法是一种稳定的算法。一般而言,对N个元素进行k路归并排序时没排序的趟数m满足K^m=
2022-06-12 11:59:03
182
原创 【数据结构】排序----选择排序
选择排序的基本思想:每一趟(如第i趟)在后面n-i+1个待排序元素中选取关键字最小的元素,作为有序子序列的第i个元素,直到第n-1趟做完,待排序元素只剩下1个,就不用再选了。基本思想:在待排序的数据中选出最大(小)的元素放在最终的位置。基本操作:简单选择排序算法的性能分析:空间效率:仅使用常数个辅助单元,故空间效率为O(1)时间效率:从上述代码中可得,在简单选择排序的过程中,元素移动的操作次数很少,不会超过3(n-1)次,最好的情况是0次,此时对应的表已经有序,但元素间比较的次数与序列的初始状态无关
2022-06-11 21:39:23
453
原创 【数据结构】排序---交换排序
所谓交换,是根据序列中的俩个元素关键字的比较结果来对换这俩个记录在序列中的位置。主要是冒泡排序和快速排序。排序的基本思想:从后往前(或从前往后)两两比较相邻元素的值,若为逆序(即A[i-1]>A[i]),直到序列比较完,我们称它完成了第一次冒泡,结果是将最小的元素交换到待排序列的第一个位置(或将最大的元素交换到待排序列的最后一个位置),关键字最小元素如气泡一般逐渐往上漂浮直至水面,下一趟冒泡时,前一趟确定的最小元素不再参与比较,每趟冒泡的结果是把序列中最小的元素(或最大的元素)放到了最终位置,这样最多做n-
2022-06-08 17:49:28
549
原创 【数据结构】排序---插入排序
插入排序基本思想:每次将一个待排序的记录按其关键字大小插入前面已经排好序的子序列,直到全部记录插入完成。三个重要的排序算法:直接插入排序,折半插入排序,希尔排序其中L()表示元素 L[]表示表将元素L[i]插入已有序的子序列L[1…i-1],需要执行以下操作:直接排序有哨兵:假定初始序列为49 ,38,65,97,76,13,27,49* ,初始时49可以视为一个已排好序的子序列。直接插入排序示例直接插入排序算法的性能分析:空间效率:仅使用了常数个辅助单元,因而空间复杂度为O(1)时间效率:在排
2022-06-08 12:28:31
344
原创 【数据结构】排序---基本概念
排序就是重新排列列表中的元素,是列表中的元素满足关键字有序的过程。排序算法的稳定性是指经过排序后,能使关键字相同的元素保持原顺序的相对位置不变。算法是否具有稳定性不能衡量一个算法的优劣,它主要是对算法的性质进行描述。在排序过程中,根据数据元素是否完全在内存中,可将排序分为俩类,内部排序和外部排序。内部排序是指排序期间所有元素全部存放在内存中的排序。外部排序是指排序期间元素无法全部同时存放在内存中,必须在排序的过程中根据要求不断的在内,外存之间移动的排序。一般情况下,内部排序算法,在执行的过程中都要进
2022-06-07 20:13:46
281
原创 【数据结构】排序---冒泡排序
冒泡排序的基本思想:从下往上两两比较相邻元素的值,如果为逆序(即a[j-1]>a[j]),则交换,直到序列比较完。如果有n个元素需要比较n-1次,每轮减少一次比较性能分析:1.空间效率:仅使用了常数个辅助单元,因而空间复杂度为O(1)2.时间效率:当初始序列有序时,显然第一趟冒泡后flag依然为false(本趟冒泡没有元素交换),从而直接跳出循环,比较次数为n-1,移动次数为0,从而最好情况下的时间复杂度为O(n);当初始序列为逆序时,需要进行n-1趟排序,第i趟排序要进行n-i次关键字的比较,而且每
2022-06-04 22:13:16
263
原创 【python】pythonPTA编程练习2
文章目录7-1 输出不重复的字符7-2 找列表中最大元素的下标(高教社,《Python编程基础及应用》习题4-77-3 删除列表中的重复值(高教社,《Python编程基础及应用》习题4-8)7-4 统计字符串列表中每个字母出现的次数(高教社,《Python编程基础及应用》习题6-8)7-5 jmu-python-异常-学生成绩处理中级版7-6 下标异常7-7 往返跑方阵7-1 输出不重复的字符分数 10作者 马杨珲单位 浙江科技学院输入一个字符串,把最左边的10个不重复的字符(大小写算不同字符)挑
2022-05-26 19:59:13
7864
原创 【python】pythonPTA编程题练习
文章目录7-2 计算某天距元旦的天数6-1 python函数:求m到n之和6-2 python函数:递归求Fabonacci数列7-1 企业根据利润提成发放奖金问题7-3 温度转换7-4 3,5,7的倍数判定(高教社,《Python编程基础及应用》习题6-4)7-5 计算分段函数f(x)的值7-6 统计字符串中不同种类的字符个数7-3 重复多个星号6-2Python编程技术实验-4(函数和类)6-3 编写函数计算一个或不特定多个数的乘积(高教社,《Python编程基础及应用》习题8-6)6-4 编写生成斐波
2022-05-17 18:02:33
15299
2
原创 【Java】稀疏数组
package SparseArray;public class sparsearray {public static void main(String[] args) {//创建一个原始的二维数组 11 * 11//0:表示没有棋子,1 表示黑子 2表示篮子int chessArr1[][] = new int[11][11];chessArr1[1][2] = 1;chessArr1[2][3] = 2;//输出原始的二维数组System.out.println(“原始的二维数组:”)
2021-12-30 21:28:42
163
原创 【javaScript简记】
javaScript介绍 JavaScript语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要浏览器来解析JavaScript代码。 js是Netscape网景公司的产品,最早取名为LIveScript;为了吸引更多java程序员。更名为javaScript。js是弱类型,java强类型弱类型就是类型可变。强类型就是定义变量的时候。类型已确定。而且不可变。特点:1.交互性(它可以做的就是信息的动态交互)2.安全性(不允许直接访问本地硬盘)3.跨平台性(只要是可以解释js的浏
2021-11-22 11:50:33
287
原创 css常识
css技术css是层叠样式表单,是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g8WQ981J-1637457341985)(C:\Users\小高\AppData\Roaming\Typora\typora-user-images\image-20211120203315819.png)]css注释 : /* 注释内容 */css和html的结合方式第一种:在标签的style属性上设置“ke
2021-11-21 09:16:40
368
原创 html常识
HTML文件书写规范<html> <!--表示整个html页面的开始--> <!-- 头信息--> <head> <title> 标题 </title> </head> <body> <!-- body是页面的主体内容 --> <!-- 页面
2021-11-20 17:47:21
128
1
原创 【MySql】MySQL基本知识点2
表的创建(建表)1.建表的语法格式:(建表属于DDL语句,DDL包括: create drop alter )create table 表名 ( 字段名1 数据类型 , 字段名2 数据类型, 字段名3 数据类型);表名:建议以t_ 或者 tb1_开始,可读性强。见名如意。字段名:见名如意。表名和字段名都属于标识符。2.关于mysql中的数据类型?varchar(最长255): 可变长度字符串。(比较智能,节省空间,根据实
2021-11-08 19:23:24
445
原创 【MySql】MySQL基本知识点1
sql结构化查询语言mysql, Oracle,db2, sybase表(table)是一种结构化的文件。DQL:数据查询语言(凡是带有select 关键字的都是查询语言)select…DML :数据操作语言(凡是对表当中的数据进行增删改的都是DML)insert delete updateinsert 增delete 删update 改这个主要是操作表中的数据data.DDL :数据定义语言凡是带有create,drop,alter的都是DDLDDL主要操作的是表的结构
2021-11-06 18:49:16
406
原创 输出学生成绩
输出学生成绩本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。输入格式:输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。输出格式:按照以下格式输出:average = 平均成绩max = 最高成绩min = 最低成绩结果均保留两位小数。输入样例:385 90 95输出样例:average = 90.00max = 95.00min = 85.00```c#inc
2021-02-26 14:21:47
2098
原创 重载3个不同版本的max方法和min方法,这些方法均有3个参数,分别用来求3个int、3个long、3个float数的最大值和最小值。编写Java应用程序,使用这些方法。
**重载3个不同版本的max方法和min方法,这些方法均有3个参数,分别用来求3个int、3个long、3个float数的最大值和最小值。编写Java应用程序,使用这些方法。**class s{ public int max(int x, int y, int z) { int c; c=Math.max(Math.max(x, y), z); return c; } public int min(int x,int y, int z)
2020-11-19 23:20:00
1857
1
原创 编写一个 Java 应用程序,该程序中有 3 个类:Triangle、T rapezium 和 Circle,分别用来 表示三角形、梯形和圆形。
Java 应用程序,该程序中有 3 个类:Triangle、T rapezium 和 Circle,分别用来 表示三角形、梯形和圆形。具体要求如下。Triangle 类具有类型为 double 的三个边、周长以及面积属性,Triangle 类具有构造方法初始化属性和返回周长、面积以及修改三个边的功能。另外,Triangle 类还具有一个 boolean 型的属性,该属性用来判断三个数能否构成一个三角形。Trapezium 类具有类型为 double 的上底、下底、高以及面积属性,具有构造方法初始化属性
2020-11-19 00:44:47
7379
7
原创 java三角形有关面积及周长的计算
Java三角形有关面积及周长的计算import java.util.Scanner;//创建三角形的类 成员方法(判断能否构成三角形,以及计算三角形的面积和周长),如果输入错误 可重新输入class Triangle { double x; double y; double z; double c = 0; double area = 0; public boolean judge(double x,double y,double z) {
2020-11-11 20:49:49
9290
原创 求绝对值
7-2 求绝对值求实数的绝对值。输入格式:输入数据有多组,每组占一行,每行包含一个实数。输出格式:对于每组输入数据,输出它的绝对值,要求每组数据输出一行,结果保留两位小数。输入样例:在这里给出一组输入。例如:123-234.00输出样例:在这里给出相应的输出。例如:123.00234.00PTA求绝对值#include<stdio.h>#include<math.h>int main(){ double a,b; scanf("%
2020-07-11 11:13:09
835
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人