- 博客(67)
- 收藏
- 关注
原创 Java多线程-----Thread类的基本用法,线程的状态及其转化 ✧*(ˊᗜˋ*) ✧*
Java多线程-----Thread类的基本用法,线程的状态及其转化 ✧*(ˊᗜˋ*) ✧*
2024-07-18 12:44:26
1337
56
原创 分治精炼宝库----归并排序应用( ´◔︎ ‸◔︎`)
在计算机科学中,分治法是一种很重要的算法。字面上的解释就是“分而治之”,就是把一个复杂的问题分成两个或则更多个相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。
2024-06-23 15:08:46
1419
76
原创 JavaEE初阶---多线程编程(一.线程与进程)
JavaEE初阶:多线程详解~~进程想要执行任务就需要依赖线程。换句话说,就是进程中的最小执行单位就是线程,并且一个进程中至少有一个线程。
2024-06-07 23:11:41
1753
71
原创 Java的数据库编程-----JDBC
目录一.JDBC概念&使用条件:二.mysql-connector驱动包的下载与导入:三.JDBC编程:使用JDBC编程的主要五个步骤:完整流程1(更新update):完整流程2(查询query): 🧐JDBC:即JAVA Database Connectivity,Java数据库连接。是一种用于执行SQL语句的JavaAPI,它是Java中的数据库连接规范。这个API由java.sql.*,javax.sql.*包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系
2024-06-02 20:59:50
3601
80
原创 Java Sort 方法的使用(包含Arrays.sort(),Collections.sort()以及Comparable,Comparator的使用 )
Java Sort方法的使用
2024-05-30 20:22:14
3899
84
原创 BFS解决最短路问题(详解)
说到BFS,想必大家都不陌生,我们在学习二叉树的遍历时所用到的层序遍历其实就是BFS,那么BFS能解决什么样的问题呢?通过本文标题,你也大致能猜到----解决最短路问题,这是一个比较经典的问题,当然,BFS还能解决很多其他问题,本文就着重介绍其中一种---最短路问题。BFS(广度优先搜索):是一种图形搜索算法,它从根节点开始,逐层地向下扩展搜索。BFS通常用队列来实现,即先进先出的数据结构。这意味着每个节点都将按照它们被发现的顺序进行处理。
2024-05-27 22:09:44
2366
54
原创 动态规划----股票买卖问题(详解)
动态规划买卖股票的最佳时机是一个经典的算法问题。该问题的目标是在给定的股票价格数组中,找到最大的利润,即最佳的买入和卖出时间,使得买入时间早于卖出时间。
2024-05-12 13:48:18
4603
72
原创 JavaSE-----内部类详解(实例内部类,局部内部类,静态内部类,匿名内部类)
目录认识内部类:一.实例内部类:二.局部内部类:三 匿名内部类: 四、静态内部类小结: 🐻🐻🐻什么是内部类?官方解释:Java内部类是指在一个类的内部定义的类。它可以访问外部类的成员变量和方法,并且可以被外部类实例化。🦉🦉🦉通俗的来讲就是:字面意思,在类的内部编写的类就叫内部类!即一个类的内部又完整的嵌套了另一个类结构,被嵌套的类称为内部类(inner class),嵌套其他类的类称为外部类(outer class)。😺😺😺内部类是类的第五大成员→【提示:类的五大成员是哪些?--
2024-04-04 20:29:56
4434
104
原创 动态规划-----背包类问题(0-1背包与完全背包)详解
背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。相似问题经常出现在商业、组合数学,计算复杂性理论、密码学和应用数学等领域中。也可以将背包问题描述为决定性问题,即在总重量不超过W的前提下,总价值是否能达到V?它是在1978年由Merkle和Hellman提出的。
2024-03-31 20:15:17
4248
86
原创 动态规划-----最长公共子序列(及其衍生问题)
目录一.最长公共子序列的基本概念:解决动态规划问题的一般思路(三大步骤):二.最长公共子序列题目:三.字符串的删除操作:四.最小 ASCII 删除和:首先需要科普一下,最长公共子序列(longest common sequence)和最长公共子串(longest common substring)不是一回事儿。什么是子序列呢?即一个给定的序列的子序列,就是将给定序列中零个或多个元素去掉之后得到的结果。什么是子串呢?给定串中任意个连续的字符组成的子序列称为该串的子串。给一个图再解释一下:最长公共子序列,顾名思
2024-03-25 13:16:48
4356
108
原创 Java小项目-------图书管理系统
经过上面的操作,我们成功运用我们所学的知识实现了一个小项目,在设计这个系统时,可以使用Java语言进行开发。可以使用面向对象的思想,将图书、借阅记录和用户等实体抽象成类,并使用类之间的关联关系来实现各个功能。同时,在实现过程中我们也巩固了之前所学的内容。其对应的逻辑结构如下:java实现简单的图书管理系统_java怎么创建一个图书馆系统-优快云博客写博客不仅仅是为了分享学习经历,同时这也有利于我巩固自己的知识点,总结该知识点,由于作者水平有限,对文章有任何问题的还请指出,接受大家的批评,让我改进。
2024-03-20 13:23:54
6066
101
原创 JavaSE-----认识异常【详解】
Java中虽然已经内置了丰富的异常类但是并不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我们实际情况的异常结构实现方法:🐻🐻🐻自定义异常类,然后继承自Exception或者🐻🐻🐻实现一个带有String类型参数的构造方法,参数含义:出现异常的原因static int quotient(int x, int y) throws MyException { // 定义方法抛出异常if (y < 0) { // 判断参数是否小于0。
2024-03-16 21:48:50
4589
100
原创 【java数据结构】HashMap和HashSet
之前的学习中,如果我们要查找一个元素,肯定是要经过比较的,那有没有一种办法,可以不用经过比较,直接就能拿到呢?如果我们能构造一种存储结构,通过一种函数 (hashFunc) 使元素的存储位置与函数得出的关键码之间能够建立一一映射的关系,那么在查找某个元素的时候,就能通过这个函数来很快的找到该元素所在的位置。这种函数就叫做哈希(散列)函数,上述所说构造出来的结构,叫做哈希表或者称为散列表。哈希表简介:哈希表(Hash Table):也叫做散列表。
2024-03-12 21:30:02
3432
86
原创 javaSE-----继承和多态
Java中使用类对现实世界中实体来进行描述,类经过实例化之后的产物对象,则可以用来表示现实中的实体,但是现实世界错综复杂,事物之间可能会存在一些关联,那在设计程序是就需要考虑。👌👌👌那具体来说是怎么样的呢?🧐🧐🧐举个例子,比如猫狗,他们都是一个动物:class Cat{System.out.println(this.name+"正在吃!");class Dog{System.out.println(this.name+"正在吃!");
2024-03-08 15:43:38
3712
74
原创 二叉搜索树(BST)的创建及增,删,查,改(详解)
目录初识二叉搜索树(BST):二叉搜索树查找元素:二叉搜索树修改元素:二叉搜索树中的增加元素:二叉搜索树中的删除元素:一张图简要概括二叉搜索树:通过定义可知,对于每个节点,左子树的所有节点的值都比它小,右子树的所有节点值都比它大,我们可以很轻易的得出这颗树的最左侧叶子节点的值是最小值,最右侧叶子节点的值是最大值。那中序遍历为什么一定是有序的呢?原理也很简单, 我们先看看二叉树递归的图解: 对于图中的二叉树,中序遍历的结果是:3,2,4,1,7,6,5。按照左子树-》根-》右子树的模式不断递归,结合BST左小
2024-03-08 15:43:13
1900
38
原创 一文弄懂回溯算法(例题详解)
回溯是递归的副产品,只要有递归就会有回溯」,所以回溯法也经常和二叉树遍历,深度优先搜索混在一起,因为这两种方式都使用了递归。详细地说:可以将回溯算法过程理解成一颗多叉树的遍历过程, 回溯法按深度优先策略搜索问题的解空间树。首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解)。如果不可行,则跳过对该节点为根的子树的搜索,逐层向其祖先节点回溯;否则,进入该子树,继续按深度优先策略搜索。void backtrack(参数) {
2024-03-02 23:07:07
2477
33
原创 通过二叉树例题深入理解递归问题
目录引入:例1:二叉树的前序遍历:例2: N叉树的前序遍历: 例3:二叉树的最大深度:例4:二叉树的最小深度 例5:N叉树的最大深度:例6:左叶子之和:例7:翻转二叉树:例8: 路径总和:例9:路径总和II:例10:二叉树展开为链表:递归是一种在函数定义中使用函数自身的方法。它是一种常见的编程技巧,用于解决可以被分解为相同问题的子问题的问题。递归函数通常包含两个部分:基本情况和递归情况。基本情况是指递归函数停止调用自身的条件。当满足基本情况时,递归函数将不再调用自身,而是返回一个特定的值或执行特定的操作。递
2024-02-26 20:57:25
1521
24
原创 图的遍历-----深度优先遍历(dfs),广度优先遍历(bfs)【java详解】
图的遍历是指,从给定图中任意指定的顶点(称为初始点)出发,按照某种搜索方法沿着图的边访问图中的所有顶点,使每个顶点仅被访问一次,这个过程称为图的遍历。遍历过程中得到的顶点序列称为图遍历序列。深度优先搜索(DFS,Depth First Search)广度优先搜索(BFS,Breadth First Search)
2024-02-21 17:55:54
3348
18
原创 十大经典排序算法之一--------------堆排序(java详解)
平均时间复杂度均为O(nlogn)每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。
2024-02-18 17:31:59
1632
13
原创 线索化二叉树(先序,中序,后序)+线索化二叉树的遍历【java详解】
n个结点的二叉链表中含有n+1 【公式 2n-(n-1)=n+1】 个空指针域。利用二叉链表中的空指针域,存放指向该结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为"线索")这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树(Threaded BinaryTree)。根据线索性质的不同,线索二叉树可分为前序线索二叉树、中序线索二叉树和后序线索二叉树三种一个结点的前一个结点,称为前驱结点一个结点的后一个结点,称为后继结点//线索化时记录前一个节点//节点存储结构。
2024-02-17 18:05:59
2772
13
原创 二叉树-------前,中,后序遍历 + 前,中,后序查找+删除节点 (java详解)
super();//前中后序遍历//前序遍历return;//中序遍历return;//后续遍历return;//前中后序查找//前序查找//用于记录递归查找的次数++count1;= null){= null){//中序查找//记录中序查找次数= null){if(resNode!= null){//后序查找//记录后序查找遍历次数。
2024-02-14 17:43:44
1820
10
原创 哈希表(Hash Table)-----运用实例【通过哈希表来管理雇员信息】(java详解) (✧∇✧)
哈希表(Hash Table):也叫做散列表。是根据关键码值(Key Value)直接进行访问的数据结构。哈希表通过「键 key 」和「映射函数 Hash(key) 」计算出对应的「值 value」,把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做「哈希函数(散列函数)」,存放记录的数组叫做「哈希表(散列表)」。使用方法:向哈希表中插入一个关键码值:哈希函数决定该关键字的对应值应该存放到表中的哪个区块,并将对应值存放到该区块中。在哈希表中搜索一个关键码值。
2024-02-09 11:05:30
1152
10
原创 java---查找算法(二分查找,插值查找,斐波那契[黄金分割查找] )-----详解 (ᕑᗢᓫ∗)˒
int mid = left + (right – left) * (findVal – arr[left]) / (arr[right] – arr[left]) -----》相当于公式。数组 arr = [1, 2, 3, ......., 100] 假如我们需要查找的值 1 使用二分查找的话,我们需要多次递归,才能找到 1。前提条件: 所要查找的数组必须为有序,如果不是有序要事先排序好。相对二分查找,插值查找效率更高,但是与二分查找一样需要数组有序。比如我们查找的值 100。
2024-02-06 19:32:49
1575
11
原创 (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序,堆排序】超详细~~
目录冒泡排序(BubbleSort):代码详解: 冒泡排序的优化: 选择排序(SelectSort):代码详解: 插入排序(InsertSort):代码详解: 希尔排序(ShellSort): 法一(交换法)代码详解: 法二(移位法-->插入排序的优化)代码详解:快速排序(QuickSort): 代码详解: 归并排序(MergetSort):代码详解: 基数排序(RadixSort):代码详解:最后,一张图概括: 图解:运行结果:(通过运行结果来展示“气泡”向上挪动的过程,较大的数逐渐沉底)因为排序的
2024-02-02 20:33:43
1895
8
原创 递归再认识----【详解】内含迷宫和八皇后问题
函数递归就是方法自己调用自己的一种方式,每次传入不同的变量这种方法的主要思想就是把大事化小。
2024-02-01 10:28:48
1590
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人