- 博客(220)
- 资源 (13)
- 问答 (6)
- 收藏
- 关注
原创 c++生成与读取二进制文件
c++生成与读取二进制文件代码代码#include <iostream>#include <fstream>#include <string>using namespace std;//读取int32类型的数据 void read_int32(char * addr, int size){ int* data = new int[size]; //read std::ifstream inF(addr, std::ios::binary)
2021-07-12 23:04:24 1238 1
原创 MobaXterm连接服务器
MobaXterm连接服务器软件下载与安装SSH连接Linux服务器SSH上传文件到服务器软件下载与安装下载(1)进入官网地址:https://mobaxterm.mobatek.net/(2)点击Download(3)选择左侧 Free – Download now(4)选择左侧 Portable edition(解压即可用,不用安装),下载(5)下载后,解压压缩包,点击文件夹中的.exe文件,即可使用MobaXterm,如图所示。SSH连接Linux服务器SSH上传文件到服务
2021-04-23 11:29:00 13397 1
原创 33道数据库题目
34道数据库题目准备三张表题目准备三张表emp–员工表dept–部门表salgrade–工资等级表题目取得每个部门最高薪水的人员名称(方法1)select ename, sal, deptno from emp where sal in (select max(sal) from emp group by deptno);(方法2)select e.ename, e.sal, e.deptno from emp e join (select deptno, max(sa
2021-04-02 08:59:28 1894 1
原创 Java中==与equals()的测试
@TOC代码/** * 测试 == 和 equals方法 在基本数据类型和引用类型之间的判断. * 1. == 比较的是值。如果是基本数据类型,比较的就是数值;如果是引用类型,比较引用指向的地址 * 2. equals() 默认比较的是地址,此方法最初定义在Object类中,方法的实现是比较地址。在String * 类中重写了此方法,使其比较的是内容。 */public class demo1 { public static void main(String[] args){
2021-03-02 11:23:42 233
原创 最小生成树算法
最小生成树算法最小生成树Prim算法最小生成树 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边,对于加权图,边的权值之和还应最小。Prim算法算法描述输入:一个加权连通图,其中顶点集合为V,边集合为E;初始化:Vnew = {x},其中x为集合V中的任一节点(起始点),Enew = {},为空;重复下列操作,直到Vnew=V:(1)在集合E中选取权值最小
2021-01-16 19:54:34 159
原创 csp试题1: 期末预测之安全指数
csp试题1: 期末预测之安全指数题目分析代码总结题目题目背景 期末要到了,小菜同学找到了自己的好朋友顿顿,希望可以预测一下自己这学期是否会挂科。题目描述 首先,顿顿选取了如“课堂表现”、“自习时长”、“作业得分”、“社团活动参与度”等 项指标作为预测的依据。 然后,顿顿根据自己平日里对
2020-12-30 12:48:14 2324
原创 4.6 图的邻接矩阵存储及DFS和BFS
4.6 图的邻接矩阵存储及DFS和BFS介绍代码结果介绍DFS:深度优先搜索BFS:广度优先搜索代码import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Arrays;import java.util.Queue;/** * 1. 图的存储 * 2. dfs: 深度优先搜索, 递归实现 * 3. bfs: 广度优先搜索 * @author dxt * */public class
2020-11-18 15:00:04 689
原创 4.5 平衡二叉树
4.5 平衡二叉树功能代码结果总结功能实现了左旋转,右旋转实现了查看树的高度的方法实现了创建一棵平衡二叉树的方法代码/** * AVL树:平衡二叉树 也被称为 平衡二叉搜索树, * 目的:保证较高的查询效率,方便查询搜索 * 特点:它是一棵空树 或 它的左右两棵子树的高度差的绝对值不超过1,并且左右两棵子树都是一棵平衡二叉树。 * 实现: * 构建一棵平衡二叉树 * (1) 左旋转:右子树高度大于左子树 * (2) 右旋转:左子树高度大于右子树 * 注意
2020-11-14 20:55:12 122
原创 4.4 使用前序遍历和中序遍历构造二叉树,并绘制树结构
4.4 使用前序遍历和中序遍历构造二叉树,并绘制树形结构代码结果总结代码/** * 使用 前序遍历数组 和 中序遍历数组 构造一棵二叉树,并尝试绘制二叉树的树形结构 * @author dxt * */public class CreateTree { public static void main(String[] args) { //二叉树的前序遍历结果 int[] preOrderList = {6, 3, 1, 2, 5, 9, 7}; //二叉树的中序遍历结果
2020-11-12 21:15:13 206
原创 4.3 二叉排序树
4.3 二叉排序树简介代码简介二叉排序树的构造查找二叉排序树中的对应节点删除二叉排序树中的某一节点代码/** * 二叉排序树(binary sort tree BST) * 1. 构造二叉排序树 * 2. 查找对应节点 * 3. 删除二叉树节点 * (1)删除叶子节点 * (2)删除只有一棵子树的节点 * (3)删除有两棵子树的节点 * @author dxt * */public class BinarySortTreeDemo { public sta
2020-11-12 17:18:33 124 2
原创 4.2 赫夫曼树数据结构
4.2 赫夫曼树数据结构介绍代码介绍来自百度百科给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树。路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。结点的权及带权路径长度:若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结
2020-11-05 20:02:31 115
原创 堆排序算法
堆排序算法介绍代码介绍堆排序虽然使用到了树的思想,但在编程中根本不需要树结构。代码import java.util.Arrays;/** * 堆排序 * 算法时间复杂度为 nlogn * 不稳定 * 重点: * 1) 在保存的二叉树节点的数组中,一个节点的索引为n,那么他的左子节点的索引为2n+1,右子节点的索引为2n+2 * 2) 大根堆和小根堆都是完全二叉树,大根堆中父节点的数据大于等于其子节点的数据,小根堆中父节点的数据小于等 * 于其子节点的数据 * 3) 大根堆
2020-10-29 21:48:22 105
原创 4.1 二叉树数据结构
4.1 二叉树数据结构简介代码简介三种递归遍历方法,三种递归查找方法,三种迭代遍历方法,一种删除节点方法,一种层次遍历方法。代码代码1import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;import java.util.Queue;/** * 实现二叉树结构 * 1. 前序、中序、后续遍历 * 2. 前序、中序、后续遍历查找
2020-10-28 17:26:58 75
原创 希尔排序算法
希尔排序算法代码import java.util.Arrays;/** * 实现希尔排序 * 时间复杂度:?? * 稳定性:不稳定,一次插入排序是稳定的,但在不同的插入排序过程中,相同的元素可能在各自的插入排序中移动,最后其稳定性就会被打乱 * @author dxt * */public class ShellSort { public static void main(String[] args) { int[] array = {9, -1, 3, 5, -5, 6, 4}
2020-10-11 14:32:52 102
原创 1.4 Git基本操作之删除文件找回及文件比较
1.4 Git基本操作之删除文件找回及文件比较删除本地库文件后找回删除暂存区文件后找回删除文件总结比较文件删除本地库文件后找回删除暂存区文件后找回删除文件总结比较文件
2020-09-30 14:49:10 169
原创 1.3 Git基本操作之版本前进与后退
1.3 Git基本操作之历史版本查看基本命令命令流程操作展示基本命令命令功能git log查看历史提交记录命令流程操作展示使用 git log 命令查看本地库的历史提交记录。从信息中可以看出有两条提交记录。其中每个提交都有一个Hash值(哈希值),哈希值唯一标识每次提交;每个提交记录都记录了提交人的签名和Email,其中我没有为TestGit设置项目级别的签名,它就使用了我设置的系统签名;每个提交记录还包含了对应提交操作执行时的时间;每个提交记录还包含了我们为每次提交
2020-09-29 09:56:15 664
原创 csp试题2:风险人群筛查
csp试题2:风险人群筛查题目分析代码总结题目题目背景 某地疫情爆发后,出于“应检尽检”的原则,我们想要通知所有近期经过该高危区域的居民参与核酸检测。问题描述 想要找出经过高危区域的居民,分析位置记录是一种简单有效的方法。 具体来说,一位居民的位置记录包含 t 个平面坐标 (x1, y1)
2020-09-28 19:34:17 3568 1
原创 csp试题1:称检测点查询
csp试题1:称检测点查询题目分析代码总结题目题目背景 2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他人群“愿检尽检”。问题描述 某市设有 n 个核酸检测点,编号从 1 到 n,其中 i 号检测点的位置可以表示为一个平面整数坐标 (xi, yi)。 
2020-09-28 10:06:24 4779
原创 1.6 判断一个字符串是否由重复子字符串组成
1.6 判断一个字符串是否由重复子字符串组成题目描述解题思想一代码一题目描述 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母。例1输入: "abcabc"输出: True解释: 可由子字符串 "abc" 重复两次构成。例2输入: "abac"输出: False解释:字符串不是由子字符串重复多次构成的。例3输入: "abababab"输出: True解释: 可由
2020-09-25 23:05:56 2896
原创 1.1 Git创建仓库及设置签名
Git简介安装Git本地结构Git本地库操作本地库初始化简介Git 是一个开源的分布式版本控制系统功能(1)协同修改:多人可以同时修改服务器端的同一个文件(2)数据备份:不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。(3)版本管理:在保存每一个版本的文件信息的时候做到不保存重复信息,Git采用了文件快照的方式。(4)权限控制:对团队中参与开发的人员进行权限控制;对团队外开发者贡献的代码进行审核。(5)历史记录:查看修改人、修改时间、修改内容、日志信息;将本地文件恢复到某一
2020-09-24 21:15:04 410
原创 1.3 八皇后问题
1.3 八皇后问题问题描述思路分析问题描述 在8x8格的国际象棋棋盘上拜访八个皇后,使其不能相互攻击,即:任意两个皇后都不能处于同一行、同一列或同一斜线上。问有多少中摆法。思路分析第一个皇后放在第一行第一列第二个皇后放在第二行第一列,然后判断是否合理(不能相互攻击),如果不合理,继续放在第二列、第三列、依次把所有列找完,直到找到一个合适的继续放置第三个皇后,放在第三行的第一列、第二列…直到第八个皇后也被放在一个不冲突的位置,
2020-09-20 09:57:03 248
原创 1.2 Hanoi塔问题
1.2 Hanoi塔问题问题描述分析代码问题描述 Hanoi塔问题由3个竖立着的塔座和一组中间有孔的圆盘组成,圆盘中间有个孔以便沿塔座柱移动叠放,每个圆盘有不同的直径。Hanoi塔的初始状态是所有的圆盘全部大小有序地叠放在一个塔座上,最大圆盘放在最底层,如下图所示。 Hanoi塔问题的目标是:将所有的圆盘从原始塔座(第一个塔座)上移动到目标塔座(第三个塔座)上。
2020-09-19 16:17:24 766
原创 1.1 递归基础介绍
4.1 递归基础介绍基本概念递归与迭代递归需要遵循的规则递归解决迷宫问题基本概念递归是一种程序设计技术,允许一个方法调用自己以达到最终目的。递归与迭代迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。即迭代过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。理论上递归和迭代可以相互转换。迭代一定可以转化为递归,递归不一定能转化为迭代。实际应用中递归的算法要比迭代效率低,因为程序每调用一
2020-09-18 21:55:45 537
原创 1.5 滑动窗口问题
1.5 滑动窗口问题问题代码问题描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例输入: "aa"输出: 1解释: 因为无重复字符的最长子串是 "a",所以其长度为 1。输入: "abcdea"输出: 5解释: 因为无重复字符的最长子串是 "abcde"和"bcdea",它们的长度都为 5。输入: "abcdcbead"输出: 5解释: 因为无重复字符的最长子串是 "dcbea"或"cbead",其长度都为 5。解题思想滑动窗口思想定义两个指
2020-09-16 22:26:25 120
原创 3.3 前缀、中缀和后缀表达式
4.2 前缀、中缀和后缀表达式前言基于三种表达式特点的定义定义示例解释基于二叉树定义前言 我第一次接触这三种表达式是在数据结构课程的二叉树遍历部分,所以下面大部分是从二叉树遍历角度来解释这三种表达式。基于三种表达式特点的定义定义前缀表达式:在前缀表达式中,操作符位于两个操作数之前,操作数从从左到右顺序出现。中缀表达式:在中缀表达式中,每个二元操作符出现在左操作数之后,右操作数之前。后缀表达式:在后缀表达式中,操作符跟在两个
2020-09-15 15:34:09 1536
原创 3.2 使用栈结构实现后缀表达式计算器
3.2 使用栈结构实现后缀表达式计算器后缀表达式后缀表达式求值思路后缀表达式计算器实现后缀表达式定义:后缀表达式中,运算符位于操作数(前一个和后一个)之后。示例:算术表达式(3+4)x5-6对应的后缀表达式为3 4 + 5 x 6 -。后缀表达式求值思路思路从左到右扫描后缀表达式,遇到数字时,将数字压入栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算,然后将结果入栈;重复上述过程直到表达式最右端,最后运算得出的值即为表达式的结果。解释当一个算术表达式由中缀表达式形式(1+
2020-09-14 20:38:33 1025
原创 4.1 简易计算器实现对中缀表达式的计算
4.1 简易计算器实现对中缀表达式的计算功能要求思路代码总结功能 输入一个算式,然后返回算式的计算结果。要求算式中只能包含 + - * / 四种运算操作符。算式中的数据只能是0或正整数,如果在运算过程中产生了小数,那么结果大概率是不正确的。程序中没有对特殊情况做处理,比如0不能做除数。思路 由于只有+ - * / 四种运算操作符,所以遍历两次操作符,
2020-09-14 08:22:31 410
原创 3.1 栈结构实现
3.1 栈结构实现栈代码实现栈栈是一个先入后出的有序列表。栈中元素的添加与删除都发生在线性表的同一端,允许插入和删除的一端被称为栈顶,另一端被称为栈底。最先入栈的元素在栈底,最后入栈的元素在栈顶。最先删除的元素为最后入栈的元素,最后删除的元素为最先入栈的元素。代码实现主要是想push()和pop()两个方法代码import java.util.Scanner;/** * 实现栈,并测试其功能 * @author dxt * */public class ArraySta
2020-08-29 12:38:36 203
原创 2.3 单向环形链表实现及约瑟夫问题
2.3 单向环形链表实现及约瑟夫问题单向环形链表约瑟夫问题代码实现单向环形链表可以带头节点,也可以不带头节点。虽然环形链表是一个环,但在实现过程中,需要确定第一个数据节点,在单向链表的基础上,使最后一个节点指向第一个数据节点,就构成了单向环形链表。约瑟夫问题Josephu(约瑟夫)问题: 设编号为1、2、…、n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1
2020-08-28 21:32:31 150
原创 2.2 java实现双向链表
2.2 java实现双向链表双向链表实现的方法实现代码双向链表单链表的缺点(1)查找的方向只能是一个方向(2)单链表不能自我删除,需要依靠辅助节点双向链表的特点(1)查找的方向有两个。(2)可以进行自我删除,删除操作不需要辅助节点实现的方法void add(Node2 node):向双向链表尾添加节点。void printList():从头遍历,输出链表。void update(Node2 node):将链表中与 node节点相同id的节点的 数据(name)改为node节点的数
2020-08-25 18:39:18 181
原创 2.1 Java实现单链表
2.1 Java实现单链表链表实现代码链表链表以节点的方式存储数据,特点是:线性结构、链式存储。每个节点包含 data域 和 next域,data域保存数据,next域用来指向下一节点。链表的各个节点在内存中不一定是连续存储。链表分带头节点的链表和不带头节点的链表,头节点指向链表中第一个数据节点。实现代码void add(Node n):将节点n添加到链表尾。在遍历过程中,可以对temp.next进行判断。void addByOrder(Node n):假设链表中 节点 按照 id 从
2020-08-25 00:21:27 189
原创 1.2 队列的数组实现
1.2 数组模拟队列队列数组模拟队列一队列队列是一个有序列表,其特点是先入先出,即先进队列的元素先出队列。数组模拟队列一队列只能使用一次,没有实用价值。使用数组模拟此队列时,需要定义四个属性:(1)arr[ ]:数组,用于存放队列中的元素(2)maxSize:int,用于规定队列的最大长度(3)front:int,arr[front+1]始终为队列的第一个元素(4)rear:int,arr[rear]始终表示队列中最后一个元素代码:import java.util.Scanne
2020-08-23 22:19:57 193
原创 1.1 稀疏矩阵的存储表示方式
1.1 稀疏矩阵的存储表示方式稀疏矩阵示例代码稀疏矩阵在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵。可以通过 同时(1)存储稀疏矩阵的在整体信息(矩阵行数,矩阵列数、非零元素个数)(2)存储稀疏矩阵中非0元素信息(行序号、列序号、对应值)来简化稀疏矩阵的存储。通过2可知,存储稀疏矩阵的这种数据结构是一个多行三列的矩阵,在网上看的尚硅谷韩顺平老师讲的数据结构与算法,老师称此矩阵为稀疏数组。示例代码  
2020-08-21 18:19:29 1021
原创 12.1 JDBC编程
12.1 JDBC编程JDBC简介访问数据库流程JDBC下载环境编程开发建立数据库连接JDBC简介JDBC:Java Database Connectivity,Java数据库连接JDBC为开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成,是java程序与数据库系统通信的标准API。JDBC API使得开发人员可以使用纯java的方式来连接数据库,并执行操作。不同厂商的数据库程序代码不同,无法使用一套代码来使用所有数据库,所以sun公司提出了一套API,凡是数据库想与java进行
2020-08-20 18:38:36 143
原创 3.1 MySql安装及基本使用方法
3.1 MySql安装MySql下载安装MySqlMySql下载官方下载地址:https://dev.mysql.com/downloads/mysql/选择windows系统64位111.1M的下载。最新版本为8.0.21。点击 download 后,可以不用登录,直接 No thanks,just start my download.下载后,找到下载页面,复制下载链接,然后使用迅雷下载。下载后解压安装MySql配置环境变量(1)在 设置 中搜索 环境变量 便可进入
2020-08-17 17:27:15 356
原创 2.1 win10与linux双系统环境下删除linux系统
win10与linux系统环境下删除linux系统过程环境删除过程(不是教程)1 查看Linux系统分区2 首先解决Linux的grub引导问题(可跳过,目测没用)3 删除Linux分区4 重启电脑进入grub界面环境win10系统、ubuntu16.04、联想笔记本删除过程(不是教程)1 查看Linux系统分区方法1(推荐) windows + r组合键显示出运行界面,然后输入diskpart,然后点击确定进入,然后通过li
2020-08-15 16:47:10 2594
java开发的飞机躲炮弹小游戏
2020-02-18
909数据结构.zip
2020-01-07
朴素贝叶斯.zip
2019-07-27
正则化.zip
2019-07-20
k-means聚类算法.zip
2019-07-17
逻辑回归.zip
2019-07-14
matlab中实现的线性回归.zip
2019-07-04
hadoop并行化和非并行化的kmeans算法.zip
2019-05-27
基于Diffie-Hellman协议的密钥交换
2019-05-10
山东大学 大数据实验二 倒排索引算法Java实现
2019-04-21
四种古典密码算法实现
2019-03-14
java中的敏感异常该怎么处理
2022-10-11
将偶数索引元素放到奇数索引元素之前
2022-04-12
c++中数组赋值的性能问题
2021-06-19
tensorflow中的DataFormatVecPermute算子
2021-06-07
tensorflow中的DataFormatVecPermute()算子如何使用
2021-05-10
tensorflow中的DataFormatVecPermute()算子如何使用
2021-05-09
tensorflow中的DataFormatVecPermute()算子如何使用
2021-05-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人