自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sjyttkl的专栏

机器学习基本算法

  • 博客(24)
  • 资源 (20)
  • 收藏
  • 关注

原创 经典查找算法 --- R树

R树:处理空间存储问题 -->是引用别人的文章相信经过上面第一节的介绍,你已经对B树或者B+树有所了解。这种树可以非常好的处理一维空间存储的问题。B树是一棵平衡树,它是把一维直线分为若干段线段,当我们查找满足某个要求的点的时候,只要去查找它所属的线段即可。依我看来,这种思想其实就是先找一个大的空间,再逐步缩小所要查找的空间,最终在一个自己设定的最小不可分空间内找出满足要求的解。一个典型的B树查

2017-04-18 11:18:35 17303 7

原创 经典查找算法 --- B*树

B*-tree是B+-tree的变体,在B+树的基础上(所有的叶子结点中包含了全部关键字的信息,及指向含有这些关键字记录的指针),B*树中非根和非叶子结点再增加指向兄弟的指针;B*树定义了非叶子结点关键字个数至少为(2/3)*M,即块的最低使用率为2/3(代替B+树的1/2)。给出了一个简单实例,如下图所示: B+树的分裂:当一个结点满时,分配一个新的结点,并将原结点中1/

2017-04-18 11:11:33 1513

原创 数据结构图之五(拓扑排序)

【1】拓扑排序在一个表示工程的有向图中,有顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们称为AOV网。AOV网中的弧表示活动之间存在的某种制约关系。所谓拓扑排序,其实就是对一个有向图构造拓扑序列的过程。【2】拓扑排序算法对AOV网进行拓扑排序的基本思路:从AOV网中选择一个入度为0的顶点输出;然后删除此顶点,并

2017-04-17 17:14:38 760

原创 数据结构图之六(关键路径)

【1】关键路径在我的经验意识深处,“关键”二字一般都是指临界点。凡事万物都遵循一个度的问题,那么存在度就会自然有临界点。关键路径也正是研究这个临界点的问题。在学习关键路径前,先了解一个AOV网和AOE网的概念:用顶点表示活动,用弧表示活动间的优先关系的有向图:称为顶点表示活动的网(Activity On Vertex Network),简称为

2017-04-17 17:08:20 4442

原创 数据结构图之四(最短路径--弗洛伊德算法)

【1】为什么需要弗洛伊德算法?带权图中单个源点到所有顶点的最短路径问题可以用《迪杰斯特拉算法》求解。那如果要求图中每一个顶点与其它顶点之间的最短路径呢?类似可以想到的方法为:每次以一个顶点为源点,重复执行地杰斯特拉算法算法n次。这样,理论上我们便可以求得每一个顶点与其它顶点的最短路径,总的执行时间为O(n3)。好吧!为了实现这个中需求,可以采用另外一种求解算

2017-04-17 16:57:05 1237 1

原创 数据结构图之四(最短路径--迪杰斯特拉算法)

【1】最短路径最短路径?别乱想哈,其实就是字面意思,一个带边值的图中从某一个顶点到另外一个顶点的最短路径。官方定义:对于内网图而言,最短路径是指两顶点之间经过的边上权值之和最小的路径。并且我们称路径上的第一个顶点为源点,最后一个顶点为终点。由于非内网图没有边上的权值,所谓的最短路径其实是指两顶点之间经过的边数最少的路径。别废话了!整点实际的哈,你能很快计算出

2017-04-17 16:36:05 1022 1

原创 数据结构图之三(最小生成树--克鲁斯卡尔算法)

【1】克鲁斯卡尔算法普里姆算法是以某顶点为起点,逐步找各顶点上最小权值的边来构建最小生成树。克鲁斯卡尔算法是直接以边为目标去构建。因为权值是在边上,直接去找最小权值的边来构建生成树也是很自然的想法,只不过构建时要考虑是否会形成环路而已。此时我们用到了图的存储结构中的边集数组结构。以下是边集数组结构的定义代码:本算法所用同普里姆算法的实例,我们

2017-04-17 16:16:49 809 1

原创 数据结构图之二(最小生成树--普里姆算法)

【1】什么是最小生成树?对于连通的带权图(连通网)G,其生成树也是带权的。生成树T各边的权值总和称为该树的权。权最小的生成树称为G的最小生成树(Minimum SpannirngTree)。简记为MST。注意:最小是指权值最小一个连通图的生成树是一个极小的连通子图,它包含全部的顶点,但只有足以构成一棵树的n-1条边。求最小生成树有两种算法:普里姆算法

2017-04-17 16:11:59 10921 3

原创 数据结构图之一(基本概念,存储结构,两种遍历)

【1】图的基本概念(1)图是由顶点集合以及顶点间的关系集合组成的一种数据结构。  Graph = (V,E)  V是顶点的又穷非空集合;E是顶点之间关系的有穷集合,也叫边集合。(2)有向图:顶点对是有序的;无向图:顶点对是无序的。(3)无向边:若顶点Vi到Vj之间的边没有方向,则称这条边为无向边,用无序偶对(Vi,Vj)来表示。  如果图中任意两个顶点时间的

2017-04-17 16:07:16 1010

原创 经典查找算法 --- B+树

B+树      B+树是应文件系统所需而产生的一种B-树的变形树。一棵m 阶的B+树和m 阶的B-树的差异在于:⑴有n 棵子树的结点中含有n 个关键码;⑵所有的叶子结点中包含了全部关键码的信息,及指向含有这些关键码记录的指针,且叶子结点本身依关键码的大小自小而大的顺序链接。⑶所有的非终端结点可以看成是索引部分,结点中仅含有其子树根结点中最大(或最小)关键码。

2017-04-16 21:46:17 7144

原创 经典查找算法 --- B-树

B-树是一种多路搜索树(并不是二叉的):       1.定义任意非叶子结点最多只有M个儿子;且M>2;       2.根结点的儿子数为[2, M];       3.除根结点以外的非叶子结点的儿子数为[M/2, M];       4.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字)       5.非叶子结点的关

2017-04-16 20:08:13 2276

原创 经典查找算法 -AVL树

1,介绍---->来自百度平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类似于

2017-04-16 17:39:38 953

原创 经典查找算法 - 二叉排序树

最近快找工作,感觉自己的水平还是太低了,所以看看Java源码感觉红黑树这块,感觉好多都不会,所以希望可以把什么二叉树相关的知识补充一下:比如搜索二叉树,平衡二叉树,红黑树,B-树,B+树等。那,现在我们就从二叉排序树开始吧。二叉排序树:                 性质和定义:定义:二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所

2017-04-15 18:07:21 1023

原创 经典查找算法 - KMP

KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。时间复杂度O(m+n)。/** * Java实

2017-04-12 23:06:48 734

原创 经典查找算法 - 顺序查找法

查找-是最常见的数据操作之一,数据结构核心运算之一,其重要性不言而喻。顺序查找是人们最熟悉的查找策略,对于小规模的数据,顺序查找是个不错的选择。         1.顺序查找:           核心:从数据的第一个元素开始,依次比较,直到找到目标数据或查找失败。            1.从表中的第一个元素开始,依次与关键字比较。            2.若某个元素匹配关键字

2017-04-12 21:52:18 16412

原创 经典查找算法 - 二分查找

二分查找又称为折半查找,仅适用于事先已经排好序的顺序表。其查找的基本思路:首先将给定值K,与表中中间位置元素的关键字比较,若相等,返回该元素的存储位置;若不等,这所需查找的元素只能在中间数据以外的前半部分或后半部分中。然后在缩小的范围中继续进行同样的查找。如此反复直到找到为止。算法如下:因为二分查找需要方便地定位查找区域,所以适合二分查找的存储结构必须具有随机存储的特性。因此,该查找方法仅适合

2017-04-12 21:45:10 921

原创 经典排序算法 - 基数排序Radix sort

原理类似桶排序,这里总是需要10个桶,多次使用首先以个位数的值进行装桶,即个位数为1则放入1号桶,为9则放入9号桶,暂时忽视十位数例如待排序数组[62,14,59,88,16]简单点五个数字分配10个桶,桶编号为0-9,以个位数数字为桶编号依次入桶,变成下边这样|  0  |  0  | 62 |  0  | 14 |  0  | 16 |  0  |  8

2017-04-12 01:05:11 602

原创 经典排序算法 - 归并排序Merge sort

经典排序算法 - 归并排序Merge sort经典排序算法 - 归并排序Merge sort原理,把原始数组分成若干子数组,对每一个子数组进行排序,继续把子数组与子数组合并,合并后仍然有序,直到全部合并完,形成有序的数组举例无序数组[6 2 4 1 5 9]先看一下每个步骤下的状态,完了再看合并细节第一步 [6 2 4 1 5

2017-04-11 17:31:07 479

原创 经典排序算法 - 堆排序Heap sort

经典排序算法 - 堆排序Heap sort堆排序有点小复杂,分成三块第一块,什么是堆,什么是最大堆第二块,怎么将堆调整为最大堆,这部分是重点第三块,堆排序介绍第一块,什么是堆,什么是最大堆什么是堆这里的堆(二叉堆),指得不是堆栈的那个堆,而是一种数据结构。堆可以视为一棵完全的二叉树,完全二叉树的一个“优秀”的性质是,除了最

2017-04-10 22:43:59 480

原创 经典排序算法 - 冒泡排序Bubble sort

经典排序算法 - 冒泡排序Bubble sort原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子例子为从小到大排序,原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 |第一趟排序(外循环

2017-04-10 22:10:48 368

原创 经典排序算法 - 选择排序Selection sort

顾名思意,就是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来,顺序放入新数组,直到全部拿完再简单点,对着一群数组说,你们谁最小出列,站到最后边然后继续对剩余的无序数组说,你们谁最小出列,站到最后边再继续刚才的操作,一直到最后一个,继续站到最后边,现在数组有序了,从小到大举例先说看每步的状态变化,后边介绍细节,现有无序数组[6

2017-04-10 21:56:37 553

原创 经典排序算法 - 希尔排序Shell sort

经典排序算法 - 希尔排序Shell sort希尔排序Shell Sort是基于插入排序的一种改进,同样分成两部分,第一部分,希尔排序介绍第二部分,如何选取关键字,选取关键字是希尔排序的关键第一块希尔排序介绍准备待排数组[6 2 4 1 5 9]首先需要选取关键字,例如关键是3和1(第一步分成三组,第二步分成一组),那么待排数组分成了以下三个虚拟组:

2017-04-09 17:18:05 500

原创 经典排序算法 - 快速排序Quick sort

快速排序Quick sort原理:通过一趟扫描将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。例如:如无序数组[6 2 4 1 5 9]a),先把第一项[6]取出来,用[6]依次与其余项进行比较,如果比[6]小就放[6]

2017-04-09 12:40:34 647 2

原创 经典排序算法 - 插入排序Insertion sort

排序算法---插入排序基本思想插入排序的思想有点像打扑克抓牌的时候,我们插入扑克牌的做法。想象一下,抓牌时,我们都是把抓到的牌按顺序放在手中。因此每抓一张新牌,我们都将其插入到已有的排好序的手牌当中,注意体会刚才的那句话。也就是说,插入排序的思想是,将新来的元素按顺序放入一个已有的有序序列当中。举个例子可能更容易理解一些,假设有这样一系列数字:  8 2 4 9 3

2017-04-09 11:54:58 682

面向社会计算的网络表示学习_论文.zip

清华大学、刘知远教授的博士生的博士涂存超 的 论文和答辩PPT。面向社会计算的网络表示学习,学习如何表示用户信息与item信息,以便更好地匹配。

2020-04-03

代码地址.txt

传智播客旗下,c++课程提高班源代码。全部手打。并且还附有基础版,加强班的代码和文档。欢迎给星。谢谢

2019-10-08

mybatis-3.1.1

mybatis驱动

2017-07-30

win7-64bit-python2.7安装numpy+scipy+sklearn.rar

2017-04-28

机器学习基础教程,代码

机器学习基础教程,代码有matlab写成,适合学习。。赶紧下载吧!

2016-07-29

pygame_x64_veryhuo.com

pygame_x64,很棒哦!

2016-05-25

ampy-1.2.3.win32

ampy-1.2.3.win32,很棒哦~!

2016-05-25

PyGraphics-2.1.win32

PyGraphics-2.1.win32,很棒哦!

2016-05-25

mysql5.5驱动

mysql5.5驱动,是你开发的不二选择!

2013-09-26

jartl.jar

jstl.jar

2013-07-28

standard.jar 保存 下载

standard.jar

2013-07-28

HTML5 参考手册

HTML5 参考手册是最新发布的文档,你值得拥有!!

2013-03-25

HTML5 Canvas 作图函数库 2.0版本.pdf

HTML5的函数工具,是开发者必备学习工具,你值得拥有

2013-03-25

DTD教程实例

DTD教程 chm格式,还有实例典范,是web开发必备工具,xml开发者必备工具

2013-03-10

DHTML参考手册

DHTML参考手册,是网页开发人员必备工具,还是中文版的!!值得拥有!!

2013-03-02

css2.0中文版

网页开发必备文档,css2.0可用的文档,是专业人士必备武器!!!

2013-03-02

程序员历年试题

软考程序员必备 程序员历年试题 从 2004年到现在的历年上下午试题 仅供分享

2012-11-17

java API汉化版!!

java API汉化版!!方便 易查,易用!!

2012-05-03

C语言API手册

使用的C语言API手册,要查看各头文件,在函数使用里程里单击鼠标右键,选择“查看原”,即可找到,很方便!

2012-04-21

空空如也

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

TA关注的人

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