自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 笔记:哈希表代码实现

哈希表有冲突时,存入时有冲突处理,查找时,则是逆冲突处理,找到正确的哈希地址,并将该地址的数据读出。#include <iostream>#include <stdio.h>#include <malloc.h>#define HASHSIZE 12 /*定义哈希表长为数组的长度*/#define NULLKEY -32768using na...

2019-10-30 17:56:30 581 1

原创 QT事件系统

事件发生时,Qt创建一个事件对象,传递给QObject的event()函数,event()函数并不直接处理事件,而是对这些事件按照它们不同的类型分发给不同的事件处理函数。event()函数主要用于事件的分发,如果要在事件分发之前做一些操作,就需要重写event()函数。事件作为一个对象,继承自QEvent类,常见的有键盘事件QKeyEvent、鼠标事件QMouseEvent和定时器事件QT...

2019-09-11 16:56:03 494

原创 笔记:图的两种存储结构示例、相互转换示例以及邻接表的DFS、BFS示例

//1.图的邻接矩阵的数据类型定义如下:#define MAXV <最大顶点个数>//在后面的类型定义中都使用到本宏定义typedef struct{int no;//顶点编号InfoType info;//顶点其他信息}VertexType;//顶点类型typedef struct{int edges[MAXV][MAXV];//邻接矩...

2019-06-11 17:39:38 328

原创 POJ 1062 昂贵的聘礼(迪杰斯特拉算法dijkstra+枚举等级区间)

//这道题的大概意思是,从酋长的承诺开始,通过以替代物换优惠,一路置换,到最后主角付出的价值最小。//一看是很简单的最短路径问题,求原点到其他顶点的最小花费,取花费最小的值输出即可,但这里有个等//级区间限制,需要在外层再套一层循环枚举区间。//用图的邻接表来存数据,然后枚举区间进入循环,再排除不可用顶点,用dijkstra算法来解决定顶点到各//点的最小权值,最后取点和当前最小权值(一...

2019-06-11 17:29:28 178

原创 HDU 1213 How Many Tables (DFS or 并查集)

写在这上面的是最新修改内容:看了其他博主的并查集解决方法,发现可以利用递归实时压缩路径处理,放到HDU发现AC了。感慨良多,自己对并查集了解不够深,导致了写了个伪并查集并且TLE。下面贴一下模板代码://转载:https://blog.csdn.net/Ema1997/article/details/79820122#include <cstdio>#include &l...

2019-05-31 15:15:21 137

原创 HDU 1548 奇怪的电梯 (简单BFS+队列)

//这道题大概意思是有一个电梯,有n层,第i层有一个数a[i],可以到达(i-a[i])层或者(i+a[i])层,你//在qd层要到zd层,问最快需要按几次电梯。这道题思路比较简单,就一个宽搜BFS,从起点开始,往上和往下//两个方向搜,不是zd层则两个结果压入队列,再从队列中取一个往上往下搜,直到搜到zd层或者队列为空无//结果。#include<stdio.h>#inc...

2019-05-31 09:18:58 578

原创 一个简单的C/C++编写的信息管理系统(适合初学者练手用)

这是作者大一时候的课程作业,多年后发现还保留着,就放上来分享下。包含基本的数据结构设计;数据的录入、增删查改、排序、统计和全输出;和最后的退出自动保存数据等基本操作。这里做的是学生信息管理系统,读者可以自行改成图书管理系统等其他信息管理系统,难度不大。可以直接复制代码到IDE里跑。话不多说,直接上头文件://head.h#include<stdio.h>#incl...

2019-05-13 09:31:10 21994 13

原创 笔记:败者树

//败者树示例与解析,败者树即是多个数据从二叉树的叶子节点出发,逐次比较,败者滞留子结点,胜者上升父节点,最后最终ls【0】为最终胜者#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using namespace std;#define LEN 5...

2019-04-16 22:17:42 1209

原创 笔记:排序专题

插入类排序:1.直接插入排序://插入排序算法较简单。具体思路为,A[0]为哨兵,A[i]为待插入元素,A[1]~A[i-1]为已排列的有序序列,//将A[i]从后往前比较插入有序序列中。void InsertSort(ElemType A[],int n){ int i,j; for(i=2;i&lt;=n;i++) if(A[i].key&lt;A...

2018-12-09 21:30:42 195

原创 笔记:归并排序

//归并排序是将序列通过不断二分为最小单位序列,再将它们两两比较合并为有序序列,从而得到最终的有序//序列的算法。void MergeSort(ElemType A[],int low,int high){ if(low&lt;high) { int mid=(low+high)/2;//将序列分为两段 MergeSort(A,low,mid...

2018-12-08 15:45:47 160

原创 笔记:堆排序

//堆排序算法过程是,先制造大顶堆,然后通过不断摘取根节点(最大值)并重塑大顶堆的过程,将序列有//序化。void HeapSort(ElemType A[],int len){ int i; BuildMaxHeap(A,len);//塑造大顶堆 for(i=len;i&gt;1;i--) { swap(A[i],A[1]);//摘取最大值...

2018-12-08 14:40:47 140

原创 笔记:递归实现快速排序

//快排的思路就是选定一个数(一般为序列第一个数)为枢轴,将序列分为比枢轴小和比枢轴大的两个序列,//再对两个序列进行快排,从而逐渐实现使序列在分解过程中逐渐有序的目的。void QuickSort(ElemType A[],int low,int high){ if(low&lt;high) { int pivotpos=Partition(A,low,h...

2018-12-05 14:03:05 580

原创 笔记:KMP算法(解决字符串匹配问题)

//解决字符串匹配问题,除了暴力匹配,还可以使用KMP匹配算法。Void main(){ int next[10]; int pos; S[0]=strlen("abcabaaabaabcac");//将字符串的字符数保存在S[0]里 strcpy(S+1,"abcabaaabaabcac"); T[0]=strlen("abaabcac"); ...

2018-11-29 15:15:25 201

原创 笔记:拓扑排序算法(有向无环图拓扑排序输出或者检验有向图是否存在回路)

//该算法比较简单,对有向无环图进行拓扑排序输出。也可以检验有向图是否存在回路。这里处理的对象是邻接表。bool ToplogicalSort(Graph G){ InitStack(S); for(int i=0;i&lt;G.vexnum;i++)//初始化栈,存储入度为0的顶点 if(indegree[i]==0)Push(S,i); int co...

2018-11-22 15:05:11 1020

原创 笔记:弗洛伊德算法(解决图中任意两顶点的最短路径和最小权值问题)

//一个有权图的邻接矩阵经过弗洛伊德算法处理后,得到的结果,能够解决求任意两顶点的最小路径问题和最小//权值问题。具体处理得到的结果是一个记录最小权值的二维数组A[i][j](表示顶点i到顶点j的最小权值)//和记录前驱顶点的二维数组Path[i][j](表示i到j的最短路径中j的前驱结点,如是k,则再查//Path[i][k],如此可逆序输出i到j的最短路径);具体处理步骤看代码voi...

2018-11-21 19:56:59 504

原创 笔记:迪杰斯特拉算法(求给定顶点到各个顶点的最短路径和最小权值)

//该算法简单说就是在图里求给定顶点到各个顶点的最短路径和最小权值。//过程方法是,遍历并记录起始点到各个顶点的距离,取最小权值邻接点,记录前驱结点。最终生成的结果//可通过前驱结点找到起点到该顶点的最短路径。Void Dijkstra(MGraph G,int v,int path[],int dist[]){//参数分别为:图,源点(起点),供保存//该点到源点最小路径的前驱结点的路...

2018-11-21 13:22:08 922

原创 笔记:克鲁斯卡尔算法(解决最小生成树问题)

//用到了并查集和堆排序解决最小生成树,思路就是权值边排序(堆排序),然后从最小权值边取起,边取边判定是否有回路(用并查集),有回路则放弃该边。思路相对简单,直接看代码。#define MaxSize 100typedef struct{ int a,b;//边的两个顶点 int weight;//边的权值}Edge;//边结构体int Find(int *parent,...

2018-11-15 22:39:31 659

原创 笔记:普利姆(Prim)算法(生成最小树)

//贪心算法下的最小生成树,普利姆算法。以连通图的任一顶点作为起点,每次筛选权值最小的边连接剩余顶点,最终生成最小生成树Void miniSpanTree_Prim(MGraph G){//算法入口,将某一点置入作为起点 int min,i,j,k; int adjvex[MAXVEX];//保存当前生成树中与该顶点i权值最小的邻接点的编号,若对应的lowcost[i]为0,则...

2018-11-15 19:25:36 933

原创 笔记:非递归算法算二叉树的高度

1.方法思路:用深搜和后序遍历结合,遍历所有节点,记录最大高度。时间为O(n),空间为O(max)。(自创)代码如下(未测试): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20...

2018-09-22 12:34:55 5149

转载 区块链(Blockchain)简介

区块链是什么?答:节点参与的分布式数据库存储系统,不可更改、不可伪造的账簿系统(ledger)。连接到区块链网络的服务器成为该系统的节点,享有同其他所有节点完全一样的权利和义务(去中心化、分布式的特征)。在区块链上开展服务的人,可以往这个系统中的任意的节点进行读写操作,最后全世界所有节点会根据某种机制的完成一次又一次的同步,从而实现在区块链网络中所有节点的数据完全一致。下图是区块链节点...

2018-04-29 20:18:52 1014

原创 Hibernate的一级缓存和二级缓存

hibernate默认是开启一级缓存的,一级缓存存放在session上。测试代码:package com.how2java.test; import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration; import com.how2java....

2018-04-15 16:05:15 211

原创 Hibernate的级联

什么是级联? 简单的说,没有配置级联的时候,删除分类,其对应的产品不会被删除。 但是如果配置了恰当的级联,那么删除分类的时候,其对应的产品都会被删除掉。级联有4种类型:all:所有操作都执行级联操作;none:所有操作都不执行级联操作;delete:删除时执行级联操作; save-update:保存和更新时执行级联操作;级联通常用在one-many和many-to-many上,几乎不用在many-...

2018-04-15 15:29:40 279

原创 Hibernate 的延迟加载

hibernate中的延迟加载(lazyload)分属性的延迟加载和关系的延迟加载 属性的延迟加载: 当使用load的方式来获取对象的时候,只有访问了这个对象的属性,hibernate才会到数据库中进行查询。否则不会访问数据库。package com.how2java.test; import org.hibernate.Session;import org.hibernate.Session...

2018-04-15 15:07:09 144

原创 Hibernate 的表关系设计

一个Product对应一个Category 一个Category对应多个Product 先设置多对一的关系,先准备Category.java和Category.hbm.xml和Category和在hibernate.cfg.xml中增加Category的映射。为Product.java增加Category属性:package com.how2java.pojo; public class Pr...

2018-04-15 14:50:31 234

原创 Hibernate 的事务特性

Hibernate的任何对数据有改动的操作,都应该被放在事务里面. 在事务中的多个操作行为,要么都成功,要么都失败TestHibernate 事务:hibernate中的事务由s.beginTransaction();开始由s.getTransaction().commit();结束本例子,执行了两个操作第一个,删除id=1的产品,这个是会成功的第二个,修改id=2的产品,使得其产品名称超过了数据...

2018-04-15 12:51:35 294

转载 Hibernate的三种查询数据方式

1.HQL(Hibernate Query Language)是hibernate专门用于查询数据的语句,有别于SQL,HQL 更接近于面向对象的思维方式。 比如使用的是类的名字Product,而非表格的名字product_下面使用HQL,根据name进行模糊查询package com.how2java.test;import java.util.List;import org.hiberna...

2018-04-14 16:10:27 4670

转载 基于Hibernate的一些基本操作:插查删改

1.批量插入:public class TestHibernate { public static void main(String[] args) { SessionFactory sf = new Configuration().configure().buildSessionFactory(); Session s = sf.openSession(); s.beginTr...

2018-04-14 15:37:28 223

转载 对Hibernate框架的理解

    使用JDBC做数据库相关功能开发会做很多重复性的工作,比如创建连接,关闭连接,把字段逐一映射到属性中。 Hibernate把这一切都封装起来了,使得数据库访问变得轻松而简单,代码也更加容易维护。 下面做一个简单的表映射:1.准备表product_, 有3个字段,分别是主键id(自增长)字符串格式的name浮点数格式的priceuse test;CREATE TABLE product_...

2018-04-14 15:17:26 623

转载 POJO的理解

POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用.当然,...

2018-04-13 19:00:11 388

转载 DAO的理解

DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 像直接连接到其他数据库一样,直接连接到 Access 表。DAO 最适用于单系统应用程序或小范围本地分布使用。DAO(Data Access Object)是...

2018-04-13 18:27:25 995

转载 数据结构之二叉树的前序遍历、中序遍历、后序遍历、层序遍历

(1). 前(先)序遍历特点:①. 根-----&gt;左-------&gt;右           ②. 根据前序遍历的结果可知第一个访问的必定是root结点。(2). 中序遍历特点:①. 左-----&gt;根-------&gt;右           ②. 根据中序遍历的结果,再结合前序遍历的root结点去划分root结点的左右子树。(3). 后序遍历特点:①. 左------&gt;右...

2018-03-25 11:36:32 431

原创 通过表单为数据库增添数据示例

function check(theForm){ if(theForm.bh.value.length!=7) { alert("职工编号必须为7位!"); theForm.bh.focus(); return (false); } if(theForm.xm.value=="") { alert("请输入姓名!"); theForm.xm.focus(); r

2017-12-10 17:29:20 1510

原创 登录界面验证设计示例

系统登录 系统登录 用户名: 密码: 登录验证 <% String username0=request.getParameter("username");//获取提交的姓名 String password0=request.getParameter("password");

2017-12-10 15:39:47 897 1

原创 笔记:背包问题简单示例

package knapsack;//简单背包问题示例public class Knapsack { public static void main(String[] args){ int val[] = {10, 40, 30, 50};//物品的价值 int wt[] = {5, 4, 6, 3};//物品的重量 int W = 10;/...

2017-12-08 16:32:38 997

原创 POJ1001 高精度乘法

http://blog.csdn.net/alongela/article/details/6788237http://blog.csdn.net/alongela/article/details/6788237        在做1001的时候,看了上面这位大神的博客。但是发现这位大神的思路是对的,但是代码是无法通过的。因此分享下在这位大神的代码基础上修改的能AC的代码。纯属分享,如涉及侵权请联

2016-02-03 18:18:31 288

空空如也

空空如也

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

TA关注的人

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