自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

进化的深山猿

不断进化,总能迎来美好生活

  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

原创 提高效率的另一种方案-并发

算法的目的就是为了提高代码的执行效率。当算法无法再继续优化的情况下,该如何进一步提高执行效率?运用多线程 + 分治并行排序要给大小为8G的数据排序,内存能够容纳,那就有两种并行排序方式:1) 对归并排序进行并行化处理,把8G内存的数据划分成16个小的数据集合。然后用16个线程并行排序,然后再将16个有序集合合并。2)快速排序并行化处理,先遍历找到数据的范围区间。然后将该区间划分为16魁...

2019-12-17 11:16:06 146

原创 几个算法使用的实例 -垃圾短信,音乐推荐

朴素贝叶斯算法基于黑名单的过滤器:号码量少于50万,黑号码名单维护成一个散列表。如果有500万个号码呢?方案1:布隆过滤器 5000万bits,方案2:黑名单存储在服务器,所有判断都通过网络请求判断基于规则的过滤器,规则如下:1) 特殊词,反动 淫秽2) 群发号码,非正常号码3) 短信中汉语微信 qq等可以基于概率统计的方法,借助计算机强大的计算能力,找出哪些单词最常出现在...

2019-12-17 11:14:14 228

原创 极度节约内存的算法 --位图

位图:网页爬虫,获取页面中的url,进一步爬取内容。但是需要避免重复爬取,所以需要查询是否已经爬取并保存到查询记录中。如果有10亿个url,怎么处理?hash -耗内存-> 位图 -位太多-> 布隆 --> 多hash散列表10亿Url 一个url 50字节,共500亿字节。50G内存:分片,分到10个机器,每个机器5G,可以接受。分片 + 散列表。如果用...

2019-12-17 11:11:33 332

原创 最短路径算法

到底是贪心还是动态规划?Dijkstra算法抽象问题,选择合适的数据结构抽象问题 权重图,本质求两节点最小权重值从起点开始遍历所有的临接节点,将节点权重维护到最小堆中每次以最小堆对应的顶点为起点再次遍历临接节点:0) 默认到最小节点的距离都是MAX INT,用数组存储,index顶点值1)将节点标记为已遍历,所有临接节点距离与当前数组中距离比较:2)如果大于当前距离不处理,否则入队...

2019-12-17 11:08:58 179

原创 拓扑排序

拓扑排序先穿袜子才能穿鞋子:袜子->鞋子秋裤->裤子 裤子->鞋子 秋衣->外套整体穿衣顺序:秋衣->外套->秋裤->裤子->袜子->鞋子 或秋裤->裤子->袜子->鞋子-->秋衣->外套问题 --> 数据结构 --> 算法拓扑排序算法:如果s需要先于t执行,那就添加一条s指向t的...

2019-12-17 11:07:36 125

原创 动态规划1

动态规划0-1背包问题 --动态规划,放入n个物体按阶段处理,第n次的结果可以基于第n-1的结果来推导.最大重量9,物体重量分别为 3,2,4,5int[n][w]或int[w+1]解决0-1背包升级版:一组不同重量、不同价值、不可分割的物品,我们选择将某些物品装入背包,在满足背包最大重量限制的前提下,背包中可装入物品的总价值最大是多少呢?先计算单价,先放入单价高的商品有几个节点...

2019-12-17 11:01:21 165

原创 回溯思想

把问题求解的过程分为多个阶段。每个阶段,我们都会面对一个岔路口,我们先尝试选一条路走,当发现这条路走不通的时候(不符合期望的解),就尝试另外一种走法继续走。典型的如:8皇后算法,皇后放入当前节点不满足,则尝试别的节点。0-1背包,当前物体放入超重,则不放入当前物体。背包总的承载重量是 Wkg。现在我们有 n 个物品,每个物品的重量不等,并且不可分割。在不超过背包所能装载重量的前提下,如何让...

2019-12-17 10:53:43 117

原创 分治算法

思想:将原问题划分成n个规模较小,并且与原问题相似的子问题。递归解决子问题,然后合并结果要求:1)原问题与分解成的小问题具有相同的模式2)小问题可以独立求解3)具有分解终止条件4)可以将子问题合并成原问题如何编程求出一组数据的逆序对个数?逆序对个数:存在 2,4,3,1,5,6,逆序对个数为4,分别为2-1 4-1 3-1 4-3其实可以参考归并排序,如 1,5,6,2,3,4...

2019-12-17 10:50:22 80

原创 算法贪心

用到贪心算法的场景:针对一组数据,定义了限制值和期望值,从中选出几个数据,在满足限制值的情况下,期望值最大。然后尝试和验证贪心算法。但是一般贪心算法并不总能给出最优解。如图:贪心算法的解决思路是,每次都选择一条跟当前顶点相连的权最小的边,直到找到顶点 T。按照这种思路,我们求出的最短路径是 S->A->E->T,路径长度是 1+4+4=9。最终求的路径并不是最短路径,...

2019-12-17 10:47:31 257

原创 字符串匹配算法

主要算法:BF RK BM KMP Sunday算法BF :Brute Force,暴力匹配算法字符串A中查找字符串B主串:A,长度n模式串:B,长度m检查起始位置分别是0,1,2....n-m且长度为m的n-m+1个子串,看看是否有跟模式串匹配的。时间复杂度:比对n-m+1次,每次比对m个字符串;时间复杂度O(n*m)BF为什么是一个很常用的字符串匹配算法?1)实际场景中,n...

2019-12-17 10:30:38 692

原创

图:如何存储微博、微信等这些社交网络的好友关系?为什么产生?特点?使用场景?树中的元素称为节点,图中的元素称为顶点。顶点之间的关系叫作边。顶点相连接的边的条数叫作定点的度。微信为例:一个用户就是一个顶点,好友关系就是边,一个用户总的好友个数就是度微博:可以单向关注,其实现为有向图边上增加方向的概念就是有向图,此时无向图中的度分为 入度 和 出度。入度:多少条边指向这个...

2019-12-09 21:08:10 155

原创 二叉树与堆

二叉树有哪几种存储方式?哪种适合于用数组来存储?node数组存储?两种特殊二叉树满二叉树:除了叶子节点之外,每个节点都有左右两个子节点完全二叉树:叶子节点都在最底下两层,最后一层的叶子节点都靠左排列,并且除了最后一层,其他层的节点个数都要达到最大节点的高度:节点到叶子节点的最长路径节点的深度:根节点到这个节点的边的个数,从0开始节点的层数:节点的深度加1,从1开始树的高度:根...

2019-12-09 21:04:05 374

原创 散列表与hash函数

散列表:hash冲突解决1)开放定址法 :存入:冲突的 进行二次处理,加线性,平方等;以线性为例,会逐个向下找,直到找到一个空的位置然后放进去查找:与存入相似,先hash定位起始的查找位置,然后向下找等于的对象,如果遇到空的说明不存在删除:因为上面查找遇空则说明不存在,所以不可以直接删除,仅仅可以标记删除2)链表:3)再hash:产生冲突时,计算另一个哈希函数地址,到不冲突为止。使用...

2019-12-09 21:01:09 335

原创 跳表

跳表:为什么需要跳表,实现快速查找链表中的节点什么是跳表,画出跳表的结构1 81 4 8 121 2 3 4 5 6 7 8 9 10 11 12...假设要查找12,原本路径:1-2-3..-12 11步现在路径:1-8-8-12-12 4步跳表的本质:本质上是对链表加了索引,多级索引,空间换时间的思想跳表中的增删改...

2019-12-09 20:59:24 108

原创 二分查找

二分查找:使用场景:有序数据 存放于数组中数据量过大也不适宜使用,因为数组占用的是连续大小的空间作业:有序数组中(不)存在重复元素递归和非递归实现思考题:如何在 1000 万个整数中快速查找某个整数?是否有序? 有序二分查找无序:查找几次?多次,先排序,后遍历查找??一次,直接遍历查找第一个大于等于给定值的元素ip范围查找,二分查找,找大于等于该数的值,然后查看对...

2019-12-09 20:58:31 109 1

bootstrap-tagsinput-master.zip

tagsinput相关的组件,包括必须的js和css文件;解压后在dist文件夹下,放到自己的项目中就可以使用了

2019-08-14

select2-4.0.8.zip

select2相关的组件,包括必须的js和css文件;解压后在dist文件夹下,放到自己的项目中就可以使用了

2019-08-14

复选下拉框

下拉复选框需要的相关组件,详细可以在https://developer.snapappointments.com/bootstrap-select/里面下载

2018-10-29

空空如也

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

TA关注的人

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