- 博客(31)
- 资源 (5)
- 收藏
- 关注
原创 第八章:排序
8.1 基本概念排序(sort):重新排列表中元素,使表中元素满足按关键字有序的过程排序算法的稳定性:若待排序表中有两个元素对应的关键字相同,通过排序算法排序后,相对位置不变,则称算法具有稳定性,反之则无稳定性。内部排序:数据都在内存中,关注如何使算法时空复杂度更低外部排序:数据太多,无法全部放入内存,还要关注如何使读写磁盘次数更少8.2 插入排序算法思想:每次将一个待排序的记录按其关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成。8.2.1 直接插入排序//直接插入排序voi
2021-10-27 16:47:10
198
原创 第七章:查找
7.1 基本概念查找:在数据集合中寻找满足某种条件的数据元素的过程查找表(查找结构):用于查找的数据集合称为查找表,它由同一类型的数据元素(或记录)组成关键字:数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的查找表常见操作:①查找符合条件的数据元素②插入删除某个数据元素只需进行操作①——静态查找表也要进行操作②——动态查找表查找长度:在查找运算中,需要对比关键字的次数平均查找长度(ASL):所有查找过程中进行关键字的比较次数的平均值7.2 顺序查找t
2021-10-26 11:05:32
212
原创 第六章:图
6.1 图的定义图G由顶点集V和边集V组成,记为G=(V,E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的边集合。若V={v1,v2,…,vn},则用|V|表示图G中顶点的个数,也称图G的阶;用|E|表示图G中的边数。有向图:G1=(V1,E1)V1={A,B,C,D,E}E1={<A,B>,<A,C>,<A,D>,<A,E>,<B,A>,<B,C>,<B,E>,<C,D>}
2021-10-20 15:57:31
378
原创 第五章:树与二叉树
5.1 树的基本概念树:n个结点的有限集合,n=0时称为空树(从树根生长,逐渐分支)空树:结点数为0的树非空树特性:有且仅有一个根节点没有后继 的结点称为叶子节点有后继的结点称为分支结点除根节点外,任何结点都有且仅有一个前驱每个结点可以有0个或多个后继除根节点外,其余结点可分为m(m>0)个互不相交的有限集合T1,T2 … Tm,其中每个集合本身又是一颗树,并称之为根节点的子树树是一种递归定义的数据结构两个结点之间的路径只能从上往下路径长度是经过几条边树的属性:结点
2021-10-14 17:03:27
941
原创 第四章:串
4.1串的定义和基本操作串,即字符串,是由零个或多个字符 组成的有限 序列,一般记为:S=‘a1a2…an’;其中S是串名,单引号内是串的值;ai可以是字母、数字或其他字符;串中的字符个数n称为串的长度 ,n=0时的串称为空串。子串:串中任意个连续的字符组成的子序列。主串:包含子串的串。字符在主串中的位置:字符在串中的序号。子串在主串中的位置:子串的第一个字符在串中的序号。空串VS空格串:M=’’ VS N=’ ’ 空格占字节串是一种特殊的线性表,数据元素之间成线性关系串的数据对象
2021-07-19 20:53:07
717
原创 第三章:栈和队列
3.1栈3.1.1栈的概念和基本操作栈(Stack)是只允许在一端 进行插入或删除操作的线性表 。栈顶(Top),线性表允许进行插入删除的那一端。栈底(Bottom),固定的,不允许进行插入删除的另一端。空栈,不含任何元素的空表。操作特性: 后进先出(Last In First Out)!栈的基本操作:InitStack(&S):初始化一个空栈StackEmpty(S):判断一个栈是否为空,若栈S为空则返回true,否则返回falsePush(&S,x):进栈,若栈S未
2021-07-02 11:10:22
209
原创 第二章:线性表
2.1线性表的定义和基本操作2.1.1线性表的定义线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。位序: 从1开始,表示线性表中的第几个元素下标: 从0开始线性表中存在唯一的“第一个”数据元素,又称表头元素;唯一的“最后一个”数据元素,又称表尾元素。除第一个元素外,每个元素有且仅有一个直接前驱,除最后一个元素外,每个元素有且仅有一个直接后继。2.1.2线性表的特点表中元素的个数有限表中元素具有逻辑上的顺序性,表中元素有其先后顺序
2021-06-24 17:28:08
375
原创 第一章:绪论
1.1数据结构基本概念数据: 计算机程序加工的原料数据元素: 数据的基本单位,由若干数据项组成数据项: 数据元素不可分割的最小单位,例如:学生记录是数据元素,它由学号、姓名、性别等数据项组成数据对象: 具有相同性质的数据元素的集合,是数据的一个子集,套用数学概念:数据是所有数,子集有整数集N,儿N在数据结构概念中叫整数数据对象数据类型: 一个值的集合和定义在此集合上的一组操作的名称原子类型:基本数据类型int、bool等结构类型:自定义的结构,内涵多个基本数据类型抽象数据类型 :抽象数据组
2021-06-16 10:30:44
134
原创 Java图形化界面GUI:事件监听
事件监听:当某个事情发生的时候,干什么?package com.zdz.gui;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class TestActionEvent { public static
2021-03-26 18:19:38
247
原创 Java图形化界面GUI:初接触
简介图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。JavaGUI核心技术: Swing,AWT;JavaGUI缺点: 界面不美观,需要jre环境;为什么要学习?可以写出自己心中想要的小工具工作可能需要维护Swing界面,概率极小了解MVC架构,了解监听AWT包含了很多类和接口 GUI的元素:窗口,按钮,文本框包:java.awtFramePanel面板布局管理器详情见代码:
2021-03-16 20:31:26
185
原创 Java异常:try-catch-finally
异常(Exception):异常是指程序运行中出现的不期而至的各种状况,如:文件找不到、网络链接失败、非法参数等异常指程序运行期间,它影响了正常的程序执行流程简单分类:检查性异常:用户错误引起的异常,这些异常编译时不能被忽略运行时异常:是可能被程序员避免的异常,这些异常编译时可以被忽略错误:不是异常是脱离程序员控制的问题ArrayIndexOutOfBoundsException:数组下表越界NullPointerException:空指针异常ArithmeticException:算数异
2021-03-15 18:18:55
142
原创 Java面向对象:static,抽象类,接口,内部类
抽象类(abstract):abstract既可修饰类也可修饰方法;即抽象类与抽象方法抽象类中可以没有抽象方法,但有抽象方法的类一定要声明为抽象类抽象类不能用new关键字来创建对象,它是用来让子类继承的抽象方法只有方法的声明,没有方法的实现,它是用来让子类实现的子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类接口:普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有接口:只有规范,自己无法写方法,专业的约束。接口和实现分类:面向接口编程接口就是规
2021-03-15 16:45:42
109
原创 Java面向对象:封装,继承,多态
封装:该露的露,该藏的藏我们程序设计要求“高内聚,低耦合”,高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用封装就是数据的隐藏:属性私有private,通过set/get方法操作数据继承:继承是类和类之间的一种关系,继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类用关键字extends表示extends的意思是“扩展”,子类是父类的扩展。可表示为子类 is a 父类,如学生 is a 人Java中只有单继承,没有多继承;孩子只有
2021-03-15 14:26:05
520
1
原创 Java面向对象:面向对象、方法的回顾
面向过程思想:步骤简单清晰,第一步做什么,第二步做什么…面向过程适合处理一些较为简单的问题面向对象思想:物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类的细节进行面向过程的思考面向对象适合处理复杂的问题,适合处理需要多人协作的问题属性加方法就是类了面向对象的本质: 以类的方式组织代码,以对象的组织(封装)数据三大特性: 封装、继承、多态从认识的角度考虑是先有对象后有类,对象,是具体的事物;类是抽象的,是对对象是抽象从代码的角度考
2021-03-11 16:30:25
110
2
原创 Java数组:稀疏数组
记得看数据结构教材,有关稀疏数组介绍很全话不多说,直接上代码:package com.zdz.array;public class ArrayDemo1 { public static void main(String[] args) { //1.创建一个二维数组 11*11 稀疏数组 int[][] array1=new int[11][11]; array1[1][2]=1; array1[2][3]=2;
2021-03-11 13:17:42
146
1
原创 Java数组:多维数组(二维),Arrays类,冒泡排序
Arrays类数组工具类:java.util.ArraysArrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而”不用“使用对象来调用具有以下常用功能:给数组赋值:通过fill方法对数组排序:通过sort方法,按升序比较数组:通过equals方法比较数组中元素值是否相等查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作冒泡排序:两层循环,外层冒泡轮数,里层依次比较,时间复杂度:O(n^2)package com.zdz
2021-03-11 13:13:41
265
原创 Java数组:初识数组
数组:数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们数组基本特点:其长度是确定的,数组一旦被创建,它的大小就是不可以改变的其元素必须是相同类型,不允许出现混合类型数组中的元素可以是任何数据类型,包括基本类型和引用类型数组变量属于引用类型,数组也可以看作是对象,数组中的每一个元素相当于该对象的成员变量数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他
2021-03-11 10:10:04
395
原创 Java方法:练习,控制台简易计算器
可以更改计算个数的简易计算器package com.zdz.method;import java.util.Scanner;public class Operator { public static void main(String[] args) { System.out.println("===========简易计算器=========="); System.out.println("请选择:1.加法 2.减法 3.乘法 4.除法 T.退出");
2021-03-09 18:05:07
293
原创 Java方法:命令行传参,重载,可变参数,递归
Java方法:System.out.println()//系统类.out对象.输出方法Java方法是语句的集合,他们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样利于我们后期的扩展修饰符 返回值类型 方法名(参数类型 参数名){…方法体…return 返回值;}**调用方法:*
2021-03-09 16:30:11
173
原创 Java流程控制:增强for循环,break&continue,打印99乘法表与三角形
增强for循环:java5引入了一种主要用于数组或集合的增强for循环for(声明语句:表达式){//代码句子}声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等表达式:表达式是要访问的数组名,或者是返回值为数组的方法break & continuebreak在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中的剩余语句(break语句也可在switch语句中使用)
2021-03-09 09:38:09
426
1
原创 Java流程控制:三种基本结构
顺序结构:Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结构语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,他是任何一个算法都离不开的一种基本结构。选择结构:if单选结构if(布尔){//如果布尔表达式的值为true}if双选结构if(布尔){//如果布尔表达式的值为true}else{//如果布尔表达式的值为false}if多选结构if(布尔1){//如果布尔表达式1的值为true
2021-03-08 11:36:39
291
原创 Java流程控制:用户交互Scanner
java.util.Scanner工具类获取用户输入**语法:**Scanner scanner = new Scanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据next():1.一定要读取到有效字符后才可以结束输入2.对输入有效字符之前遇到的空白,next()方法会自动将其去除3.只有输入有效字符后才将其后面的空白作为分隔符或者结束符4.
2021-03-07 15:53:37
93
转载 Java基础:运算符
算数运算符:+,-,*,/,%,++,–赋值运算符:=关系运算符:>,<,>=,<=,==,!=,instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>条件运算符: ?:扩展赋值运算符:+=,-=,*=,/=请仔细阅读下方代码package operator;public class Demo1 { public static void main(St
2021-03-07 14:40:02
151
转载 java基础:变量、常量与作用域
变量就是可以变化的量,每个变量都必须声明其类型,Java 变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。作用域类变量实例变量局部变量常量初始化后不能在改变值,不会变动的值,它的值被设定后,在程序运行过程中不允许被改变final 常量名=值常量名一般使用大写字符public class demo1 { //常量 //修饰符,不存在先后顺序 static final double PI=3.14; //类变量 static 从属于类,随
2021-03-07 14:36:10
95
转载 java基础:数据类型拓展
public static void main(String[] args) { //单行注释 //输出hello,world! //System.out.println("hello,world!"); //整数拓展 int i=10;//十进制 int i1=010;//8进制0 int i2=0x10;//16进制0x System.out.println(i);
2021-03-07 14:34:04
90
原创 Java基础:特性write once;run anywhere!
三高:高可用 高性能 高并发特性:简单性面向对象:万物皆为对象可移植性高性能分布式动态性多线程安全性健壮性Java三大版本javaSE:标准版(桌面程序,控制台)javaME:嵌入式开发(手机,小家电)javaEE:企业级开发(web端,服务器开发)jdk、jre、jvm:jdk:java development kit 开发工具jre:Java runtime environment 运行时环境jvm:Java virtual machine 虚拟机(跨平台)jdk&
2021-03-07 14:31:40
315
原创 Java基础:常用基础dos命令
打开cmd的方式1.开始+系统+命令提示符2.win键+R 输入cmd 打开控制台3.在任意的文件夹下,按住shift键+鼠标右键点击,在此处打开命令提示行4.在资源管理器的地址栏前面加上cmd路径管理员运行:选择以管理员方式运行常用dos命令D:回车 换盘福dir查看当前目录cd空格文件夹 进入此文件夹cd /d E:\IDE 跨盘符进入文件夹cd… 返回上一级目录cls 清理屏幕exit 退出ipconfig 查看ipcalc 打开计算器mspaint 打开画图note
2021-03-07 14:29:43
86
原创 Java基础:说一说markdown
前言在系统学习Java等开发语言之前,我们应该养成写”日记“的习惯,也就是写博客;写博客的地方有博客园,csdn等。而写博客又得知道markdown重文本,下载typora就可以开始学习了。重文本语法规则标题#表示标题,几个#表示几个标题,#之后输入空格写文字字体粗体:hello world ! 文字两边加**斜体:hello world ! 文字两边加*粗斜体:hello world ! 文字两边加***删除线:hello world ! 文字两边加~~引用大于号表示引用,写文章时
2021-03-07 14:28:19
116
原创 解压版mysql8.x登录报错与密码重置
解压版 MySQL8.x更改root密码适用情况:1、忘记密码2、登陆时报错:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)解决思路:重置密码:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;操作步骤:1、win+...
2020-04-28 22:38:09
202
原创 简易购物网站JSP
开发工具:1.myeclipse20142.SQLServer2012开发思路:开发思路及过程请详看附件内开发文档数据库说明:需创建一个数据库(shopDB),三个表(users、goods、shopCart),空表即可,后期可通过后台管理增加商品信息。三个表的属性分别为:users(userId主键递增,userName,userPassword);goods(id主键递增,n...
2020-02-23 14:52:28
2848
4
原创 网页基本构造介绍
静态网页:不动的网页,无交互能力动态网页:可交互,可实现更多功能,如注册。。。网站都有IP地址,似身份证号;有域名,似姓名(此为备案,合法的都有域名);只有IP无域名的为暗网(不合法)。协议:http等web服务器www(world wide web)作用:整理储存各种www资源,响应客户端请求。特点:1、普通计算机成为web服务器需相应程序(IIS、Tomcat)2、客户端请求文件...
2020-02-22 20:03:03
960
基于MVC模式的高考志愿填报系统.zip
2021-06-16
jQuery mobile购物apk.zip
2020-02-22
努比亚官网模仿html5.zip
2020-02-22
图书类别信息管理BookManage.zip
2020-02-22
简易购物网站javaWeb
2020-02-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人