图解:平衡二叉树,AVL树
    
            
摘要:学习过了二叉查找树,想必大家有遇到一个问题。例如,将一个数组{1,2,3,4}依次插入树的时候,形成了图1的情况。有建立树与没建立树对于数据的增删查改已经没有了任何帮助,反而增添了维护的成本。而只有建立的树如图2,才能够最大地体现二叉树的优点。 在上述的例子中,图2就是一棵平衡二叉树。科学家们提出平
        
阅读全文
                posted @ 
2019-09-19 23:18 
Alan_Fire
        
阅读(766) 
         
        推荐(0)     
             
            
            
    链表
    
            
摘要:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 一、链表的创建操作 刚开始,链表为
        
阅读全文
                posted @ 
2019-05-14 23:54 
Alan_Fire
        
阅读(291) 
         
        推荐(0)     
             
            
            
    Kruskal算法详解
    
            
摘要:本章介绍克鲁斯卡尔算法。和以往一样,本文会先对克鲁斯卡尔算法的理论论知识进行介绍,然后给出C语言的实现。后续再分别给出C++和Java版本的实现。 最小生成树 在含有n个顶点的连通图中选择n-1条边,构成一棵极小连通子图,并使该连通子图中n-1条边上权值之和达到最小,则称其为连通网的最小生成树。 例
        
阅读全文
                posted @ 
2019-05-14 18:43 
Alan_Fire
        
阅读(2426) 
         
        推荐(0)     
             
            
            
    经典十大排序算法总结
    
            
摘要:0、排序算法说明 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数
        
阅读全文
                posted @ 
2018-12-15 23:37 
Alan_Fire
        
阅读(265) 
         
        推荐(0)     
             
            
            
    【LeetCode】4. 寻找两个有序数组的中位数
    
            
摘要:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: 示例 2: class Solution { public: doubl
        
阅读全文
                posted @ 
2018-12-15 23:22 
Alan_Fire
        
阅读(204) 
         
        推荐(0)     
             
            
            
    【LeetCode】3. 无重复字符的最长子串
    
            
摘要:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 示例 2: 示例 3: 思路分析: (1)首先要理解一个思路,如果[i,j]是不重复的,那么要判断[i,j+1]是否重复,就只要判断[j+1]在[i,j]是否存在,越界检查。 这里的计算就是: 设'abcabcbb',le
        
阅读全文
                posted @ 
2018-12-12 22:50 
Alan_Fire
        
阅读(172) 
         
        推荐(0)     
             
            
            
    【LeetCode】2. Add Two Numbers 两数相加
    
            
摘要:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例:
        
阅读全文
                posted @ 
2018-12-08 23:18 
Alan_Fire
        
阅读(167) 
         
        推荐(0)     
             
            
            
    【LeetCode】1.两数之和
    
            
摘要:题目:给定一个整数数列,找出其中和为特定值的那两个数。 你可以假设每个输入都只会有一种答案,同样的元素不能被重用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1] 分析:方法1:
        
阅读全文
                posted @ 
2018-12-05 11:30 
Alan_Fire
        
阅读(136) 
         
        推荐(0)     
             
            
            
    文本分类过程中的朴素贝叶斯多项式与伯努力模型
    
            
摘要:1文本分类过程 例如文档:Good good study Day day up可以用一个文本特征向量来表示,x=(Good, good, study, Day, day , up)。在文本分类中,假设我们有一个文档d∈X,类别c又称为标签。我们把一堆打了标签的文档集合<d,c>作为训练样本,<d,c
        
阅读全文
                posted @ 
2018-11-26 10:10 
Alan_Fire
        
阅读(2788) 
         
        推荐(1)     
             
            
            
    机器学习算法思想简单梳理
    
            
摘要:朴素贝叶斯: 有以下几个地方需要注意: 1. 如果给出的特征向量长度可能不同,这是需要归一化为通长度的向量(这里以文本分类为例),比如说是句子单词的话,则长度为整个词汇量的长度,对应位置是该单词出现的次数。 2. 计算公式如下: 其中一项条件概率可以通过朴素贝叶斯条件独立展开。要注意一点就是的计算方
        
阅读全文
                posted @ 
2018-11-26 09:15 
Alan_Fire
        
阅读(295) 
         
        推荐(0)     
             
            
            
    梯度下降法及其实现
    
            
摘要:梯度下降的场景假设 梯度 梯度下降算法的数学解释 梯度下降算法的实例 梯度下降算法的实现 Further reading 本文将从一个下山的场景开始,先提出梯度下降算法的基本思想,进而从数学上解释梯度下降算法的原理,最后实现一个简单的梯度下降算法的实例! 梯度下降的场景假设 梯度下降法的基本思想可以
        
阅读全文
                posted @ 
2018-11-26 08:58 
Alan_Fire
        
阅读(535) 
         
        推荐(0)     
             
            
            
    R语言中的遗传算法详细解析
    
            
摘要:前言 人类总是在生活中摸索规律,把规律总结为经验,再把经验传给后人,让后人发现更多的规规律,每一次知识的传递都是一次进化的过程,最终会形成了人类的智慧。自然界规律,让人类适者生存地活了下来,聪明的科学家又把生物进化的规律,总结成遗传算法,扩展到了更广的领域中。 本文将带你走进遗传算法的世界。 目录 
        
阅读全文
                posted @ 
2018-11-16 22:39 
Alan_Fire
        
阅读(4207) 
         
        推荐(2)     
             
            
            
    模拟退火算法
    
            
摘要:一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点
        
阅读全文
                posted @ 
2018-11-16 22:30 
Alan_Fire
        
阅读(583) 
         
        推荐(0)