![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 94
Kevin_miu
简单的学习,简单地工作。
展开
-
【Algorithms公开课学习笔记12】 符号表part5——符号表的应用
符号表的应用0.前言经过几篇文章的分析,我们已经清楚了符号表的几种实现方法了。本文将着重介绍符号表的实际应用。在本文的代码中,如果不特别强调,其符号表的实现方式都是红黑树来实现的。1.集合set集合最大的特征就是{in, not in}两种属性,因此非常适合做关键字筛选/过滤。关键字筛选/过滤在实际应用中非常广泛,例如垃圾邮件过滤、拼写纠正、浏览器痕迹等等。我们模拟一个场景:输入一个文件...原创 2018-10-07 13:00:45 · 286 阅读 · 0 评论 -
【Algorithms公开课学习笔记11】 符号表part4——哈希表
哈希表HashTable0.前言前面的文章我们分析了符号表的集中实现方式:有序链表、无序数组、二叉搜索树(BST)、平衡搜索树(红黑树法)等,通过下图回忆一下各种实现方法的性能对比。那么,除此之外,是否还存在性能更好的实现方法呢?答案是肯定的,就是本文将重点介绍的哈希表(HashTable)。1.哈希函数哈希表就是使用一个key-indexed的表来存储数据,其中该index是对key...原创 2018-10-07 12:59:47 · 423 阅读 · 0 评论 -
【Algorithms公开课学习笔记9】 符号表part2——平衡搜索树
Balanced Search Tree 平衡搜索树0. 前言上一篇文章,我们分析了二叉搜索树(BST传送门)。在二叉搜索树中,查找、插入、删除、ceiling和floor等操作的平均时间性能取决于树高。在极端情况下(如插入有序序列后),如果树高h过大,其时间性能将会变得很差。根据树的特点,通过平衡树操作可以有效地降低树的高度,从而达到理想的时间性能。这就是本篇文章的重点——平衡搜索树(BST...原创 2018-10-05 19:26:33 · 302 阅读 · 0 评论 -
【Algorithms公开课学习笔记10】 符号表part3——平衡搜索树的应用
Geometric Application of BSTs 平衡搜索树的几何应用0. 前言在前面的文章中,我们分析了符号表的许多基本操作,包括:查找、插入、删除等。现在我们新增两个操作:范围查找(range search) 和 范围统计(range count)。这两个操作中数据的SQL查询语句很常见。1. 一维范围搜索基本概念一维查找的几何解释如下:(结合下图)key是作为一维线段...原创 2018-10-05 19:25:27 · 191 阅读 · 0 评论 -
【Algorithms公开课学习笔记8】 符号表part1——二叉搜索树
BST 二叉搜索树0. 前言本文的主要内容是分析符号表这种数据结构,并着重介绍使用二叉搜索树来实现符号表的方法。1. Symbol Table 符号表基本概念符号表是一种键值对(key-value)的数据结构,其基本操作包括:插入一个键值对,根据键查找其对应的值。符号表在现实中最常见的应用有:DNS域名解析系统(如下图),routing table路由表,file system文件系统...原创 2018-09-21 15:41:03 · 314 阅读 · 0 评论 -
【Algorithms公开课学习笔记7】 排序算法part4——堆排序
HeapSort 堆排序0. 前言本文继续分析另一个很重要的高效排序算法——堆排序。不过,在此之前,需要先引入堆和优先队列的概念,这是堆排序的基础。1.优先队列(Priority Queue)基本概念顾名思义,优先队列是由队列演变而来的,包含最基本的插入和删除操作。优先队列的插入规则与队列一致,是插入(添加)到队列的末尾;删除规则比较特殊,是删除(在指定规则中)优先级最高的项。(最大项...原创 2018-09-21 15:39:59 · 214 阅读 · 0 评论 -
【Algorithms公开课学习笔记6】 排序算法part3——快速排序
Quick Sort 快速排序0.前言前面的文章分析了归并排序这个性能极高的排序算法,本文将继续分析另一个性能相当的排序算法——快速排序。快速排序还被誉为20世纪十大最佳算法之一。在Java编程中Arrays.sort(o),如果括号里的o是java基本类型,那么该API就会调用快速排序算法。1.快速排序原理快速排序运用了递归的思想:input:数组sso...原创 2018-09-11 10:34:10 · 234 阅读 · 0 评论 -
【Algorithms公开课学习笔记5】排序算法part2——归并排序
Merge Sort 归并排序0.前言前面的文章已经分析了选择排序、插入排序、希尔排序等基础排序算法,本文将分析一个性能极高的排序算法——归并排序。在Java编程的时候,我们经常会使用到一个API:Arrays.sort(o),如果括号中的o是对象的话,那么该API就是调用归并排序算法(结合了插入排序)来完成排序的。顺带一提,如果括号里的o是java基本类型,那么该API就会调用快速排...原创 2018-09-11 10:31:07 · 366 阅读 · 0 评论 -
【Algorithms公开课学习笔记4】排序算法part1——基础排序
Elementary Sorts 基本排序0.前言本文将会涉及以下几种基本排序方法:选择排序(selection sort),插入排序(insertion sort),希尔排序(shell sort),洗牌(shuffling),凸包(convex hull)等1.排序的规则在java中,如果想实现能够对任意数据类型排序的话,就必须要实现comparable接口。1....原创 2018-09-05 17:31:42 · 258 阅读 · 0 评论 -
【Algorithms公开课学习笔记3】 栈与队列
Stack and Queue 栈和队列0.前言本文是对数据类型的学习笔记,将会从接口(interface),实现(implement), 客户(client)等三个角度分模块来组织文章。接口:对数据类型、基本操作的描述(API) 实现:实现API的基本操作的实际代码 客户:在程序里调用API所定义的基本操作1.Stack 栈栈最基本的特点就是后进先出(LIFO...原创 2018-09-05 17:30:20 · 191 阅读 · 0 评论 -
基于SSM框架配置log4j的基本方法
基于SSM框架配置log4j的基本方法日志是项目管理中非常重要的工具,尤其是在后台项目中。日志记录了项目的访问信息、打印信息和错误信息等,可以有效地帮助开发者查看和获取以上各类信息。在SSM框架中配置log4j是非常简单的,只需要按照以下步骤操作即可:基于SSM框架配置log4j的基本方法1.添加maven依赖2.设置mybatis的日志实现3.新建日志配置文件log4j.p...原创 2018-08-10 16:38:01 · 1842 阅读 · 1 评论 -
【Algorithms公开课学习笔记2】 算法性能分析方法
Analysis of Algorithms 算法性能分析方法Observation观察使用编程语言实现一个算法,测试其运行时间是一件非常重要的事情。常用的有以下3中方法(针对Java程序)方法1:手动测量直接使用计时器来测量运行时间(估计没有人会接受这种方法)方法2:使用程序自动测量在java中Stopwatch类里面有elapsedTime()方法可以测...原创 2018-07-27 21:18:35 · 470 阅读 · 0 评论 -
【Algorithms公开课学习笔记1】 Union-Find 合并查找
Union-Find 合并查找动态连接性判断连接性的关键等价关系模型:如果有(a,b),(b,c),那么也会有(a,c)。其中()表示有连接。连通分量:最大的可连通对象集合,有两个特点:1)连通分量内部任意两个对象都是相连通的;2)连通分量内部的对象不与外部对象相连通。利用连通分量,可以方便地实现并查集的两个操作:查询请求和合并命令查找:检查两个对象是否在相同的...原创 2018-07-27 21:17:20 · 377 阅读 · 0 评论 -
JavaCV视频截图
JavaCV视频截图JavaCV视频截图参考文献导入包使用方法注意事项解决办法参考文献https://blog.csdn.net/syz_mumu/article/details/77203247 用Java代码提取视频的缩略图的两种办法https://blog.csdn.net/zs770635620/article/details/80387932 ...原创 2018-07-17 16:29:45 · 2226 阅读 · 7 评论 -
在ubuntu下配置eclipse+tomcat+mysql+maven
在ubuntu下配置eclipse+tomcat+mysql+maven在ubuntu下配置eclipse+tomcat+mysql+maven前言1.安装mysql2.安装并配置jdk3.安装并配置tomcat4.安装并配置eclipse5.安装并配置maven其他注意事项参考资料前言本教程的实验环境是ubuntu14.04 i386版本,其他版本的可...原创 2018-06-27 23:14:22 · 827 阅读 · 0 评论 -
linux设备硬件信息的获取
linux设备硬件信息的获取摘要: 本文主要分析了在linux设备上采集相关的硬件信息,并给出了java实现的方法。然后模拟了“玩客云”的场景,摘取了部分关键信息,上传至服务器。关键技术: linux命令行返回值的解析、MySQL数据的连接及相关操作、HTTP通信实现语言: java参考: http://www.jb51.net/LINUXjishu/65741.html htt...原创 2018-06-07 17:40:24 · 2160 阅读 · 0 评论 -
Kafka-connect-elasticsearch编译方法
Kafka-connect-elasticsearch编译方法前期准备kafka-connect-elasticsearch依赖parent项目(common),而common又依赖kafka相关包,因此,编译的时候顺序是:先编译kafka、再编译common、最后编译connect。1.下载并安装gradle和scala(编译kafka的工具)gradle :在windows系统中按...原创 2019-08-05 10:32:09 · 567 阅读 · 0 评论