分类: 数据结构与算法
thumbnail

合并 K 个排序链表算法题,史上最难出自LeetCode

LeetCode 第 23 号问题:合并 K 个排序链表。 该题在 LeetCode 官网上有关于链表的问题中标注为最难的一道题目:难度为 Hard ,通过率在链表 Hard 级别目前……
thumbnail

如何让机器学习自动化?专家们告诉你在做啥?

媒体总会用“稀缺”、“高薪”等字眼来描绘机器学习,甚至还有一些夸张的标题宣称某公司的自动机器学习产品能代替机器学习专家。在TensorFlow DevSummit上,谷歌AI……
thumbnail

raft共识算法图解,搞不懂就别玩区块链

raft是一个共识算法(consensus algorithm),所谓共识,就是多个节点对某个事情达成一致的看法,即使是在部分节点故障、网络延时、网络分割的情况下。这些年……
thumbnail

机器学习算法图解:K最近邻算法——橙子还是柚子?

K最近邻算法 橙子还是柚子,请看下图的水果,是橙子还是柚子?我知道,柚子通常比橙子更大,更红。 我的思维过程类似于这样:我脑子里有个图表。 一般而言,……
thumbnail

LeetCode算法题:004寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 num……
thumbnail

区块链哈希加密算法,看一篇就懂算你狠

来讲讲什么是哈希算法。 哈希是一种加密算法。 哈希函数(Hash Function),也称为散列函数或杂凑函数。哈希函数是一个公开函数,可以将任意长度的消息M映射成……
thumbnail

隐马尔可夫(HMM)概率学、前/后向算法、Viterbi算法

HMM的模型  图1 如上图所示,白色那一行描述由一个隐藏的马尔科夫链生成不可观测的状态随机序列,蓝紫色那一行是各个状态生成可观测的随机序列 话说,上面也是……
thumbnail

Sunday算法:模式串匹配效率提高

Sunday算法是Daniel M.Sunday于1990年提出的字符串 模式匹配 。其核心思想是:在匹配过程中,模式串发现不匹配时,算法能跳过尽可能多的字符以进行下一步的……
thumbnail

「二叉树」算法面试题:前序、中序、后序、层序遍历

1. 二叉树的前序遍历 题目来源于 LeetCode 第 144 号问题:二叉树的前序遍历。 题目描述 给定一个二叉树,返回它的 前序 遍历。 题目解析 用**栈(Stack)**的……
thumbnail

机器学习算法笔记:主成分分析PCA

主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降……
thumbnail

机器学习算法笔记:树回归

线性回归模型中,其前提是假设全局的数据之间是线性的,通过拟合所有的样本点,训练得到最终的模型。然而现实中的很多问题是非线性的,当处理这类复杂的数据的……
thumbnail

机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归

处理较为复杂的数据的回归问题时,普通的线性回归算法通常会出现预测精度不够,如果模型中的特征之间有相关关系,就会增加模型的复杂程度。当数据集中的特征之……
thumbnail

机器学习算法学习笔记:逻辑回归

逻辑回归算法的名字里虽然带有“回归”二字,但实际上逻辑回归算法是用来解决分类问题的。简单来说, 逻辑回归(Logistic Regression)是一种用于解决二分类(0 ……
thumbnail

链表算法搞定面试:万字长文搞定一切

2 输出单链表倒数第 K 个节点 2.1 问题描述 题目:输入一个单链表,输出此链表中的倒数第 K 个节点。(去除头结点,节点计数从 1 开始) 2.2 两次遍历法 2.2……
thumbnail

Python数据结构与算法之列表(链表linked list)简单实现

Python 中的 list 并不是我们传统(计算机科学)意义上的列表,这也是其 append 操作会比 insert 操作效率高的原因。传统列表——通常也叫作链表(linked list)……
thumbnail

Python二叉搜索树与双向链表转换实现方法和技巧

Python二叉搜索树与双向链表转换实现方法,涉及Python二叉搜索树的定义、实现以及双向链表的转换技巧,具体如下: # encoding=utf8 ''' 题目:输入一棵二……
thumbnail

python环形单链表数据结构的约瑟夫算法问题

一个环形单链表,从头结点开始向后,指针每移动一个结点,就计数加1,当数到第m个节点时,就把该结点删除,然后继续从下一个节点开始从1计数,循环往复,直到……
thumbnail

Python数据结构与算法单链表、循环链表定义与用法实例

实例讲述了Python数据结构与算法之链表定义与用法。 (1)从链表节点的定义开始,以类的方式,面向对象的思想进行链表的设计 (2)链表类插入和删除等成员函数……
thumbnail

算法学习:二进制的妙用

世界上有10种人,一种是看得懂二进制的,一种是看不懂的。 如果你看懂了这个笑话,这篇文章就是适合你读的了 Single Number leetcode 上有一道这样的题,S……
thumbnail

Bitmap算法图解,写给非计算机图形专业者

两个月之前—— 为满足用户标签的统计需求,小灰利用Mysql设计了如下的表结构,每一个维度的标签都对应着Mysql表的一列: 要想统计所有90后的程序员……
thumbnail

HashMap是什么?看漫画吧

众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是Hash……
thumbnail

平衡二叉树(AVL)图解(修订补充版)

1 为什么要有平衡二叉树 二叉搜索树一定程度上可以提高搜索效率,但是当原序列有序时,例如序列 A = {1,2,3,4,5,6},构造二叉搜索树如图 1.1。依据此序……
thumbnail

高难度算法:希尔排序算法图解与代码演示

希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出……
thumbnail

虚拟DOM和Diff算法入门

什么是虚拟Dom 我们知道我们平时的页面都是有很多Dom组成,那虚拟Dom(virtual dom)到底是什么,简单来讲,就是将真实的dom节点用JavaScript来模拟出来,而Do……