自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 收藏
  • 关注

原创 前端-CSS-zxst

CSS入门

2023-02-23 21:25:11 539

原创 前端-HTML-zxst

简单介绍HTML常用的标签

2023-02-23 21:08:16 513

原创 day04 - Multithreading

并发错误和并发修改异常多线程共享数据的时候 导致的并发错误并发修改异常 和 并发错误是什么关系?并发修改异常其实是为了防止出现并发错误 而主动校验的, 由官方程序员 主动向外抛出(throw).并发错误编译不报错, 运行没异常, 就是数据全是错误的.public class Test{ public static void main(String[] args){ /* 模运算结果的符号 和 %前面的数的符号一致. 所以如果 %前面的数是负数,

2022-01-14 19:40:33 257

原创 day03 - Thread

Thread程序: 保存在物理介质中的代码片段进程: 正在进行当中的程序片段. 一旦程序运行起来, 就变成了操作系统中的一个进程.线程: 进程当中更加微观的概念, 指的是程序当中一条独立的执行线索.宏观并行, 但微观串行.如果在run方法中可能会发生异常, 绝对不能throws, 因为, 如果父类的方法抛出一个异常, 子类在重写这个方法的时候, 抛出的异常要么是父类中的异常, 要么是这个异常的子类. 如果父类的run方法就没有抛出异常, 那么子类也不能抛出异常./*Thread的run()方法

2022-01-14 19:39:53 194

原创 day02 - Exception(未完成)

ExceptionException中文翻译是例外, 可以理解为程序云习惯过程中的例外情况.Java中类的继承结构​ Throwable​ [可以向外抛出的]​ Error Exception​ [错误] [异常]​ RuntimeException​ [运行时异常]Error和Exception的区别?import java.util.*;public class TestE

2022-01-14 19:38:11 182

原创 day01 - InnerClass

InnerClass为什么使用内部类: 内部类是共享数据最简单的方式之一内部类编译之后同样会生成.class文件.其命名规则是: 外部类名字$内部类名字.classclass A { int i = 7; // 内部类 class C { public void test() { System.out.prinln(i); } }}成员内部类public class TestMemberInne

2022-01-14 19:37:23 162

原创 Java Collection Framework

Java Collection Framework – JCF本遍文章, 是抄了一遍他人博客的内容.下面是原链接的跳转按钮.点击此处调转容器就是可以容纳其他Java对象的事物(或者说对象), Java Collection Framework(JCF)为Java开发者提供了通用的容器.Java集合主要划分为四个部分:Collection(List列表, Set集合)Map映射迭代器(Iterator, Enumeration)工具类(Arrays, Collections)背景数

2022-01-10 20:25:52 496

原创 Linux基本命令与应用

2.3 目录和文件2.3.1 目录及文件的基本操作1. 系统的目录组织结构 /: 根目录, 每个系统有且只有一个根目录, 是所有其他目录的父母路, 可以看成是树状目录的起点 /bin: 存放系统中所有用户都可以执行的命令文件,这些命令文件爱你是以哦热禁止行使存在的可执行文件, 默认该目录已经提那家到PATH系统环境变量里 /sbin: 存放系统中只有root用户才能执行的系统命令文件 /boot: 存放Linux内和镜像文件和启动相关的文件,其中内核文件形式为VM

2021-10-10 19:31:30 227 1

原创 Git入门

Git什么是Git?Git是一个免费的, 开源的分布式版本控制系统,是一个工具,可以快速高效地处理丛小型到大型的项目.什么是版本控制?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.为什么要是用版本控制系统?有了它就可以将某个文件回溯到之前的状态.甚至将整个项目退回到过去某个时间点的状态.而且回溯的工作量微乎其微.你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致问题出现的原因,又是谁在何时报告了某个功能缺陷等等.版本控制系统的分类集中化的版本控

2021-03-18 17:08:02 146

原创 mysql--DBA\三范式和表的设计方案

DBA和三范式将数据库中的数据导出:在Windows的dos命令窗口中执行(不用登陆):mysqldump bjpowernode>D:\bjpowernode.sql -uroot -p1234 导出指定表: mysqldump bjpowernode emp>D:\bjpowernode.sql -uroot -p1234导入数据库: 必须先创建数据库,并且打开数据库,才能导入数据库. create database bjpowernode; use bjpowernode

2021-03-09 21:19:58 148

原创 mysql--索引和视图

索引和视图什么是索引?有什么用?索引就相当于一本书的目录,通过目录可以快速的找到对应的资源.在数据库方面,查询一张表的时候有两种查询方式:第一种方式:全表扫描.第二种方式:根据索引检索(效率远高于遍历查询) 索引为什么可以提高检索效率呢? 其实最根本的原理是缩小了扫描的范围. 索引虽然可以提高检索效率,但是不能随意的添加索引,因为索引也是数据库当中的对象,也需要数据库对其不断的维护,是有维护成本的. 比如,表中的数据经常被修改,这样就很不适合添加索引,因为数据一旦修改,索引就要重新排序

2021-03-09 21:19:22 80

原创 mysql--TCL

TCL事务(transaction)1. 什么是事务?是一个完整的业务逻辑,不可再分. 比如:银行账户转账,从A账户向B账户转账10000, 需要执行两条update语句. update t_act set balance = balance - 10000 where actno = 'act-001'; update t_act set balance = balance + 10000 where actno = 'act-002'; 以上两条语句不许同时成功或者同时失败,不允许出现

2021-03-09 21:18:37 83

原创 mysql--约束

约束什么是约束?常见的约束有哪些?约束是为了保证数据的完整性,合法性,有效性.非空约束 (not null)唯一约束 (unique)主键约束 (primary key, PK) 既不能为null也不能重复外键约束 (foreign key, FK) …检查约束 (check) :注意Oracle数据库中有check约束,但mysql没有,目前mysql不支持该约束非空约束mysql> drop table if exists t_user;mysql> create

2021-03-09 21:18:07 295 1

原创 mysql--DDL

DDL(data defination language, 数据定义语言):create, drop, alter,对标的结构的增删改.1.表的创建(create)建表的语法格式: create table 表名 ( 字段名1 数据类型, 字段名2 数据类型, 字段名3 数据类型, ... );关于mysql当中字段的数据类型?以下只说常见 int 整数型 bigint 长整型 float 浮点型 char 定长字符串 varchar 可变长字符串 (不超

2021-03-09 21:17:36 71 1

原创 mysql--DML

DML(data manipulation language, 数据操作语言):insert, delete, update,对标当中的数据进行增删改.插入数据语法格式:insert into 表名(字段名1, 字段名2, …) values(值1, 值2, 值3, …)要求: 字段的数量和值的数量相同,并且数据类型也要对应相同. insert into t_student(no, name, sex, classno, birth) values(1, 'zhangsan', '1',

2021-03-09 21:17:04 89 1

原创 mysql--DQL

简单地查询语句(DQL)语法格式:select 字段名1, 字段名2… from 表名;提示:1. 任何一条sql语句以分号(;)结尾.2. sql语句不区分大小写.mysql> select ENAME, empno FROM emp;±-------±------+| ENAME | empno |±-------±------+| SMITH | 7369 || ALLEN | 7499 || WARD | 7521 || JONES | 756..

2021-03-09 21:16:20 150 1

原创 mysql--基础

数据库的基本操作不难,但是一边学一边忘.抽时间再刷刷题目吧.下面是数据库的相关笔记,一个博客放不下,分开了.MySQLSQL, DB, DBMS分别是什么?他们之间的关系?DB:DataBase(数据库,数据库实际上在硬盘上以文件的形式存在)DBMS:DataBase Management System(数据库管理系统,常见的有:Mysql, Oracle, DB2, SQLServer…)SQL:结构化查询语言,是一门标准通用的语言.标准的sql适合于所有的数据库产品.SQL属于.

2021-03-09 21:14:37 120 1

原创 HTML5--笔记--2

HTML5–笔记HTML常用标签4.6 图像标签和路径(重点)图像标签和路径在HTML标签中,标签用于定义HTML页面中的图像.单词image的缩写.src是标签的必须属性,它用于指定图像文件的路径和文件名.图像标签的其他属性:属性 属性值 说明src 图片路径 必须属性alt 文本 替换文本.图像不能正常显示时会显示该文字title 文本 提示文本.鼠标放到图像上,显示的文字width 像素 设置图像的宽度height 像素 设置图像的高度border 像

2021-01-12 21:17:40 126

原创 HTML5--笔记--1

HTML5–笔记网页1.2 什么是HTMLHTML指的是 超文本标记语言(Hyper Text Markup Language), 它是用来描述网页的一种语言,GTML不是一种编程语言,而是一种标记语言(markup language).标记语言是一套标记标签(markup tag).所谓 超文本, 有两层含义:1. 它可以加入图片/声音/动画/多媒体等内容(超越了文本限制).2. 它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本)常用浏览器浏览器内核(渲

2021-01-11 21:49:24 246

原创 Java学习笔记-郝斌老师

java学习-内存分配class A { int i; int j;}public class TestMemo { public static void main(String[] args) { A aa = new A(); // new A(); 在堆中动态分配一块区域,被当做了A对象 // aa本身的内存是在栈中分配的 // 堆中内存的地址赋给了aa // aa指向堆中的内存块,aa代表了堆中的内容 // aa.i 代表: aa这个静态指针(引用)变量所指向的

2021-01-09 21:15:23 280

原创 Java-期末复习资料整理

今天的题真的是妙蛙种子吃着妙脆角妙进了米奇妙妙屋 妙到家了第一章面向过程和面向对象程序设计语言的区别面向过程:给予解决问题的步骤的视角,将程序划分为单个功能,程序由函数+数据结构组成,两者独立分离面向对象:以人观察世界的视角编译执行和解释执行语言的区别编译执行的语言:将源代码转化成机器代码,然后直接交给操作系统执行,程序是作为一个整体来运行的解释执行的语言:读一句执行一句不需要整体编译链接,与操作系统的相关性较小java的各个版本,javase javaee javameJavaSE.

2021-01-05 12:17:16 2707

原创 Java-IO流-笔记

为什么要抄这些东西?–因为今天是圣诞节.InputStream是所有字节输入流的超类继承关系:InputStreamFileInputStreamPipedInputStreamFileInputStreamLineNumberInputStreamDataInputStreamBufferedInputStreamPushbackInputStreamByteArrayInputStreamSequennceInputStreamStringBufferedStreamObj

2020-12-25 19:25:20 98

原创 7-17 字符串关键字的散列映射 (25分) (防止标题重复)

不能在HashCode()求key值对key%P, 而应该在插入到list中或者解决冲突的时候可以求余对一些变量名和函数名有疑问可以在评论回复#include <iostream>#include <cstdlib>#include <string>using namespace std;const int constnum = 32;const int MAXNUM = 1e3 + 20;string Hashtable[MAXNUM];stri.

2020-12-18 11:40:53 326

原创 作业10-数组和广义表(防止标题重复)

2-1设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为(B)A.13B.33C.18D.40[解析]loc(i, j) = loc(1, 1) + (i-1)(i)/2sizeof(ElemType) + j - 1loc(8, 5) = 1 + 28 + 5 - 1 = 332-2设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序

2020-12-12 23:24:27 1013

原创 作业24-归并排序与基数排序(防止题目重复)

1-3对N个记录进行归并排序,归并趟数的数量级是O(NlogN)。()[解析]归并的数量级在O(logN)?每上下相邻的两层之间,从上层到下层的过程就是一趟归并满二叉树深度为k的二叉树的最后一层结点个数为2^k - 1所以叶子数为N的完全二叉树,它的深度为log2N归并的趟数就是O(logN) void Merge(SqList L, int low, int mid, int high, SqList &res_L){ p_left = low; p_right = mid

2020-12-12 19:43:54 5285

原创 作业23-快速排序与堆排序

1-1对N个记录进行堆排序,需要的额外空间为O(N)。(F)[解析]辅助空间是O(1)需要用到的辅助空间有: rc(根节点的关键值)head的左孩子lchildhead的右孩子rchild需要注意的是,随着堆调整的进行,head是不断变化的堆排序算法实现void HeapAdjust(HeapType &H, int head, int tail){ rc = H.r[head]; lChild = 2 * head; rChild = 2 * head + 1; whi

2020-12-11 19:14:34 1845

原创 作业22--插入类与交换类排序(防止标题重复)

1-1对N个不同的数据采用冒泡排序进行从大到小的排序,当元素基本有序时交换元素次数肯定最多。(F)[解析]当序列本身就是从大到小排列的时候, 冒泡排序不需要进行交换void bubble_sort(int *a, int size){ int i, j, t; //最坏情况复杂度分析:外部循环n-1次, 比较的次数是 (n-1)n/2 //交换的次数是 3*((n-1)n/2) //时间复杂度是 两者的加和, 因为 整个排序 进行了 (n-1)n/2次比较 //和3((n-1)n/2)

2020-12-11 17:20:20 1372

原创 作业16-图的遍历与最小生成树(防止标题重复)

作业16-图的遍历与最小生成树2-1给定有权无向图的邻接矩阵如下,其最小生成树的总权重是:©A.22B.20C.15D.8[解析]求最小生成树,根据prim算法,先加入任意一个顶点到集合U,然后每次从 与结合U 相连的边中 找权值最小的边以及 这条边的端点,将端点加入到集合U中,直到将所有顶点都加入到U中2-3给定有权无向图的邻接矩阵如下,其最小生成树的总权重是:(A)A.24B.23C.18D.172-4给定有权无向图如下。关于其最小生成树,下列哪句是对的?(A)A.最

2020-12-10 17:15:14 814

原创 作业14-Huffman树及其应用(防止标题重复)

1-1对N(≥2)个权值均不相同的字符构造哈夫曼树,则树中任一非叶结点的权值一定不小于下一层任一结点的权值。(T)[解析]我会想到 {1,1,3,5}这个序列 , 第一次构造的结点的权值确实小于{3,5}但是之后是 2和3 构造结点,之后是 5和5 构造结点,所以还是符合条件的2-1对N(N≥2)个权值均不相同的字符构造哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是:(D)A.树中一定没有度为1的结点B.树中两个权值最小的结点一定是兄弟结点C.树中任一非叶结点的权值一定不小于下一层任一结

2020-12-10 11:46:38 5636

原创 huffma树及其应用-笔记(.)

huffma树及其应用1 编码性质与最优二叉树1.1 前缀码:某个前缀码不会在另一个前缀码中出现,否则会造成歧义.1.2 编码长度:如果可以,我把带权路径长度理解成:结点的权值为结点被访问的次数,那么结点的带权路径长度就是访问这个节点总共走了多长的路: 权值(次数) * 每次的长度二叉树的带权路径长度 = ∑(叶子结点的权值 与 该节点的路径长度的乘积)1.3 最优编码即带权路径长度的最小值2 huffman树2.1 huffman树的构造原理核心策略是让权值大的节点路径短,权值小的结

2020-12-10 11:09:54 124

原创 dijkstra算法求最短路(防止标题重复)

1 Dijkstra算法思想首先找距离源点最近的点此点必然是与源点直接相连的点借助邻接矩阵S对应的行,找最小值即得距离源点最近的点接下来找距离源点第二近的点或者是从S出发先到Y再到达的点,或者是与源点直接相连的点否则与Y最近相矛盾对于每个点,两类路比较距离取最小此时得到从S出发经可选跳点集{y}到各点的最短路表中最小值即得距离S第二近的点Z2 Dijkstra算法实现越看越像 Prim算法finish[v0] = TRUE;D[v0] = 0;for (v = 0; v &

2020-12-09 17:03:38 154

原创 Floyd算法实现(.)

最短路径算法Floyd算法实现const int INF = 65535;void GetShortestPath_Floyd(MGraph G, PathMatrix &P, DistancMatrix &D){ for (int i = 1; i <= G.vexnum; i++) { for (int j = 1; j <= G.vexnum; j++) { D[i][j] = G.arcs[i][j]; if (D[i][j] != IN

2020-12-09 16:45:41 122

原创 最小生成树Prim实现(.)

最小生成树1 最小生成树的概念生成树: 极小连通子图(边数最少,且删除任意一条边不再连通)最下生成树:生成树的权值之和是最小的2 Prim算法2.1 原理算法思想:任意一个顶点开始放入集合U,每次选测一个与U中顶点最近的一个顶点,比你高将两个顶点之间的边极爱入到树中重复,直到所有顶点都加入到生成树顶点集合U中为止2.2 算法实现://记录U中点到个点最近边的信息(边的信息包括顶点和边的权值)struct { VertexType adjvex; VRTtype lowcost;}

2020-12-09 16:44:34 135

原创 拓扑序和关键路径-笔记(.)

拓扑排序概念AOV网:顶点表示活动,弧表示活动先后关系的 有向图结点表示事件,是时刻;所以一个节点包含了: 前一个活动的结束事件和下一个活动的开始事件而弧表示过程,代表活动的持续时间有某个集合上的一个偏序(<=关系)的到该集合上一个全序,该操作称为拓扑排序拓扑排序-方法(计算各顶点的入度, 将度为零的顶点入栈)1 从图中没有前驱的顶点中选择一个并输出(出栈,更新后继结点的入度,若入度为0,入栈)2 从图中 删除此顶点 及所有从其出发的弧3 重复上述两步,至图空 或图不空但

2020-12-09 16:27:44 211

原创 归并排序(MergeSort)(防止标题重复)

归并排序(MergeSort)1 归并排序原理分解成最小的记录块(长度为0或1),必须要排序,就是有序块然后再归并2 归并排序算法的实现//归并的实现//有序子序列R[low...mid]与R[mid + 1...high]归并到S[low...high]void Merge(Rcd R[], int low, int mid, int high, Rcd &S[]){ P_left = low; P_right = mid + 1; P_result = low; whil

2020-12-09 09:18:27 150

原创 堆排序-笔记(防止标题重复)

选择类排序简单选择排序:每一趟选出当前最小的记录, 将其交换到无序块的最前面.如此,无序块逐渐变小,N-1 趟完成(贪心,递归,动态规划)引入:每一趟选择极值记录时,能否对序列做些特殊处理,方便后续各趟求极值的操作呢?1 堆排序的原理1.1 一个序列,设它对应某完全二叉树的层序序列,若该二叉树任意节点局比起左右孩子结点大则称该序列为大顶堆1.2 堆排序原理:原始序列 -> 初始大顶堆 -> 由于根节点是无序块的最大值,堆顶和堆尾互换-> 调整建堆,筛选 ->

2020-12-09 08:57:58 206

原创 快速排序-笔记(防止题目重复)

快速排序冒泡排序每次循环,相邻两元素两两比较,不符合则交换,最大元素沉底//随便写的,好像不对void BmbleSort(SqList &L){ for (int k = 1; k <= L.length - 1; k++) { for (int i = 1; i < L.length - k; i++) { if (L.r[i].key > L.r[i + 1].key) swap(L.r[i], L.r[i + 1]); } }}

2020-12-08 23:52:46 128

原创 希尔排序-笔记(防止题目重复)

希尔排序子序列内部移动依次可能会消除多个逆序对(同时造成排序的不稳定)1 算法思想设一个递减的增量序列 如{5, 3, 1}每一趟都将序列分成若干子序列,各子序列分别进行直接插入排序每一趟增量为1,对全部记录进行直接插入排序2 算法实现void ShellSort(SqList &L, int dlta[], int length){ //选择增量 for (k = 0; k < length; k++) ShellInsert(L, dlta[k]);}void

2020-12-08 23:12:15 123

原创 排序引入,插入类排序笔记

排序排序: 若干元素 根据其对应的关键字的值的大小, 从小到大或从大到小的顺序对记录序列重新排列.排序的稳定性:若 keyi = keyj排序后 这两个记录是否保持原次序不变存储结构的设计#define MAXSIZE 20typedef int KeyType;typedef struct { KeyType key; InfoType otherinfo;}RcdType; //记录的类型(recordtype)//顺序存储,经常排序操作, 很少增删操作typedef st

2020-12-08 22:43:38 141

原创 二叉搜索树的相关笔记

二叉搜索树1 二叉搜索树的概念1.1 二叉搜索树(二叉排序树 二叉查找树)根节点值大于其左子树中的所有节点的值根节点值小于其右子树中的所有节点的值左右子树都是二叉搜索树1.2 二叉搜索树的存储结构typedef * KeyType;typedef struct { //用来比较结点的大小 KeyType key;}ElemType;//这是二叉树的结点定义typedef struct BiTNode{ ElemType data; struct BiTNode *lTree

2020-12-08 16:44:33 107

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除