![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 79
心尘未泯
学生
展开
-
[哈希表(Hashtable)]
数据结构与算法哈希表Hashtable底层实现Hashtable数组初始容量设置Hashtable属性定义及其初始化hash方法计算元素的下标添加元素实现删除元素实现扩容、缩容实现判断是否包含某个元素通过key获取对应的值通过键值对修改值返回元素个数及其判空操作所有key元素遍历所有值的遍历entry键值对的遍历哈希表散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射原创 2022-03-12 14:32:24 · 388 阅读 · 0 评论 -
【平衡树与优先队列】
二叉树AVL平衡树AVL平衡树的定义平衡树的调整LL旋转RR旋转LR旋转RL旋转平衡树代码实现1.平衡树的节点类及属性定义2.辅助函数2.1根据所给节点和key查找相应的节点2.2获取某个节点高度2.3计算某个节点的平衡因子2.4验证是否为二分搜索树,以及是否为平衡树2.5左右旋转实现3.添加元素4.删除元素5.判断包含,是否为空,元素个数,通过key获取value,修改value等方法实现6.返回所有key,所有value,以及所有键值对entry数组的方法7.entry子类实现最大堆属性定义及构造器定义原创 2022-02-25 07:30:00 · 421 阅读 · 0 评论 -
【二分搜索树与映射(treeMap)】
映射映射就是存储(键,值)数据对的数据结构(Key,Value),根据键(Key)找值(Value),由链表实现LinkedMap有序,由二分搜索树实现的TreeMap有序,键自然排序,由哈希表实现的HashMap无序。TreeMap实现我们借助先前实现的二分搜索树实现TreeMap,大部分方法的代码几乎是一致的,只有少许的更改。Map接口定义package ifce;public interface Map<K,V> { //将键值对key-value加入映射,如果已存在原创 2022-02-24 15:09:26 · 364 阅读 · 0 评论 -
[数据机构与算法之树形结构(二分搜索树)]
树形结构一.关于树的介绍1.树的定义2.树结点的分类3.结点间的关系(族谱)4.树的层次二.二叉树概念1.二叉树的定义2.二叉树的形态3.二叉树的特殊情况3.1斜树3.2满二叉树3.3完全二叉树4.二叉树的性质5.二叉树的存储结构5.1顺序存储结构5.2链式存储结构6.二叉树的遍历6.1前序遍历DLR6.2中序遍历LDR6.3后序遍历LRD6.4层序遍历三.二分搜索树(Binary Search Tree)1.二分搜索树定义2.代码实现2.1结点类创建和二分搜索树的属性定义及其初始化2.2元素个数和判空操作原创 2022-02-16 21:55:44 · 412 阅读 · 0 评论 -
【数据结构与算法之排序算法(2)】
排序算法快速排序单路快速排序双路快速排序三路快速排序基数排序(桶排序)基数排序介绍动态图演示:代码测试:计数排序计数排序介绍动态图演示:代码测试:快速排序单路快速排序package sort;import java.util.Arrays;public class QuickSort01 extends Sort{ public QuickSort01(int[] arr){ super(arr); } @Override public void原创 2022-02-13 13:54:58 · 292 阅读 · 0 评论 -
[数据结构与算法之排序算法(1)]
排序算法排序算法介绍测试数据准备排序父类Sort的创建比较类排序算法1.选择排序2.冒泡排序3.插入排序4.希尔排序5.归并排序上述五种排序算法速度比较排序算法介绍我们可以将其分为两类:比较类和非比较类排序算法。排序涉及到的相关概念:稳定 :如果有a和两个变量值相等,排序前a在b前面,排序后a还是在b前面。不稳定:和稳定相反,有可能a会跑到b的后面。时间复杂度:对于排序数据的总操作次数,反映当n变化时,操作次数呈现什么规律。空间复杂度:是指算法在计算机内执行时所需要存储空间的容量,它也是数据原创 2022-02-05 21:39:39 · 1193 阅读 · 0 评论 -
【mysql(zip包)安装】
mysql安装相关操作1.下载zip包,解压到非中文、非特殊字符的路径下2.将bin目录配置到环境变量3.在主目录下复制一个xx.ini修改为my.ini,修改其中的basedir和datadir:4.cmd,要以管理员身份:初始化名(记住初始密码)5.给mysql服务创建名称安装6.启动服务:7.旧密码登录(第三步中的密码)8.修改密码(给的密码太难记)9.退出,使用新密码重新登录相关操作1.下载zip包,解压到非中文、非特殊字符的路径下2.将bin目录配置到环境变量3.在主目录下复制一个x原创 2022-01-29 21:45:23 · 244 阅读 · 0 评论 -
[java数据结构与算法-链表(万金油LinkedList)]
链表一.链表1.链表定义2.动态链表3.单链表3.1代码实现3.1.1结点定义3.1.2链表的成员变量定义3.1.3将一个数组转换为链表。3.1.4添加元素3.1.5删除元素3.1.6通过角标查看元素和修改元素一.链表1.链表定义链表是一种递归的数据结构,它或者为空(null),或者是指向一个结点的引用,该节点含有一个泛型的元素和一个指向另一条链表的引用。在这个定义中,结点是一个可能含有任意类型数据类型的抽象实体,它所包含的指向结点的应用显示了它在构造构造链表中的用处。2.动态链表为了表示每个数原创 2022-01-18 07:00:00 · 493 阅读 · 0 评论 -
【java数据结构与算法-顺序表03(队列)】
队列1.队列1.1队列的定义1.2 创建队列父接口1.3基于ArrayList实现ArrayQueue1.3.1定义ArrayList变量,并初始化1.3.2进出栈操作1.3.3查看头元素,判空,清空等方法1.3.4其他方法1.3.5ArrayQueue测试类1.4循环队列1.5双端队列(double ended queue,deque)1.5.1双端队列定义1.队列1.1队列的定义先进先出队列简称队列,它是一种基于先进先出(FIFO)策略的集合类型,如图所示,按照任务产生的顺序完成他们的策略生活中很原创 2022-01-14 18:37:54 · 191 阅读 · 0 评论 -
【Java数据结构与算法-顺序表02(栈)】
顺序表1.练习使用栈解决问题1.1中缀表达式转后缀表达式,并完成计算1.2十六进制转十进制1.3十进制转十六进制1.4判断回文1.5括号匹配1.练习使用栈解决问题1.1中缀表达式转后缀表达式,并完成计算1.2十六进制转十进制1.3十进制转十六进制1.4判断回文1.5括号匹配...原创 2022-01-14 09:50:00 · 298 阅读 · 0 评论 -
[java-数据结构与算法-顺序表01]
数据结构与算法一.数据结构分类二、顺序存储实现线性结构1.线性表1.1静态数组1.2动态数组1.2.1定义List接口,实现ArrayList1.2.2ArrayList实现类1.2.3ArrayList测试类1.2.4基于ArrayList实现ArrayStack1.2.5ArrayStack的测试类一.数据结构分类按逻辑结构分为: 线性结构,树形结构,图形结构;按物理机构分为:原创 2022-01-10 19:54:06 · 594 阅读 · 0 评论 -
【javase高级-IO流复习】
io流1.File1.1常用方法1.2将文件夹下的所有文件打印输出2.InputStream3.OutputStream1.FileFile 是文件或者文件夹1.1常用方法//创建文件类 File file = new File("C:\\Users\\Administrator\\Desktop\\aa"); //判断文件是否可执行,可读,可写;返回值为Boolean值; System.out.println(file.canExecute()+"\t"+ file.canRea原创 2021-12-23 23:25:17 · 578 阅读 · 0 评论 -
[Web前端之Html]
HTML笔记一、表单form二.初识正则表达式1.部分规则:2.练习:一、表单form在我们上网时,地址栏输入内容,客户端向服务器端发送请求,服务器端给我们响应,如网页,超链接;输入内容后,点击按钮肯定会需要表单form。form:action:是指表单提交的url,method:表单的提交方式,1》get:它是不安全的,数据会在地址栏显示,提交的数据大小也是有限制的。2》post:安全的但是数据不会在地址栏显示,它隐藏在header头部信息中提交过去,虽然也有限制,但足够使用。submit按钮来原创 2021-05-29 14:07:47 · 204 阅读 · 0 评论 -
【视图与索引】
数据库视图与索引1.视图1.1视图介绍数据库中的视图是一个虚拟表。同真实地表格一样,包含一系列带有名称的行和列数据。行和列数据来自由定义视图查询所引用的表,并且在引用视图时,动态生成。视图是一个虚拟表,是从数据库中的一个或多个表中导出来的表。它可以从已经存在的视图的基础上定义。一旦定义后便存储在数据库中,与其对应的数据并没有像表那样在数据库中再存储一份,通过视图看到的数据知识放在基本表中的数据。对视图的操作与对表的操作一样,可以查询、修改、删除。当通过视图看到的数据进行变化时,相应的基本表中的数据也原创 2021-12-08 23:53:21 · 1210 阅读 · 0 评论 -
数据库查询
mysql1.单表查询1.1worker 表的创建1.2数据插入1.3数据查询2.多表查询2.1创建student和score表2.2数据插入2.3数据查询1.单表查询1.1worker 表的创建CREATE TABLE `worker` ( `部门号` INT(11) NOT NULL, `职工号` INT(11) NOT NULL, `工作时间` DATE NOT NULL, `工资` FLOAT(8,2) NOT NULL, `政治面貌` VARCHAR(10) NOT NULL DEFAULT原创 2021-12-02 23:22:15 · 184 阅读 · 0 评论 -
【jsp-servlet-el-jstl】
jsp学习jsp页面结构:脚本元素它是用来嵌入Java代码的,主要用于实现页面的请求,转发或者是动态信息的展现;它包含小脚本,表达式,声明;1).脚本片段:主要用于写Java代码;语法:<%java代码%>;2).表达式:向页面输出信息;语法:<%=表达式%>;上述两个的Java代码,表达式结果都存在于jsp生成的_jspService方法中;3).声明:jsp我们可以声明多个变量和方法,编译后最终转换成Servlet代码,变量只在当前页面有效,变量为当前页面的原创 2021-08-06 09:04:07 · 172 阅读 · 0 评论 -
【MySQL学习
MySQL笔记什么是数据库?简而言之就是存储数据的仓库,数据库(dataBase)是按照数据结构来组织、存储和管理数据的仓库,每个数据都有一个或多个不同的API用于创建,访问,管理、搜索与复制。RDBMS即关系数据库管理系统(Relational Database Management System)的特点:1.数据以表格的形式出现2.每行为各种记录名称3.每列为记录名称所对应的数据域4.许多的行和列组成一张表单5.若干的表单组成database数据库操作1.创建数据库:create原创 2021-07-13 23:31:08 · 95 阅读 · 0 评论 -
【初次接触数据库基础增删改查练习】
MySQL小练习练习1练习2练习11.案例目的创建数据库company,表offices表结构表employees表结构查看数据库中的表:创建表employees。CREATE DATABASE company;CREATE TABLE offices(officeCode INT(10) PRIMARY KEY, city VARCHAR(50) NOT NULL, address VARCHAR(50), country VARCHAR(50) NOT NULL, po原创 2021-07-12 23:20:11 · 679 阅读 · 0 评论 -
【jQuery学习】
jQuery一、jQuery的概述:jQuery是有美国人John Resig于2006年创建,它是目前最流行的JavaScript程序库,是对JavaScript对象和函数 的封装;其设计思想是write less,do more,写的少,实现功能多。1.jQuery是干什么的呢?访问和操作DOM元素;控制页面样式化;对页面时间进行处理;扩展新的jQuery插件;与Ajax技术完美结合;2.jQuery基本语法:第一种语法<script type="text/javascrip原创 2021-06-25 17:15:25 · 191 阅读 · 1 评论 -
【web前端JavaScript学习-1】
js基础学习js是干嘛的呢?JavaScript 是一种轻量级的编程语言。它可以插入 HTML 页面的编程代码, 插入 HTML 页面后,可由所有的现代浏览器执行。它是运行在客户端,保存在服务器端,当客户端向我们的服务器端发送请求的时候,服务器端就会返回给客户端包含js脚本的HTML页面。通过js对dom进行操作!js基本的语法<script type="text/javascript"></script>script标签内是HTML的脚本,script标签它可以位于原创 2021-06-07 21:52:02 · 201 阅读 · 4 评论 -
[网络编程学习及双人聊天实现]
文章目录前言一.什么是网络编程?1.网络基础二、编程jdk ---java.net1.TCP编程2.文件上传:总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。一.什么是网络编程?示例:数据是通过网络进行传输的,分为B/S,C/S;1.网络基础网络模型:OSI:应用层,表示层、会话层、传输层、网络层、数据链路层、物理层;常用的网络协议:TCP协议:建立在连接的基础上。原创 2021-05-12 21:57:58 · 99 阅读 · 0 评论 -
2021-05-10
web一、HTML简介1.1什么是HTML?1.2HTML的特点:二、HTML标签使用2.1HTML页面结构2.2标题标签2.3超链接2.4段落 和 换行 及 水平线2.5图片2.6列表2.7表格总结一、HTML简介 HTML的英文全称是:Htyper Text Marked Languager,中文的含义是超文本标记语言。1.1什么是HTML?简而言之,就是用来描述网页的一种语言;它不是一种编程语言,而是一种标记语言;标记语言是一套标记标签;HTML使用标记标签来描述网页。1.2HTML的原创 2021-05-11 09:38:17 · 84 阅读 · 0 评论 -
2021-04-14
多线程一、进程与线程的定义1.多线程的优点2.多线程的实现3.线程的状态4.多线程共享,引发的数据不一致问题5.线程安全相关的类6.死锁一、进程与线程的定义进程:一个应用程序的实例,当启动一个应用程序时,就创建该程序的实例,其实是开启了一个进程;然后就会分配内存,硬盘等电脑资源;进程就是资源分配的基本单位。线程:运行在进程之中,进程中可以开启线程;一个进程中至少有一个线程,叫主线程,main方法就是该线程的入口;当然它也可以有多个线程,除了主线程外,其他的线程是由主线程中创建的。线程是CPU调原创 2021-04-16 21:33:38 · 74 阅读 · 1 评论 -
2021-04-13
IO流输入输出流:字节流:字节输入流InputStream表示字节输入流的所有超类;方法:abstract int read()表示从输入流中获取数据的下一个字节,若到达流末尾返回-1;int read(byte[] b)从输入流中读取一定数量的字节,将其存储在缓冲数组中,到达流末尾找不到可用数据,则返回-1;void close()关闭流,并释放与该流有关的所有系统资源;FileInputStream从文件系统中的某个文件中获取输入字节;FileInputStream(File file原创 2021-04-13 21:59:21 · 70 阅读 · 0 评论 -
2021-03-26
集合collection集合:单列集合的根接口,表示一组对象,把一堆数据放到一起;位于java.util包下的一些接口和类;List和set是继承了collection接口;ArrayList,LinkedList继承了List,List列表:有序可重复,访问与插入顺序一致;有索引;可以出现null元素(可参考动态数组)ArrayList:可变长的数组,但是不是同步的,所以不是线程安全的;优点:访问、修改速度快;缺点:增删速度慢;多适用于查询、遍历较多的;package xyl;原创 2021-03-26 22:41:41 · 55 阅读 · 1 评论 -
异常处理
Javase异常文章目录Javase异常前言一、异常处理机制二、具体的使用1.异常的方法代码2.异常下代码的执行顺序3.异常体系总结前言异常是指在程序编译或运行过程中出现的不正常的情况;例如:Exception in thread “main” java.lang.ArithmeticException: / by zero,被除数为0;从面向对象来看,异常其实也是一个对象。一、异常处理机制预置一些异常处理程序—如果异常情况—执行相应的处理程序,这样就不会让程序中断例如:小明每天都要原创 2021-03-19 15:22:54 · 75 阅读 · 1 评论 -
2021-03-13
基本数据类型包装类基本数据类型分为数值型、字符型、布尔型;数值型:byte,short,int,long,float,double;字符型:char;布尔型:boolean注意:基本数据类型都是存在栈内存中的,存储的是它的值本身,赋值与参数传递时也是对其值进行操作;包装类的由来:由于Java是面向对象的,对象都是存在属性和方法的,但基本数据类型只有属性,没有方法,不符合面向对象,Java为了完善,提供更多的方法区操作基本数据类型,就提供了包装类;包装类名包装类名除了char–Chara原创 2021-03-13 23:17:08 · 104 阅读 · 0 评论 -
2021-03-09
包与权限,object类,枚举包与权限包相等于文件夹,其作用是和文件夹相似;1.用来管理Java的文件并且还可以解决重名问题;2.保护资源,(结合了访问控制符限制外界访问);包名的定义:。一般是用小写英文;。通常是公司域名的倒写+部门名称+项目名称+模块用.分隔;例如(com.openlab.student.entity)包的创建:。new package包的声明必须位于第一行非注释语句,例如;package com.openlab.student.entity,在不同包下如果想用另一个原创 2021-03-10 23:23:25 · 58 阅读 · 1 评论 -
理解多态及经典案例分析
多态与内部类多态即一种事物多种形态;多态实现Animal a = new Dog(),具体看的是执行的子类,最终由子类决定;优点:灵活性和其可扩展性;缺点:父类的引用指向子类对象,或者说是实例类对象赋值给父类对象,其不能引用子类的特有方法;多态实现:重载就使用多态的重点1....原创 2021-03-09 09:48:52 · 1032 阅读 · 0 评论 -
面向对象之继承
第八章继承8.1继承概述:继承本质在于抽象。继承 就是对一些类的抽象;对于多个事物之间有共同的属性或行为,其代码的复用性又很差,就可以将多个事物之间重复性的属性和行为进行提取,提取后放在另一个单独的类即可;但这些代码没有关系;我们要是用extends 进行继承;代码:class Animal{ String eye; void run(){ System.out.println("跑步!"); } void eat(){ System原创 2021-02-24 21:52:02 · 165 阅读 · 0 评论 -
String部分方法底层实现
String 类一些方法的自我实现2月23日继续加油public class Demo117{ public static void main(String[] args){ char[] chars = {'a','b','c'}; MyString s1 = new MyString("abc"); MyString s2 = new MyString(chars); System.out.println(s1.compareT原创 2021-02-23 20:35:41 · 71 阅读 · 0 评论 -
2021-02-22
Java代码练习2月22日public class Demo108{ public static void main(String[] args){ Fan f1 = new Fan(); System.out.println(f1.toString()); f1.setOn(true); f1.setColor("yellow"); f1.setRadius(33.0); System.out.p原创 2021-02-22 21:20:21 · 69 阅读 · 0 评论 -
面向对象之类与对象
第7章类与对象7.1面向过程与面向对象思想面向过程:当我们在解决一个问题时,会按照预先设定的想法和步骤逐步去实现,其中每一步的具体实现都要我们亲自去操作实施;例如:自己做饭;自己做-》洗菜-》切菜-》炒菜-》吃;在这个过程中,我们是执行者;特点:耗费时间,精力,结果不一定完美;面向对象在我们解决一个问题时,可以找具有相对对应功能的事物或人帮我们去解决问题,别人也可以托人,但最终,事情必须解决掉,但一旦处理就是面向过程;举例:创造一辆车;将其划分成多个模块,发动机,车轮,外壳,内置设施等等,交原创 2021-01-28 20:54:46 · 175 阅读 · 1 评论 -
基础编程题练习
1.25编程练习题import java.util.Scanner;public class Demo82{ public static void main(String[] args){ Scanner input = new Scanner(System.in); int[] arr = new int[101]; System.out.print("Enter numbers:"); while(true){原创 2021-01-25 23:37:36 · 101 阅读 · 0 评论 -
2021-01-15
判断推理题:原创 2021-01-15 10:09:32 · 1713 阅读 · 0 评论 -
2021-01-15
编程题解题思路.1给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。1.在副函数中定义一个数组;并给目标值赋值;运用循环计算每两个数的原创 2021-01-15 13:42:59 · 113 阅读 · 2 评论 -
数组
第六章数组6.1函数的定义与概念数组主要是用于解决大量的数据计算与存储的问题;比如:输入100个数,统计最大值和最小值并计算平均值,创建100个变量,会有一堆if-else语句,非常麻烦。数组是Java提供的一种简单的数据结构,可以用来存储一个元素,其个数固定,类型相同的有序集;数组在内存中的情况:堆:主要用于运行函数的内存;堆:主要用于存储数据对象的内存;每一个数组,都是存在堆内存中,每一个数组就是一个对象;数组本质上就是在对内存中一系列地址连续且空间大小相等的存储空间,每个存储空间用来原创 2021-01-21 20:54:56 · 346 阅读 · 0 评论 -
JAVA第五章函数
第五章函数5.1函数的概念:函数的定义:函数的定义就是指一段具有独立功能的代码,减少代码冗余,提高程序的利用率和效率;那应该怎样定义一个函数呢?1.需要的封闭空间,用于将这段独立性的代码进行封装,使用的是一对大括号{};2.需要对每一个封闭的空间进行命名,即函数名;3.其所需要的一些原始数据;4.所产生的一些结果数据;函数的语法格式:修饰符 函数类型 返回值类型 函数名 (数据类型 数据1,2、、){独立功能的代码片段;return 函数的计算结果;}修饰符:指函数的访问权原创 2021-01-20 21:06:33 · 96 阅读 · 0 评论 -
2021-01-17
java 笔记第四章常用类4.1Math类Math类是用于数学的一个工具类;内部大部分是静态的static;自带常量:static double E: 自然对数;static double PI: 圆周率;取整方法:static double ceil(double a):向上取整;static double floor(double a) :向下取整;static long round(double a):四舍五入;static double sin(double a):正弦函数 参数原创 2021-01-17 23:38:03 · 224 阅读 · 0 评论 -
2021-01-16JAVA基础循环,选择结构练习
第二周期java笔记代码练习题:当两圆的圆心距小于等于两个圆的半径之差,则在小的在大的圆内;若两圆的圆心距大于两个圆的半径之差小于两圆半径之和时,则两圆相交,两圆的圆心距大于等于两个圆的半径之和,则在圆外;import java.util.Scanner;public class Demo30{public static void main(String[] args){Scanner input = new Scanner(System.in);//输入两个圆中心坐标;double x原创 2021-01-16 22:35:50 · 246 阅读 · 1 评论