<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_41770939的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_41770939</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_41770939]]></copyright><item><title><![CDATA[Java数据压缩算法——哈夫曼树]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/105097883</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/105097883</guid><author>qq_41770939</author><pubDate>Sat, 04 Apr 2020 19:02:35 +0800</pubDate><description><![CDATA[一、简介

     给定N个权值作为N个叶子节点，构造一棵二叉树，若该树的带权路径长度达到最小，称这样的二叉树为最优二叉树，也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树，权值较大的结点离根较近。

   在计算机数据处理中，哈夫曼编码使用变长编码表对源符号（如文件中的一个字母）进行编码，其中变长编码表是通过一种评估来源符号出现机率的方法得到的，出...]]></description><category></category></item><item><title><![CDATA[Java数据结构——树——红黑树]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/104905122</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/104905122</guid><author>qq_41770939</author><pubDate>Sat, 21 Mar 2020 20:46:53 +0800</pubDate><description><![CDATA[插入节点

新插入的节点颜色默认为红色

如果新插入节点的父节点颜色为红色 违反了性质4

   1.新插入节点的父节点为其父节点的左子节点时，找到其叔叔节点

      1.1 如果叔叔节点的颜色为红色时

           1.1.1将插入节点的父节点和叔叔节点的颜色设置为黑色，并且将插入节点的祖父节点的颜色设置为红色，再将祖父节点设置为插...]]></description><category></category></item><item><title><![CDATA[Java数据结构——树——AVL树]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/103950587</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/103950587</guid><author>qq_41770939</author><pubDate>Sat, 14 Mar 2020 19:48:01 +0800</pubDate><description><![CDATA[一、简介

  在计算机科学中，AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1，所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G. M. Adelson-Velsky和E. M. Landis，他们在1962年的论文《An algorithm for the organization of in...]]></description><category></category></item><item><title><![CDATA[Java算法——打印杨辉三角(递归—非递归)]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/102603572</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/102603572</guid><author>qq_41770939</author><pubDate>Thu, 17 Oct 2019 14:12:49 +0800</pubDate><description><![CDATA[一、前言

  前段时间有学弟问我一些关于二维数组和for循环的题，在帮他解决问题的过程中，我发现了我很久之前对于相关知识的一些盲点部分，趁此机会，弥补一下自身的不足——那时候觉得杨辉三角很复杂，所以也就没继续坚持下去。

 这篇博客就作为当时遗憾的完结。

二、杨辉三角介绍

 以下内容引用自：https://baijiahao.baidu.com/s?id=160706365420...]]></description><category></category></item><item><title><![CDATA[kafka]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/100694092</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/100694092</guid><author>qq_41770939</author><pubDate>Tue, 10 Sep 2019 11:46:10 +0800</pubDate><description><![CDATA[目录

一、介绍

二、kafka环境搭建（win）

三、测试Demo

 以下内容只是简单介绍和入门的Demo，如果有比较想深入理解kafka的同学可以看官网；像英语水平和我差不多的同学可以看这里

一、介绍

Kafka是由Apache软件基金会开发的一个开源流处理平台，由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统，它可以处理消费者在网站中的所有动作流数据。...]]></description><category></category></item><item><title><![CDATA[Java节点遍历算法——图——深度优先算法（递归实现）]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/90906688</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/90906688</guid><author>qq_41770939</author><pubDate>Wed, 05 Jun 2019 18:33:31 +0800</pubDate><description><![CDATA[一.简介

深度优先搜索算法（Depth-First-Search），是搜索算法的一种。是沿着树的深度遍历树的节点，尽可能深的搜索树的分支。当节点v的所有边都己被探寻过，搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点，则选择其中一个作为源节点并重复以上过程，整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。

 深...]]></description><category></category></item><item><title><![CDATA[Java节点遍历算法——图——狄克斯特拉算法（权重算法）]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/89385259</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/89385259</guid><author>qq_41770939</author><pubDate>Thu, 18 Apr 2019 19:51:25 +0800</pubDate><description><![CDATA[一、简介

 迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的，因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法，解决的是有权图中最短路径问题。狄克斯特拉算法主要特点是以起始点为中心向外层层扩展，直到扩展到终点为止。

狄克斯特拉算法解决了有向图最短路径的问题。

二、实现思路

 狄克斯特拉算法的实现大致可分为四个步骤：

     1. 找出...]]></description><category></category></item><item><title><![CDATA[Java递归算法——汉诺塔]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/88920163</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/88920163</guid><author>qq_41770939</author><pubDate>Sat, 30 Mar 2019 23:30:43 +0800</pubDate><description><![CDATA[简介：

 相传在古印度圣庙中，有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上，有三根杆(编号A、B、C)，在A杆自下而上、由大到小按顺序放置64个金盘(如下图)。游戏的目标：把A杆上的金盘全部移到C杆上，并仍保持原有顺序叠好。操作规则：每次只能移动一个盘子，并且在移动过程中三根杆上都始终保持大盘在下，小盘在上，操作过程中盘子可以置于A、B、C任一杆上。

    ...]]></description><category></category></item><item><title><![CDATA[Java递归算法——猴子吃桃]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/88878282</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/88878282</guid><author>qq_41770939</author><pubDate>Thu, 28 Mar 2019 21:34:45 +0800</pubDate><description><![CDATA[偶然看到一个算法问题——猴子吃桃

题目如下：

. 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第十天早上在想吃时,就只剩一个桃子了.求第一天共摘了多少个桃子?

分析：

 ...]]></description><category></category></item><item><title><![CDATA[Java爬虫——jsoup爬取知乎内容并写入文件]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/88869062</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/88869062</guid><author>qq_41770939</author><pubDate>Thu, 28 Mar 2019 14:57:54 +0800</pubDate><description><![CDATA[引言：利用闲暇时间写了一个小爬虫，巩固Jsoup技术

注：此篇文章仅供学习使用

由于知乎的内容都是比较精彩和权威，网上很多文章也都是关于爬取知乎内容的，所以笔者也写了一个简单的小爬虫来获取知乎的内容

1.找到需要爬取的页面

           2.分析页面数据
         3. 找到上诉图片中返回值的请求信息
     ...]]></description><category></category></item><item><title><![CDATA[二分查找递归算法——java]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/88857930</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/88857930</guid><author>qq_41770939</author><pubDate>Wed, 27 Mar 2019 23:27:58 +0800</pubDate><description><![CDATA[引言：笔者发现这段时间访问量最多的文章是二分查找法，由此可见其重要性

恰巧最近对递归算法比较感兴趣，所以就写了这篇文章，希望能到帮助大家更加深刻的理解到二分查找算法和递归算法的美妙之处


	/**
	 * 递归二分查找法
	 *
	 * @param arr	需要进行查询操作的数组
	 * @param len	数组的长度
	 * @param num	需要在数组中查询的数据
	 * @ret...]]></description><category></category></item><item><title><![CDATA[linux mongodb 安装]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/88104179</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/88104179</guid><author>qq_41770939</author><pubDate>Mon, 04 Mar 2019 10:47:35 +0800</pubDate><description><![CDATA[linux mongodb 安装
1.在linux中创建存放mongodb的文件夹
mkdir -p /usr/software/mongodb


2.在linux中创建存放mongodb数据文件的文件夹
 mkdir -p /usr/software/mongodb/data


3.进入mongodb文件夹
 cd  /usr/software/mongodb


4.下载mongodb安装...]]></description><category></category></item><item><title><![CDATA[java排序算法——时间复杂度为O(n)]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/85501775</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/85501775</guid><author>qq_41770939</author><pubDate>Tue, 01 Jan 2019 01:47:34 +0800</pubDate><description><![CDATA[《剑指offer》中一个题目

1 简介：


优点：
​
        用空间代替时间，极大的提升了实现排序所用的时间效率 
​
缺点：
​
      1.通过牺牲空间来提升时间，非常耗费内存资源
​
      2.需要实现这个算法，必须知道传入的数组中的最大元素是多少，不然会引起索引越界等异常

2 代码实现


pub...]]></description><category></category></item><item><title><![CDATA[java排序算法——归并排序]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/85500311</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/85500311</guid><author>qq_41770939</author><pubDate>Tue, 01 Jan 2019 01:33:39 +0800</pubDate><description><![CDATA[1 简介

 归并排序（MERGE-SORT）是建立在归并操作上的一种有效的排序算法,该算法是采用分治法（Divide and Conquer）的一个非常典型的应用。将已有序的子序列合并，得到完全有序的序列；即先使每个子序列有序，再使子序列段间有序。若将两个有序表合并成一个有序表，称为二路归并。

2 实现思路

      


	将数组分解直到分解的数组长度小于2
	
	
	申...]]></description><category></category></item><item><title><![CDATA[java排序算法——希尔排序]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/85499990</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/85499990</guid><author>qq_41770939</author><pubDate>Tue, 01 Jan 2019 01:13:18 +0800</pubDate><description><![CDATA[1 简介

 希尔排序是把记录按下标的一定增量分组，对每组使用直接插入排序算法排序；

 随着增量逐渐减少，每组包含的关键词越来越多，当增量减至1时，整个文件恰被分成一组，算法便终止。

2 实现思路




	划分出当前数组的最大增量

	1.1 增量取法：

	
    增量increment的取法有各种方案。最初shell提出取increment=n/2向下取整，increment=in...]]></description><category></category></item><item><title><![CDATA[微服务——consul注册中心]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/85498655</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/85498655</guid><author>qq_41770939</author><pubDate>Tue, 01 Jan 2019 01:04:02 +0800</pubDate><description><![CDATA[目录

1、简介

2、原理

3、安装、配置consul

4，创建服务注册:提供者

5、创建服务消费者

5、测试

1、简介

     

 上述内容大致意思是：关于eureka 2.0的现有开源工作已经停止。作为2.x分支上现有工作存储库的一部分发布的代码库和工件被视为使用，风险自负。

简单来说就是目前已经闭源了

不过大家不用惊慌，除了Eureka之外，我们还有更...]]></description><category></category></item><item><title><![CDATA[JAVA设计模式——原型模式]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/84951959</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/84951959</guid><author>qq_41770939</author><pubDate>Tue, 11 Dec 2018 11:15:12 +0800</pubDate><description><![CDATA[原型模式

 原型模式（Prototype Pattern）是用于创建重复的对象，同时又能保证性能。这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。

 这种模式是实现了一个原型接口，该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时，则采用这种模式。例如，一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象，在下一个请求时返回它的克隆，在需要的时候更新...]]></description><category></category></item><item><title><![CDATA[JAVA设计模式——构造者模式]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/84951230</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/84951230</guid><author>qq_41770939</author><pubDate>Tue, 11 Dec 2018 10:42:30 +0800</pubDate><description><![CDATA[构造者模式

 建造者模式（Builder Pattern）使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。

 一个 Builder 类会一步一步构造最终的对象。

该 Builder 类是独立于其他对象的。

比如我要创建一个学生，

但是 我创建的学生有些特别。

比如 一个学生没有性别，另一个又没有年龄。

在...]]></description><category></category></item><item><title><![CDATA[JAVA设计模式——工厂—抽象工厂模式]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/84950852</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/84950852</guid><author>qq_41770939</author><pubDate>Tue, 11 Dec 2018 10:31:31 +0800</pubDate><description><![CDATA[1、工厂模式

常用的工厂模式是静态工厂，利用static方法，作为一种类似于常见的工具类Utils等辅助效果。

注：为了让大家更直观，笔者采用类部类的方式示例


// 示例接口
public interface FactoryExample {


    class A implements FactoryExample {

        public A() {
          ...]]></description><category></category></item><item><title><![CDATA[Java节点遍历算法——图——广度优先算法]]></title><link>https://blog.youkuaiyun.com/qq_41770939/article/details/84671319</link><guid>https://blog.youkuaiyun.com/qq_41770939/article/details/84671319</guid><author>qq_41770939</author><pubDate>Sat, 01 Dec 2018 10:42:57 +0800</pubDate><description><![CDATA[1.简介

  广度优先算法（Breadth-First Search），同广度优先搜索，又称作宽度优先搜索，或横向优先搜索，简称BFS，是一种图形搜索演算法。简单的说，BFS是从根节点开始，沿着树的宽度遍历树的节点，如果发现目标，则演算终止。广度优先搜索的实现一般采用open-closed表。

 BFS是一种盲目搜寻法，目的是系统地展开并检查图中的所有节点，以找寻结果。换句话说，它并...]]></description><category></category></item></channel></rss>