自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xutiantian1412的博客

不要总想搞个大项目

原创 Java中文NLP工具汇总

NLP任务都是要用python完成么?当然不是了。。。毕竟企业级服务还是Java性能好。下面介绍几个可供选择的中文NLP任务工具包。 首先声明,本文介绍的所有工具也可参考下文: Java开源项目cws_evaluation:中文分词器分词效果评估对比 文中比较了10个中文分词工具,比较了他们...

2018-12-11 20:00:17 4486 2

原创 python数据结构与算法学习路线及系列文章汇总(持续更新。。)

虽然是用python搞机器学习的大项目,还是要从零开始学习数据结构那一套理论。不知不觉数据结构及算法系列的学习及LeetCode刷题已经一大堆,现对此汇总。 如下是一套比较合理的完整的学习路径: 1)数据结构与算法的理论,包括复杂度的思想,从线性表开始(链表,栈和队列),然后是数组和字符串的初...

2018-10-02 22:29:10 2985 7

原创 数据挖掘实战之天池精准医疗大赛(2)——算法思路

Part 1-2 算法思路:下面我们根据前文对数据集的认识,分析问题和解题思路。其实讲述算法思路是一件十分复杂和困难的事儿,按照自上向下的顺序结合一位大佬的文章,谈一谈:一,说到思路,其实就是数据、特征、模型三个部分,数据预处理服务于特征工程,特征服务于模型,又决定了模型的上限。这三部分密不可分,...

2018-02-09 16:13:36 2342 0

原创 数据挖掘实战之天池精准医疗大赛(1)——赛题与数据

首先介绍题目与数据:特别提供一下数据,供后来看到的盆友下载研究(现在官网上剩下的数据是复赛的了),测试数据分AB榜,不了解的去看天池平台的介绍:链接:https://pan.baidu.com/s/1SGZi_o1UVobHfy275onoOw 密码:rf6s竞赛题目中国是世界上糖尿病患者最多的国...

2018-02-05 15:35:44 5844 8

原创 机器学习建模全流程及资料总结(2)

书接上文。 4. 特征筛选 前述特征工程的工作从原始数据中提取,构造了众多特征,一般来说是可以直接用于模型训练的。 但是对于机器学习模型来说,并不是特征越多越好。特征中冗余的信息,与目标值无关的变量,多个特征之间的线性关系等,都会对模型训练产生负面影响。 因此进行特征对筛选是很必要对步骤。...

2020-05-18 00:00:49 116 0

原创 机器学习建模全流程及资料总结——以文本分类风控建模实验为例(1)

场景为根据用户手机短信的风控建模,以此为例总结一套数据处理,特征工程,实验就结果分析的全流程珍贵的代码。 一 数据预处理 二 特征工程 三 数据存储 四 模型实验 五 结果分析 ...

2020-05-03 23:15:05 164 0

原创 10.6 贪心算法详解及LeetCode题目
原力计划

可参考几篇博客 详解贪心算法(Python实现贪心算法典型例题) 五大常用算法之一:贪心算法 算法概述 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到...

2020-04-06 22:03:32 89 0

原创 10.5.2 (python) 动态规划字符串类LeetCode题目 —— Interleaving String & Distinct Subsequences
原力计划

下面我们看两道字符串子序列的问题 subsequence,首先明白子序列是不必连续的。 97.Interleaving String Givens1,s2,s3, find whethers3is formed by the interleaving ofs1ands2. Example 1...

2020-03-29 18:19:54 29 0

原创 10.5.1 (python) 动态规划字符串类LeetCode题目 —— Edit Distance & Regular Expression Matching

下面学习几道字符串的题目,难度一般较大,但是也有共性,有套路,必须掌握几道经典的题目。 72.Edit Distance Given two wordsword1andword2, find the minimum number of operations required to conv...

2020-03-29 14:17:34 25 0

原创 LeetCode刷题指南——题目精选3

7. 二叉树遍历 树的概念,树的存储结构,孩子兄弟存储方式 二叉树、完全二叉树的性质 深度优先、广度优先遍历即先序中序后序层次遍历的递归和非递归写法(相当于6道题) 101. Symmetric Tree 111. Minimum Depth of Binary Tree 103. B...

2020-03-22 00:15:38 42 0

原创 LeetCode刷题指南——题目精选2

这是LeetCode经典题目总结文章~第二篇 4. 二分查找 熟练掌握二分查找的通用格式,包括递归及非递归的写法; 33. Search in Rotated Sorted Array 34. Find First and Last Position of Element in Sorte...

2020-03-21 23:33:25 41 0

原创 10.4.3 (python) 动态规划专题之股票买卖 —— Best Time to Buy and Sell Stock
原力计划

这一系列涉及到LeetCode中几道关于股票stock买卖时机的题目,给出一数组,代表每天股票的价格,我们要按要求,计算你所能获取的最大利润。需要注意的是,你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 Say you have an array for which theith...

2020-03-15 11:27:32 35 0

原创 10.4.2 (python) 动态规划专题之换零钱 —— Coin Change & Perfect Squares

换零钱是一个典型的动态规划场景。 322.Coin Change You are given coins of different denominations and a total amount of moneyamount. Write a function to compute the ...

2020-03-08 20:24:20 43 0

原创 10.4.1 (python) 动态规划专题之最长递增子序列 —— Longest Increasing Subsequence & Russian Doll Envelopes

Longest Increasing Subsequence 简称 LIS,是一个经典问题。我们看一下经典解题方法及一道应用题目。 300.Longest Increasing Subsequence Given an unsorted array of integers, find th...

2020-03-08 19:50:40 39 0

原创 10.3.3 (python) 动态规划数组类LeetCode题目 —— Dungeon Game & Frog Jump

来看两道 hard 级别的题目,其子问题性质很明显,就是动态规划,难点就是我们可能找不好子问题的关系式。 174.Dungeon Game The demons had captured the princess (P) and imprisoned her in the bottom-rig...

2020-03-08 00:06:35 31 0

原创 10.3.2 (python) 动态规划数组类LeetCode题目 —— Decode Ways & Range Sum Query 2D

这几道题稍微加大难度,DP的框架是不变的,关键是分析问题的结构,分析状态转移关系。 91.Decode Ways A message containing letters fromA-Zis being encoded to numbers using the following mappin...

2020-03-07 20:11:45 55 0

原创 10.3.1 (python) 动态规划数组类LeetCode题目 —— Minimum Path Sum & Triangle & Maximum Product Subarray
原力计划

这一节的几篇,都是解析动态规划数组类题目,相对于后面的字符串类问题来说,还是比较容易的。 首先来看比较几个简单的DP题目,巩固一下前面所学套路。 64.Minimum Path Sum Given amxngrid filled with non-negative numbers, find...

2020-02-27 21:49:47 40 0

原创 10.2 动态规划算法套路及空间优化 —— Climbing Stairs & Unique Paths

这一篇文章从最简单的动态规划题目开始,结合上一节动态规划三要素,阐述DP问题的基本套路解法。

2020-02-26 22:30:44 36 0

原创 10. 1 动态规划及贪心算法概述

这一章介绍两个重要的算法思想:动态规划和贪心。 谈到算法思想,前面已经涉及到的包括,递归,分治,当然暴力求解也是一种算法思想(关于算法思想的知识框架,可以参考算法书籍),但是许多问题最优解暴力实在解决不了或者效率低下,不够优美,这样就引出了——动态规划。 一. 概述 建议在对算法有所了解的情...

2020-02-17 00:39:01 76 0

原创 7.12.1 线段树原理及应用(上)

继续在树这一类问题上拓展,线段树也是高级的数据结构,初学者要跳过,深入学习阶段可以适当了解一下,拓宽思维能力。如果要参加竞赛或者其他对数据结构要求比较高的情形,可以仔细研究一番,本文借其他博客和几道力扣题目介绍一下线段树。 第一篇文章我们先从以下两个问题展开: 1. 线段树是什么?是什么样的结...

2020-02-16 18:43:16 38 0

原创 LeetCode刷题指南——题目精选1

这是LeetCode经典题目总结文章~ 基础:将数据结构及算法学习的差不多,LeetCode题目按类别刷题及总结,参考鄙人数据结构及算法系列文章~ 按类别将每类题目做好,大概刷250道左右的程度即可。 再按照如下精选题目进行知识点巩固,文章总结了各种类型的经典题目,用于第二遍刷题。第二遍刷题...

2020-02-01 23:11:41 86 0

转载 7.11.1 Trie 树(字典树)简介与实现

新年第一篇,补充一下trie树的相关知识,还比较好理解,关键是在实际问题上应用起来~ 一、基本概念 Trie树又称字典树、单词查找树、前缀树等,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。   优...

2020-01-08 11:40:40 32 0

转载 java各种类型对象占用内存情况分析(经典篇,有图有真相)

写在转载文章前面: 在项目中遇到了诡异的内存占用过高的问题,其实搬到服务器上内存也够,但是某位大神还是锲而不舍的追求问题本质,于是我们学习了这篇文章。 项目中读了一个1.7G的词向量文件(对,用Java搞NLP),文件每行为一个词语及300维度的词向量,自然是要存为一个hashmap,便于查找...

2019-11-01 19:56:45 37 0

原创 8.2.3 python排序LeetCode题目(3) —— K Pairs with Smallest Sums & Kth Smallest Element in a Sorted Matrix

这一节再看一些排序相关的题目。 373.Find K Pairs with Smallest Sums You are given two integer arraysnums1andnums2sorted in ascending order and an integerk. Defi...

2019-09-05 20:47:26 48 0

原创 8.2.2 (python)排序算法及LeetCode题目(2) —— Insert Interval & Contains Duplicate III & Wiggle Sort II

这一节是数组排序的相关题目,并没有直接应用算法解决问题那么好的事情。这一部分都是难度较高的题目,重点是解题思路,和排序相关,反而没用到什么排序算法。 57.Insert Interval Given a set ofnon-overlappingintervals, insert a new ...

2019-09-05 09:37:43 38 0

原创 8.2.1 (python)排序算法之链表排序LeetCode题目(1) —— Sort List & Merge k Sorted Lists

首先,在排序的题目中,我们先总结、学习一下,链表排序的问题,顺便也回忆一下链表相关操作。对应于下面两道题 147.Insertion Sort List Sort a linked list using insertion sort. 148.Sort List Sort a linked...

2019-09-03 23:27:05 41 0

原创 9.1 数据结构之图的基本概念及存储结构

前面8章都是比较基础的数据结构与算法,当然各章也有一些较深的知识。之后的章节,都是进阶的数据结构与算法的知识了。 这一章我们介绍更复杂的数据结构——图。 图状结构是一种比树形结构更复杂的非线性结构。在树状结构中,结点间具有分支层次关系,每一层上的结点只能和上一层中的至多一个结点相关,但可能和下...

2019-09-01 10:46:53 131 0

原创 8.1.2 排序算法概述及python基本实现(下)

归并排序(Merge Sort) 和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个...

2019-09-01 10:46:15 71 0

原创 8.1.1 排序算法概述及python基本实现(上)

从查找算法的性能可以看出,有序数据可以提高查找速度。对数据进行排序,是数据结构与算法知识基础篇中最后介绍也是最重要的一部分。 面试时考察编程基础,一看字符串、数组处理的一些题目,二看链表、树的基础应用,三看查找、排序各种方法张口就来。 排序算法是和语言无关的,本节重点还是python的实现;另...

2019-09-01 10:44:40 133 0

原创 7.10.2 (python)堆的应用及Leetcode题目解析

我们简单看几道二叉堆/优先队列的应用。 215.Kth Largest Element in an Array Find thekth largest element in an unsorted array. Note that it is the kth largest element i...

2019-08-21 23:58:55 56 0

原创 7.10.1 优先队列及堆

树这一章真是又臭又长,这一节从优先队列着手,学习堆的概念。 优先队列 队列是一种FIFO(First-In-First-Out)先进先出的数据结构,优先队列(Priority Queue)是特殊的队列,从“优先”一词,可看出有“插队现象”,取出元素的顺序是依照元素的 优先权(关键字)。 优先...

2019-08-19 21:18:14 40 0

原创 7.9 哈夫曼树(Huffman Tree)

二叉树的知识还没完哈,我们来介绍一下哈夫曼树。 参考博客: 哈夫曼树 haffman哈夫曼树——贪心算法(java) 哈夫曼树原理,及构造方法 概述 给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman ...

2019-08-15 17:39:02 169 0

原创 7.8.1 带你学习红黑树(1)

继续学习二叉搜索树相关知识,我们来认识一下略高级的数据结构——红黑树。 鄙人在此仍然提供一些博客,并整理主要知识点及学习路线,由浅入深认识,觉得自己需要掌握到什么地步,适可而止。 红黑树的特点和主要性质 红黑树结点的插入和删除 由2-3-4树理解红黑树 python 手撕红黑树 推荐的文...

2019-08-13 21:28:10 82 0

转载 7.7.3 (转载) B树、B+树、B*树(2)

原文链接:https://blog.csdn.net/v_JULY_v/article/details/6530142/ 转载自July博客 从B树、B+树、B*树谈到R 树 https://blog.csdn.net/v_JULY_v/article/details/6530142/ 之...

2019-08-11 22:04:26 47 0

转载 7.7.2 (转载) B树、B+树、B*树(1)

转载自July博客 从B树、B+树、B*树谈到R 树 https://blog.csdn.net/v_JULY_v/article/details/6530142/ 之第一节 第一节、B树、B+树、B*树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tree...

2019-08-11 21:12:18 51 0

原创 7.7.1 外查找之 B-tree、B+tree 认识

前面的BST、AVL都是用作内部查找的数据结构,即被查找的数据集不大,可以放在内存中。本节7.7 所介绍的查找树,用作外部查找所查数据放在外存中。 本节内容,主要推荐几篇大神的博客,后面作一些转载,并总结主要内容,没有代码实践,就没有必要自己写一堆东西了,前辈们写的都很牛。 1. July 大...

2019-08-11 21:01:03 68 0

原创 7.6.2 (python)AVL LeetCode题目 及 AVL结点插入操作详解

这一节关于 AVL 平衡二叉搜索树的题目,刷了不少题,关于平衡树的题目确实很少,做来做去,就先看下面这两道小儿科的题目吧。 110.Balanced Binary Tree Given a binary tree, determine if it is height-balanced. ...

2019-08-11 10:05:55 222 0

原创 7.6.3 (python)BST LeetCode题目 —— Delete Node in a BST & Recover Binary Search Tree

这一节再解析两道题,略有难度的。 450.Delete Node in a BST Given a root node reference of a BST and a key, delete the node with the given key in the BST. Return the...

2019-08-09 17:46:17 79 0

原创 7.6.1 (python)BST LeetCode题目 —— Minimum Absolute Difference in BST & Convert BST to Greater Tree

BST相关题目并不多,毕竟是一个查找的数据结构。对于BST的题目,最常用的就是中序遍历获得递增序列,进而解决一些题目。在做这一部分题目之前,先默念中序遍历大法。 以98.Validate Binary Search Tree 为例,如何判断是否为二叉搜索树呢,就是对树进行中序遍历,判断序列是否递...

2019-08-05 09:38:58 74 0

原创 7.5 二叉查找树(BST)及平衡二叉树(AVL)的概念及基本运算

经历二叉树的重重拷问,终于来到二叉查找树,又称二叉搜索树(BinarySearchTrees)。在第6章查找算法的介绍中,我们提到了树表查找/动态表查找,BST因为关键字有序,在查找时同样高效,并且易于对关键字的插入及删除操作。 二叉搜索树的基本概念 二叉搜索树是一棵二叉树。这样一棵树可以使用...

2019-08-01 00:09:18 77 0

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