徐小夕 徐小夕
4年前
JavaScript 中的二叉树以及二叉搜索树的实现及应用
接下来让我们一起来探讨js数据结构中的树。这里的树类比现实生活中的树,有树干,树枝,在程序中树是一种数据结构,对于存储需要快速查找的数据非有用,它是一种分层数据的抽象模型。一个树结构包含一系列存在父子关系的节点。每个节点都有一个父节点以及零个或多个子节点。如下所以为一个树结构:)(https://imghelloworld.osscnbe
Wesley13 Wesley13
3年前
B树与B+树的区别?
1.B树简介B树是一种多路平衡搜索树。它由二叉树变换而来的。定义如下:1.1每个节点最多有m1个关键字1.2根节点最少有1个关键字1.3非根节点至少有m/2个关键字1.4每个节点的关键字都是按照从小到大的顺序排列,每个关键字的左子树中的关键字都小于它,而右子树中所有关键字都大于它。1.5所有的叶子节点都处于同
可莉 可莉
3年前
10亿个数中找出最大的10000个数(top K问题)
这个问题还是建立最小堆比较好一些。    先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10000个。建堆时间复杂度是O(mlogm),算法(https://www.oschina.net/action
Wesley13 Wesley13
3年前
Java8并行http请求加快访问速度
背景1.通常我们在获取到一个list列表后需要一个挨着一个的进行遍历处理数据,如果每次处理都需要长时间操作,那整个流程下来时间就是每一次处理时间的总和。2.Java8的stream接口极大地减少了for循环写法的复杂性,stream提供了map/reduce/collect等一系列聚合接口,还支持并发操作:parallelStream。例子
Wesley13 Wesley13
3年前
PHP查询MySQL大量数据的内存占用分析
这篇文章主要是从原理,手册和源码分析在PHP中查询MySQL返回大量结果时,内存占用的问题,同时对使用MySQLCAPI也有涉及.    昨天,有同事在PHP讨论群里提到,他做的一个项目由于MySQL查询返回的结果太多(达10万条),从而导致PHP内存不够用.所以,他问,在执行下面的代码遍历返回的MySQL结果之前,数据是否已经在
Stella981 Stella981
3年前
Linux远程ssh设置expect自动填写密码验证
我们需要远程登录服务器,登陆的同时呢执行find命令获取一个时间段内的文件名,并将他们通过rsync下载到本地。因为要跳过已经下载好的目录,scp命令就不够用了,这里用了rsync。因为这里find命令只是获取文件名方便后续下载而已,所以设置find的参数maxdepth1来设置扫描深度,防止遍历子文件夹。同时为了防止根目录也输出,我们设置f
Wesley13 Wesley13
3年前
Java数据结构和算法(十五)——无权无向图
前面我们介绍了树这种数据结构,树是由n(n0)个有限节点通过连接它们的边组成一个具有层次关系的集合,把它叫做“树”是因为它看起来像一棵倒挂的树,包括二叉树、红黑树、234树、堆等各种不同的树,有对这几种树不了解的可以参考我前面几篇博客。而本篇博客我们将介绍另外一种数据结构——图,图也是计算机程序设计中最常用的数据结构之一,从数学意义上讲
Wesley13 Wesley13
3年前
Java 中 10 大坑爹功能!
今天我们就来聊一下Java中的10大坑爹功能,它们分别是:1.switch必须加上break才结束2.逻辑运算符的“短路”现象3.数组下标从零开始4.ArrayList遍历删除时报错5.字符转成数字的坑6.while循环体的“障眼法”7.Integer类有缓存8.空方法体导致死循环9.神奇的10.Java注
Wesley13 Wesley13
3年前
MySQL索引初探
一、什么是索引?帮助数据库系统实现高效获取数据的数据结构索引可以帮助我们快速地定位到数据而不需要每次搜索的时候都遍历数据库中的每一行。二、常见实现方式有哪些?常见索引模型有三种:哈希表、有序数组、搜索树1.哈希表(1)使用哈希表实现的索引称为哈希索引。!(https://os
Wesley13 Wesley13
3年前
Java排序算法之选择排序
1\.基本思想选择排序(selectsorting)的基本思想是:1)对于一个大小为n的数组,选择排序共执行n1轮排序2)每轮排序寻找到该轮最小的数放到开始位置上:先假定当前这个数是最小数然后和后面的每个数进行比较,如果发现有比当前数更小的数,就重新确定最小数,得到下标当遍历到数组的最