<p></p><p><span style="font-size:18px">上几篇博客都是分析的分类器算法(有监督学习),这次就分析一个聚类算法(无监督学习).</span></p><p><span style="font-size:18px"></span></p><p><span style="font-size:…
前言 因为在前文的<STL算法剖析>中,源代码剖析许多.不方便学习,也不方便以后复习,这里把这些算法进行归类.对他们单独的源代码剖析进行解说.本文介绍的STL算法中的remove删除算法.源代码中介绍了函数remove.remove_copy.remove_if.remove_copy_if.unique.unique_copy. 并对这些函数的源代码进行具体的剖析.并适当给出使用样例,具体详见以下源代码剖析. remove移除算法源代码剖析 // remove, remove_if, rem…
前言 因为在前文的<STL算法剖析>中.源代码剖析许多.不方便学习.也不方便以后复习,这里把这些算法进行归类.对他们单独的源代码剖析进行解说.本文介绍的STL算法中的merge合并算法. 源代码中介绍了函数merge.inplace_merge.并对这些函数的源代码进行具体的剖析,并适当给出使用样例,具体详见以下源代码剖析. merge合并算法源代码剖析 // merge, with and without an explicitly supplied comparison function.…
前言 因为在前文的<STL算法剖析>中,源代码剖析许多,不方便学习,也不方便以后复习.这里把这些算法进行归类,对他们单独的源代码剖析进行解说.本文介绍的STL算法中的sort排序算法,SGI STL中的排序算法不是简单的高速排序,而是交叉利用各种排序:堆排序.插入排序和高速排序:这样做的目的是提高效率.针对数据量比較大的採用高速排序,数据量比較小的能够採用堆排序或插入排序. 本文介绍了有关排序的算法random_shuffle.partition.stable_partition.sort.s…
首先回顾前面的文章,我们把for_each 归类为非变动性算法,实际上它也可以算是变动性算法,取决于传入的第三个参数,即函数 指针.如果在函数内对容器元素做了修改,那么就属于变动性算法. 变动性算法源代码分析与使用示例: 一.copy.copy_backward  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39…
1 Command类中的rebalnace方法 在上篇文章中解说了,创建Ring已经为Ring加入设备.在加入设备后须要对Ring进行平衡,平衡 swift-ring-builder object.builder rebalance 首先会调用swift/cli/ringbuilder.py中方法,在main方法中首先会判读/etc/swift目录下是否有object.builder文件假设有就反序列化来初始化RingBuilder类.然后依据命令中的 第三个參数rebalance调用Comma…
网上介绍K-近邻算法的样例非常多.其Python实现版本号基本都是来自于机器学习的入门书籍<机器学习实战>,尽管K-近邻算法本身非常easy,但非常多刚開始学习的人对其Python版本号的源码理解不够,所以本文将对其源码进行分析. 什么是K-近邻算法? 简单的说,K-近邻算法採用不同特征值之间的距离方法进行分类.所以它是一个分类算法. 长处:无数据输入假定,对异常值不敏感 缺点:复杂度高 好了,直接先上代码,等会在分析:(这份代码来自<机器学习实战>) def classify0(…
1 初始加入设备后.上传Object的详细流程  前几篇博客中,我们讲到环的基本原理即详细的实现过程,加入我们在初始创建Ring是执行例如以下几条命令: •swift-ring-builder object.builder create 5 3 1   •swift-ring-builder object.builder add z1-127.0.0.1:6010/sdb1 100     •swift-ring-builder object.builder add z2-127.0.0.1:6…
一,redis内存管理介绍 redis是一个基于内存的key-value的数据库,其内存管理是很重要的,为了屏蔽不同平台之间的差异,以及统计内存占用量等,redis对内存分配函数进行了一层封装,程序中统一使用zmalloc,zfree一系列函数,其相应的源代码在src/zmalloc.h和src/zmalloc.c两个文件里,源代码点这里. 二,redis内存管理源代码分析 redis封装是为了屏蔽底层平台的差异,同一时候方便自己实现相关的函数,我们能够通过src/zmalloc.h 文件里的相…
前段时间由于一些事情耽搁了,最近将raid1方面的各流程整理了一遍.网上和书上,能找到关于MD下的raid1的文档资料比较少.决定开始写一个系列的关于raid1的博客,之前写过的一篇读流程也会在之后加一些修改,我阅读的代码的linux内核版本是2.6.32.61.进入实验室的时间不长,关于磁盘管理等内核方面的理解不足或者有误之处,希望批评指正. 一.Raid1简介 Raid1又称为镜像磁盘阵列.由两块或者多块盘构成这样一个阵列,并且每块盘所存储的内容都是完全一致的.意思就是盘与盘之间互为镜像,而…