自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 [算法系列之十一]荷兰国旗问题

【问题】现有红白蓝三个不同颜色的小球,乱序排列在一起,请重新排列这些小球,使得红白蓝三色的同颜色的球在一起。这个问题之所以叫荷兰国旗问题,是因为我们可以将红白蓝三色小球想象成条状物,有序排列后正好组成荷兰国旗。【分析】这个问题我们可以将这个问题视为一个数组排序问题。红白蓝分别对应数字0、1、2。红、白、蓝三色小球数量并不一定相同。【思路一】First, iterate the ...

2019-10-28 11:28:03 784

转载 [算法系列之十]大数据量处理利器:布隆过滤器

【引言】在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断 它是否在已知的字典中);在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被访问过等等。最直接的方法就是将集合中全部的元素存在计算机中,遇到一个新 元素时,将它和集合中的元素直接比较即可。一般来讲,计算机中的集合是用...

2019-10-25 11:31:06 264

转载 [算法系列之九]Karatsuba快速相乘算法

【概述】Karatsuba乘法是一种快速乘法。此算法在1960年由Anatolii Alexeevitch Karatsuba 提出,并于1962年得以发表。此算法主要用于两个大数相乘。普通乘法的复杂度是n2,而Karatsuba算法的复杂度仅为3nlog3≈3n1.585(log3是以2为底的)【步骤】Karatsuba算法主要应用于两个大数的相乘,原理是将大数分成两段后变成较小...

2019-10-24 17:07:03 322

转载 [算法系列之八]大数问题(高精度运算)

【大数相加】【代码一】/********************************** 日期:2015-01-28* 作者:SJF0115* 题目: 大数加法(高精度加法)* 博客:**********************************/#include <iostream>using namespace std;stri...

2019-10-23 13:38:37 214

转载 [算法系列之七]Manacher算法之最大回文子串

回文串定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文子串,顾名思义,即字符串中满足回文性质的子串。经常有一些题目围绕回文子串进行讨论,比如 HDOJ_3068_最长回文,求最长回文子串的长度。朴素算法是依次以每一个字符为中心向两侧进行扩展,显然这个复杂度是 O(N^2)的,关于字符串的题目常用的算法有 KMP、后缀数组、 AC 自...

2019-10-22 14:36:54 216

转载 [算法系列之六]二叉查找树

【简介】二叉查找树是一种数据结构,它支持多种动态集合操作。在二叉查找树上执行的基本操作的时间与树的高度成正比。对于一棵含有n个节点的完全二叉树,这些操作的最坏情况运行时间为O(n)。【结构体】一棵二叉查找树按二叉树结构来组织的。// 二叉查找树节点struct TreeNode { int val; TreeNode *left; Tree...

2019-10-21 11:28:10 154

转载 [算法系列之五]快速排序

【分析】【伪代码】【思路图】【运行过程】【代码】/********************************** 日期:2014-04-01* 作者:SJF0115* 题目:快速排序**********************************/#include <iostream&...

2019-10-18 10:11:26 105

转载 [算法系列之四]优先级队列

【概念】优先级队列,顾名思义,就是一种根据一定优先级存储和取出数据的队列。它可以说是队列和排序的完美结合体,不仅可以存储数据,还可以将这些数据按照我们设定的规则进行排序。优先级队列是堆的一种常见应用。有最大优先级队列(最大堆)和最小优先级队列(最小堆)。优先级队列是一种维护有一组元素构成的集合S的数据结构。【优先队列支持的基本运算】//建立一个保存元素为int的优先级队列,其实是...

2019-10-17 08:31:07 400

转载 [算法系列之三]二叉树前序中序序列(或后序)求解树

【思路】这种题一般有二种形式,共同点是都已知中序序列。如果没有中序序列,是无法唯一确定一棵树的。<1>已知二叉树的前序序列和中序序列,求解树。1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的元素。2、求解树的子树。找出根节点在中序遍历中的位置,根左边的所有元素就是左子树,根右边的所有元素就是右子树。若根节点左边或右边为空,则该方向子树为空;若根节点边和...

2019-10-16 10:07:00 640

转载 [算法系列之二]二叉树各种遍历

【简介】树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个...

2019-10-15 08:49:41 151

转载 [算法系列之一]堆排序

前序:(二叉)堆数据结构是一种数组对象,它可以被视为一棵完全二叉树。树中每个节点与数组中存放该节点值的那个元素对应。树的每一层都是填满的,最后一层除外。树的根为a[1] (在这里是从1开始的,也可以从0开始),给定了某个节点的下标i,其父节点为i/2,左二子为2*i,右儿子为2*i+1。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2...

2019-10-14 14:58:20 184

转载 面试官:你画一下dubbo的架构图

1.什么是dubbo? 随着大型网站分布式架构越来越主流,很多公司采用了dubbo作为远程通信服务调用框架,同时也有部分公司采用SpringCloud,而dubbo底层采用的是TCP进行通信,SpringCloud底层则采用的是HTTP协议进行通信,说白了,dubbo其实就是因为分布式的存在而存在,也就是告别了之前web service的调用模式,引进了消费者跟开发者。2.d...

2019-10-10 11:11:42 829

转载 解释:什么是CPC,CPA,CVR,CTR,ROI? 营销、广告、淘宝 术语

做网络营销的人,我们要知道以下常见名词解释:CPC (Cost Per Click): 按点击计费CPA (Cost Per Action): 按成果数计费CPM (Cost Per Mille): 按千次展现计费CVR (Click Value Rate): 转化率,衡量CPA广告效果的指标CTR (Click Throu...

2019-10-07 14:19:57 10873

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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