12 2020 档案

摘要:贪心算法 应用场景-集合覆盖问题 假设在下面需要付费的广播台,以及广播台新型号可以覆盖的地区,如何选择最少的广播台,让所有地区都可以接收到信号 广播台覆盖地区 k1 北京、上海、天津 k2 广州、北京、深圳 k3 成都、上海、杭州 k4 上海、天津 k5 杭州、大连 贪心算法介绍 贪心算法指在对问题 阅读全文
posted @ 2020-12-29 18:39 笔落惊风 阅读(499) 评论(0) 推荐(0) 编辑
摘要:KMP算法 应用场景 字符串匹配问题 有一个字符串str1 = “ hello hello llo hhello lloh helo” 一个子串str2 = “hello” 现要判断str1是否含有str2,如果存在,就返回第一次出现的位置,如果不存在就返回-1. 暴力匹配算法 思路: 假设str1 阅读全文
posted @ 2020-12-20 21:28 笔落惊风 阅读(1311) 评论(0) 推荐(1) 编辑
摘要:动态规划算法 应用场景—0-1背包问题 背包问题:有一个背包,容量为4磅,现有物品如下 物品重量价格 吉他(G) 1 1500 音响(S) 4 3000 电脑(L) 3 2000 要求: 达到目标为装入的背包的总价值最大,且重量不超出 要求装入的物品不可重复 动态规划算法介绍 动态规划(Dynami 阅读全文
posted @ 2020-12-19 20:42 笔落惊风 阅读(989) 评论(0) 推荐(0) 编辑
摘要:分治算法 分治算法的设计模式 基本思想 把复杂问题分解成若干互相独立容易求解的子问题 经典问题 二分搜索 大整数乘法 棋盘覆盖 合并排序 快速排序 线性时间选择 最接近点对问题 循环赛日程表 汉诺塔 基本步骤 分解:将原问题分解成若干规模小的,相互独立,与原问题形式相同的子问题 解决:将子问题规模较 阅读全文
posted @ 2020-12-17 18:57 笔落惊风 阅读(576) 评论(0) 推荐(0) 编辑
摘要:二分搜索算法 有序数列才可用二分查找算法 思路分析 思路分析 首先确定该数组的中间下标mid = (left + right)/ 2 然后让需要查找的数findVal和arr【mid】比较 findVal > arr[mid],向右查询 findVal < arr[mid],向右查询 findVal 阅读全文
posted @ 2020-12-16 21:11 笔落惊风 阅读(382) 评论(0) 推荐(1) 编辑
摘要:连接池 c3p0连接池操作 导入c3p0和mysql驱动需要的包 在src目录下创建c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?><c3p0-config><!-- This app is massive! --><named-confi 阅读全文
posted @ 2020-12-14 20:12 笔落惊风 阅读(220) 评论(0) 推荐(0) 编辑
摘要:dao层操作 BaseDao基本增删改查 package com.why.dao;​import com.why.entity.User;import com.why.utils.JdbcUtils;​import java.lang.reflect.Field;import java.sql.*; 阅读全文
posted @ 2020-12-14 20:11 笔落惊风 阅读(250) 评论(0) 推荐(0) 编辑
摘要:数据库事务 事务 一组逻辑操作单元,使数据从一种状态变换到另一种状态 事务处理 保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。 当在一个事务中执行多个操作时,要么所有事务都提交,要么数据库管理系统放弃所有修改,整个事务回宫到最初状态。 数据一旦提交就不可回滚 DDL操 阅读全文
posted @ 2020-12-14 20:09 笔落惊风 阅读(118) 评论(0) 推荐(0) 编辑
摘要:批量插入数据 @Testpublic void testInsert() throws Exception { Connection conn = null; PreparedStatement ps = null; try { conn = JdbcUtils.getConnection(); S 阅读全文
posted @ 2020-12-14 20:08 笔落惊风 阅读(217) 评论(0) 推荐(0) 编辑
摘要:Blob类型的数据的操作 Blob类型:2进制大数据 四种Blob类型: TinyBlob:最大255(字节) Blob:最大65K MediumBlob:最大16M LongBlob:最大4G 根据数据大小选择相应的大小 向数据表中插入Blob类型的数据 //向数据表插入Blob类型字段@Test 阅读全文
posted @ 2020-12-14 20:07 笔落惊风 阅读(228) 评论(0) 推荐(0) 编辑
摘要:使用PreparedStatement实现CRUD(增删改查)操作 操作和访问数据库 数据库连接被用于向数据库服务器发送命令和SQL语句,并接受数据库服务器返回的结果。其实一个数据库连接就是一个Socket连接。 Java.sql包中有三个接口分别定义了数据库的调用的不同方式: Statement: 阅读全文
posted @ 2020-12-11 20:13 笔落惊风 阅读(417) 评论(0) 推荐(0) 编辑
摘要:获取数据库连接的方式 方式一 Driver driver = new com.mysql.cj.jdbc.Driver(); String url = "jdbc:mysql://localhost:3306/ujsserver?serverTimezone=GMT"; //将用户名和密码封装在pr 阅读全文
posted @ 2020-12-10 16:08 笔落惊风 阅读(159) 评论(0) 推荐(0) 编辑
摘要:Jdbc概述 Java DataBase connectivity(Java语言连接数据库) Jdbc本质是什么? 是Sun公司制定的一套接口,java.sql.* 接口都有调用者和实现者 面向接口调用、面向接口写实现类,都属于面向接口编程 为什么面向接口编程 解耦合,降低程序的耦合度,提高程序的扩 阅读全文
posted @ 2020-12-09 12:25 笔落惊风 阅读(86) 评论(0) 推荐(0) 编辑
摘要:图 图的基本介绍 为什么要有图? 线性表局限于一个直接前去和一个直接后继的关系 树也只能有一个直接前去也就是父节点 当我们表示 多对多的关系是=时,就用到了图 图的举例说明 图是一种数据结构,其中节点可以具有零个或多个相邻元素。 两节点之间的连接称为边,节点称为顶点 如图: 图的常用概念 顶点:节点 阅读全文
posted @ 2020-12-08 16:25 笔落惊风 阅读(136) 评论(0) 推荐(0) 编辑
摘要:数组、链表和树存储方式分析 数组 优点 通过下标方式访问元素,速度快 对于有序数组,可以使用二分查找提高检索效率 缺点 要检索或插入某个具体值,数组会整体移动,效率低 链表 优点 在一定程度上,是对数组的优化 缺点 进行检索时,效率较低 树结构 能提高数据存储,读取速率 利用二叉排序树,即可保证数据 阅读全文
posted @ 2020-12-07 17:03 笔落惊风 阅读(185) 评论(0) 推荐(0) 编辑
摘要:多路查找树 二叉树和B树 二叉树的问题分析 二叉树操作效率高 二叉树需要加载到内存,若二叉树的节点多存在如下问题: 问题1:构建二叉树时,需多次进行I/O操作,对与速度有影响 问题2:节点海量造成二叉树的高度很大,会降低操作速度 多叉树 在二叉树中,每个节点有数据项,最多有两个子节点。如果允许每个节 阅读全文
posted @ 2020-12-07 17:01 笔落惊风 阅读(427) 评论(0) 推荐(0) 编辑
摘要:平衡二叉树(AVL树) 二叉排序树问题分析 左子树全部为空,从形式上看更像一个单链表 插入速度没有影响 查询速度明显降低 解决方案:平衡二叉树 基本介绍 平衡二叉树也叫二叉搜索树,保证查询效率较高 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两棵子树都是一棵平衡二叉树 常用的实现 阅读全文
posted @ 2020-12-06 17:53 笔落惊风 阅读(318) 评论(0) 推荐(0) 编辑
摘要:二叉排序树(BST) 需求 给定数列{7,3,10,12,5,1,9},要求能够高效的完成对数据的查询和添加 思路三则 使用数组,缺点:插入和排序速度较慢 链式存储,添加较快,但查找速度慢 使用二叉排序树 基本介绍 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比 阅读全文
posted @ 2020-12-03 18:21 笔落惊风 阅读(158) 评论(0) 推荐(0) 编辑
摘要:霍夫曼树 基本介绍和创建 基本介绍 又称哈夫曼树,赫夫曼树 给定n个权值作为n个叶子节点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称为最优二叉树 霍夫曼树是带权路径长度最短的树,权值较大的节点离根较近 几个重要的概念 路径和路径长度:一棵树中从一个节点往下可以达到的子节点之间的通路叫 阅读全文
posted @ 2020-12-01 14:12 笔落惊风 阅读(343) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示