E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
算法学习笔记
数据结构和
算法学习笔记
3
一、时间复杂度 T(n)=O(f(n)) 随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称之为算法的渐进时间复杂度,即时间复杂度,其中f(n)是问题n的函数 随着问题规模n的增大,T(n)增长最慢的算法为最优算法时间复杂度T(n)的求法公式 1、用常数1取代运行中的所有加法常数 2、修改后,只保留最高阶项 3、如果最高阶项存在且不是1,则去除与这个项相乘的常数常见的时间复杂度:
翼动动空
·
2016-05-09 09:00
数据结构与
算法学习笔记
5
线性表的存储结构:顺序存储结构和链式存储结构顺序存储结构:指的是用一段地址连续的存储单元依次存储线性表的数据元素顺序结构封装需要三个属性:——存储空间的起始位置,数据data,它的存储位置就是线性表存储空间的存储位置、——线性表的最大存储容量:数组的长度MaxSize——线性表的当前长度:length(数组的长度与线性表的当前长度需要区分:数组长度是存放线性表的存储空间的总长度,一般初始化后不变,
翼动动空
·
2016-05-08 21:00
数据结构与
算法学习笔记
4
(1)抽象数据类型数据类型:指一组性质相同的值的集合及定义在此集合上的一些操作的总称,例如编程语言的数据类型;数据类型分类:原子数据类型,不可以在分解,如整型,浮点型..结构类型:由若干个类型组和而成,可再分解抽象:是指抽取出事物具体的普遍性的本质,它要求抽出问题的特征而忽略非本质的细节,是对具体事物的一个概括。对已知的数据类型进行抽象——抽象数据类型总结:抽象数据类型(AbstractDataT
翼动动空
·
2016-05-08 15:00
数据结构与
算法学习笔记
2
算法:解决问题的方法和技巧算法的五个基本特征 (1)输入:零个或者多个输入 (2)输出:一个或多个输出(算法至少一个输出,可以是打印或者返回) (3)用穷性:执行有限次数后会自动结束,不会无限循环,每个步骤在指定时间内完成 (4)确定性:每个步骤具有确定的含义,无二义性。相同输入只有唯一的输出,每个步骤确定无歧义 (5)可行性:每一步都必须是可行的,每一步都能通过执行有限次数完成算法的设计要求:
翼动动空
·
2016-05-08 14:00
数据结构与
算法学习笔记
1
数据结构概述:程序设计=数据结构+算法 数据结构:数据元素之间存在所有特定关系的集合,数据结构可以分为物理结构和逻辑结构逻辑结构: (1)集合结构——元素同属于一个集合 (2)线性结构——一对一的关系 (3)树形结构——一对多的关系 (4)图形结构——多对多的关系物理结构:数据元素存储到存储器上 1、数据元素 (1)顺序存储结构——地址连续存储,逻辑地址和物理地址相同(如数组结构) (2)链式存储
翼动动空
·
2016-05-08 14:00
EM
算法学习笔记
声明:1)该博文是多位博主以及书籍作者所无私奉献的论文资料整理的。具体引用的资料请看参考文献。具体的版本声明也参考原文献2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的。如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人士满意为止。3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。4)阅
GarfieldEr007
·
2016-05-08 13:00
算法
学习笔记
教程
em
算法学习笔记
之折半查找
二分查找又称折半查找优点:比较次数少,查找速度快,平均性能好缺点:要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。折半查找流程:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表
qq_22063697
·
2016-05-01 15:00
二分查找
算法
算法学习笔记
之约瑟夫环问题
问题:假设下标从0开始,0,1,2..m-1共m个人,从1开始报数,报到k则此人从环出退出,问最后剩下的一个人的编号是多少?我的理解:设f(m,k,i)为m个人的环,报数为k,第i个人出环的编号,m个人的环第i个出来的人就相当于m-1个人的环第i-1个出来的人,不过这个序号是相当于原来m个人的序号。但注意的是m个人的环第一个出来的人序号要减一。通俗的讲就是:假设10个人的环,报数为3的人出来,那么
qq_22063697
·
2016-05-01 15:00
算法
算法学习笔记
之猴子吃桃
问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。我的理解:(假设An表示第n天剩下的桃子数)我们知道前一天的桃子比后一天的桃子的关系:An-1=(An+1)*2;所以。。。程序://n:总的天数 publicstaticint
qq_22063697
·
2016-04-30 18:00
算法
算法学习笔记
之鸡兔同笼
问题:鸡兔同笼,共有头k个,脚m只,求鸡和兔各有多少只?我的解法:假设兔子只有两个腿,那么k个头就一共有2k只脚,m-2k就是剩下的脚,而这些脚应该是兔子多出来的脚,每个兔子多两只脚,所以兔子就有(m-2k)/2只,鸡就不言而喻了。程序://head:总的头数 //foot:总的脚数 publicstaticvoidJTTL(inthead,intfoot){ intrabbit=(foot-2*
qq_22063697
·
2016-04-30 18:00
算法
算法学习笔记
(一)-算法基础
算法分析: 为对一个算法的代价及效率等进行分析,必须具有一个要使用的实现技术的模型,包括描述所用资源及其代价的模型。简单的说,就是必须要有相应统一的准则或模型来进行分析,才能有效比较出算法好坏。 目前通常假定一种通用的单处理器计算模型-随机访问机(RAM)作为评价环境。 RAM以真实计算机为参照,真实计算机中的常见指令:算术指令(如加减乘除,取余,向下取整等),数据移动指令(装入
mimikooper
·
2016-04-25 00:00
算法
算法学习笔记
之插入排序算法
接下我们介绍下一种排序算法:插入排序插入排序算法通过比较和插入来实现排序,其排序流程如下:1)首先对数组前两个数据进行从小到大排序2)接下来将第3个数据与排好序的两个数据进行比较,将第3个数据插入合适的位置3)然后,将第4个数据插入到排好序的3个数据中4)直到最后一个数据插入到排好序的前n-1个数据中即排好序了如图:这里就不解释了,大家应该都看得懂。(第一次前2个数据排,第二次第3个数据插到前两个
qq_22063697
·
2016-04-24 08:00
算法
排序算法
算法学习笔记
之选择排序算法
接下来我们学习第二种排序算法:选择排序选择排序算法通过选择和交换来排序,其排序流程如下:1)首先从原始数组中选择最小的一个数据,将其和第一个位置的数据交换2)接着从剩下的n-1个数据选择出最小的数据,将其和第二个位置的数据交换3)这样不断重复,直到最后两个数据完成交换,即排好了示意图如下,有点丑别怪:红色的表示每次排序要交换数据的位置。代码:publicstaticvoidselectSort(i
qq_22063697
·
2016-04-24 07:00
算法
排序算法
算法学习笔记
之冒泡排序算法
我们这里先介绍几种适用的比较少的数据时候,算法复杂度都是O(n2),介绍三种算法:①冒泡排序算法②选择排序算法③插入排序算法这篇介绍第一种:冒泡排序算法冒泡排序算法通过多次比较和交换来实现排序,其排序流程如下:1)对数组中的各数据,依次比较相邻两个元素的大小2)如果前面的数据大于后面的数据,则交换这两个数据,经过一轮排序后,便把最大的数据排好了3)再用相同的方法把剩下的数据逐个进行比较,最后便可按
qq_22063697
·
2016-04-23 12:00
算法
冒泡排序
算法学习笔记
之五家共井问题
问题:五家人共用一口井,甲家的绳子用两条不够,还要再用乙家的绳子一条才能打到井水;乙家的绳子用三条不够,还要再用丙家的绳子一条才能打到井水;丙家的绳子用四条不够,还要再用丁家的绳子一条才能打到井水;丁家的绳子用五条不够,还要再用戊家的绳子一条才能打到井水;戊家的绳子用六条不够,还要再用甲家的绳子一条才能打到井水。最后问:井有多深?每家的绳子各有多长?这道题其实不难,大家应该都可以做出来,和上次的百
qq_22063697
·
2016-04-23 11:00
java
算法
算法学习笔记
之百钱买百鸡问题
百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱?我们可以设公鸡为x,母鸡为y,小鸡为z,可以得出下列方程:x+y+z=100;5x+3y+z/3=100;再看看x,y,z的取值,只有100文钱,5xxy=25-(7/4)x③又因为0y
qq_22063697
·
2016-04-23 10:00
java
算法
智能剪刀
算法学习笔记
写在前面的话:如果以后我看到什么不懂的话,我一定会说:”天哪,这简直比计算机视觉还难!“一边看论文,一边整理思路,决定整个思考过程都像流水账一样记下来。高能:由于先整理思路,然后再动手写代码,所以,前面的内容可能有错,仅作为个人课程设计之用,请保持个人独立思考和分辨是非的习惯————>+_+。智能剪刀概述“智能剪刀”(IntelligentScissors)是Morten-son和Barrett在
u014613043
·
2016-04-15 20:00
决策树
算法学习笔记
决策树算法决策树的基本思想与人自身的决策机制很相似,都是基于树结构进行决策,即对于任何问题,我们都先抽出其中的几个主要特征,然后对这些特征一个一个的去考察,从而决定这个问题应该属于的类别。例如我们要去商场买电脑,我们一般要通过考察电脑的CPU,内存,硬盘,显存等这些特征来判断这台电脑是好电脑还是一般电脑,当我们做判断的时候,我们都是首先看这个电脑的CPU怎么样,是i3?i5?还是i7?如果是i7我
batuwuhanpei
·
2016-04-12 15:00
算法
机器学习
【
算法学习笔记
】之动态规划
引言动态规划(dynamicprogramming)是运筹学的一个分支,是求解决策过程(decisionprocess)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistepdecisionprocess)的优化问题时,提出了著名的最优化原理(principleofoptimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之间的
紫雾凌寒
·
2016-03-21 21:48
数据结构与算法
算法学习
SLIC Superpixels
算法学习笔记
算法流程梳理如下:原文下载:http://www.kev-smith.com/papers/SLIC_Superpixels.pdf1、初始化:(1)通过对图像像素进行抽样,初始化k个聚类中心C_k,步长为初始化聚类大小S,即将图像分为k个网格,取每个网格中心为初始聚类中心;(2)初始化每个像素点的标签lable为-1,每个像素点与聚类中心的距离distance为无穷大。2、对初始化的聚类中心进行
阿里百川
·
2016-03-21 00:00
算法
数据结构与
算法学习笔记
(五)
静态链表:用数组描述的链表叫做静态链表,这种描述方法叫做游标实现法线性表的静态链表存储结构#defineMAXSIZE1000 typedefstruct{ ElemTypedata;//数据 intcur;//游标(Cursor) }Component,StaticLinkList[MAXSIZE];对静态链表进行初始化相当于初始化数组StatusIntList(StaticLinkLi
TigerCui
·
2016-03-16 14:00
数据结构与
算法学习笔记
(四)
单链表的整表创建声明一结点p和计数器变量i初始化一空链表L让L的头结点的指针指向NULL,即建立一个带头结点的单链表循环实现后继结点的赋值和插入头插法:从一个空表开始,生成新节点,读取数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头上,直到结束位置。简单来说就是把新加进的元素放在表头后的第一个位置先让新结点的next指向头结点之后然后让表头的next指向新结点voidCreateLis
TigerCui
·
2016-03-08 11:00
推荐
算法学习笔记
一
协同过滤推荐是目前使用最广泛,最成熟的推荐技术么一。它使用用户评分矩阵作为信息源来寻找用户与用户或者物品与物品之间的相似相关性,是一种比较个性化的推荐技术。协同过滤推荐可以分成两类:基于内存的协同过滤推荐和基于模型的协同过滤推荐。其中,基于内存的协同过滤推荐又可以分为基于用户的协同过滤推荐(UserCF)和基于物品的协同过滤推荐(ItemCF)。基于用户和基于物品的协同过滤推荐算法首先根据评分矩阵
sinat_22055459
·
2016-03-04 12:00
数据结构与
算法学习笔记
(三)
线性表(List):由0个或多个元素组成的有限序列。首先它是一个序列,也就是说元素之间是有个先来后到的顺序若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有且只有一个前驱和后继线性表是有限的,事实上无论计算机发展到多强大,它所处理的元素都是有限的线性表用数学语言来定义:若将线性表记为(a1,a2,……,ai-1,ai,ai+1,……,an-1,an),则表中ai-1领先于ai,
TigerCui
·
2016-03-02 17:00
数据结构与
算法学习笔记
(二)
算法效率的度量方法:事后统计法:通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低。缺陷:必须依据算法事先编制好测试程序,通常需要花费大量时间和精力。不同测试环境差别也很大。事前分析估算法:在计算机程序编写签,依据统计方法对算法进行估算。高级语言编写的程序在计算机上运行时所耗的时间取决于下列因素:算法采用的策略,方案编译产生的代码质量问题的输
TigerCui
·
2016-02-26 10:00
数据结构与
算法学习笔记
(一)
我们把数据结构分为逻辑结构和物理结构逻辑结构:是指数据对象中数据元素之间的相互关系。物理结构:是指数据的逻辑结构在计算机中的存储形式。四大逻辑结构:集合结构:集合结构中的数据元素除了同属于一个集合外没有其他的相互关系。线性结构:线性结构中的数据元素之间是一对一的关系。树形结构:树形结构中的元素之间存在一种一对多的层次关系。图形结构:图形结构的元素之间是多对多的关系。物理结构:物理结构主要研究如何把
TigerCui
·
2016-02-25 14:00
寻路
算法学习笔记
:Toward More Realistic Pathfinding
http://blog.csdn.net/pi9nc/article/details/11401625 原文地址:TowardMoreRealisticPathfindingbyMarcoPinter AFasterImplementationoftheStandardA*作者实现的快速A*算法是使用一个虚拟的matrix嵌套在地图方格上,matrix为固定大小60*60,matrix和地图方格
gcc2ge
·
2016-02-14 12:48
算法学习笔记
(八) 动态规划的一般求解方法
1一个问题:换零钱方式的统计SICP第一章1.2.2树形递归中,有这么一问题:给了半美元,四分之中的一个美元。10美分,5美分和1美分的硬币。将1美元换成零钱,一共同拥有多少种不同方式?更一般的问题是,给定了随意数量的现金,我们能写一个程序,计算出全部换零钱方式的种数吗?2动态规划的基本模型动态规划(Dynamicprogramming,DP),是研究一类最优化问题的方法,通过把原问题分解为相对简
phlsheji
·
2016-02-01 20:00
一致性哈希
算法学习笔记
最近在学习有关分布式的一致性哈希算法,尤其是哈希环和哈希空间的概念比较难懂,故在这里把一些学习心得写下来。 一致性哈希算法主要涉及到两个空间的映射关系。存储节点和存储对象。将存储对象(data)和存储节点(node)都映射到同一个hash空间下,当对象都映射到同一个空间后,再建立从data到node的映射关系。主要是在每个节点处建立一个fingertable,类似与路由表。每个节点的查
lynnucas
·
2016-01-28 15:00
c++11容器
算法学习笔记
c++里面的list,vector的删除方法非常简便 std::vector c { 1,2,3,4,5,6,7 }; int x = 5; c.erase(std::remove_if(c.begin(), c.end(), [x](int n) { return n second._id == remove_id) it = map.erase(it); els
pingglala
·
2016-01-04 20:30
return
elements
except
c++11容器
算法学习笔记
c++里面的list,vector的删除方法非常简便 std::vector c { 1,2,3,4,5,6,7 }; int x = 5; c.erase(std::remove_if(c.begin(), c.end(), [x](int n) { return n second._id == remove_id) it = map.erase(it); els
pingglala
·
2016-01-04 20:30
return
elements
except
算法学习笔记
:Bellman-Ford算法 单源最短路
Bellman-Ford算法解决单源最短路最短路是图问题中常见的一种问题,最短路也分很多种类。之前在写题的时候接触到Dijkstra算法。但是后来接触到更多单源最短路问题后发现,Dijkstra算法虽然有优于Bellman-Ford算法的时间复杂度,但是舍弃对负权回路的检测。而Bellman-Ford算法可以检测到负权回路,这个时候程序就会返回值提示含有负权回路,此时不存在最短路。在开始谈Bell
Hermit_Inwind
·
2015-12-30 09:42
算法学习
C
算法学习笔记
(2)-二叉查找树
本文原始地址:C
算法学习笔记
(2)-二叉查找树 查找操作 若根结点的关键字值等于查找的关键字,成功。 否则,若小于根结点的关键字值,递归查左子树。 若大于根结点的关键字值,递归查右子树。
·
2015-11-13 19:37
二叉查找树
C / C++
算法学习笔记
(8)-SHELL排序
原始地址: C / C++
算法学习笔记
(8)-SHELL排序 基本思想 先取一个小于n的整数d1作为第一个增量(gap),把文件的全部记录分成d1个组。
·
2015-11-13 12:17
shell
八大排序
算法学习笔记
:冒泡排序
冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。 它反复地走訪过要排序的数列,一次比較两个元素,假设他们的顺序错误就把他们交换过来。走訪数列的工作是反复地进行直到没有再须要交换,也就是说该数列已经排序完毕。这个算法的名字由来是由于越小的元素会经由交换慢慢“浮”到数列的顶端。 算法
·
2015-11-13 12:06
冒泡排序
C / C++
算法学习笔记
(7)-双向冒泡
原始地址:双向冒泡 通常的冒泡是单向的,而这里是双向的,也就是说还要进行反向的工作。 代码看起来复杂,仔细理一下就明白了,是一个来回震荡的方式。 写这段代码的作者认为这样可以在冒泡的基础上减少一些交换(我不这么认为,也许我错了)。 反正我认为这是一段有趣的代码,值得一看。 #include <iostream.h> void Bubble2Sort(i
·
2015-11-13 11:35
学习笔记
快速排序
算法学习笔记
快速排序是一种比较实用的排序算法,平均时间复杂度为O(nlogn),最坏情况为O(n*n),最好情况也是O(nlogn)。该算法基于分治处理思想,在数列中选取一个主元,根据这个主元把整个数列分为两部分:一部分比这个主元小,一部分比这个主元大。然后对这两部分分别再选取主元划分,以此递归下去。 针对一个A[p....r]的数组,其执行步骤可以描述为: 1、分组:A[p..r]被划分为两个可能为空的
·
2015-11-13 08:11
快速排序
归并排序
算法学习笔记
归并排序也是一种分治思想的典型应用,把两个或两个以上的有序表合并成一个有序表,即把待排序序列分成若干子序列,每个子序列是有序的,之后再把有序子序列合并成整体有序序列。 归并排序的平均时间复杂度为O(nlogn),最坏情况为O(nlogn),最优情况为O(n),空间复杂度为O(n),因为排序过程中要用到暂存区,所以该算法比较耗内存,但是效率比较高且是稳定排序。 归并排序的递归版本如下: v
·
2015-11-13 08:10
学习笔记
分布式一致性Paxos
算法学习笔记
(四):算法回顾
这段时间一直在赶论文,唉,真是昏天黑地……… 在写论文的时候居然把Paxos算法里的提案和决议搞混了!赶紧看blog里是不是也弄错了,还好之前的几篇都没错,这才松了口气。所以决定第四篇笔记对Paxos算法做个回顾。 1. 几个重要的概念 实例(instance):每一个Pax
·
2015-11-13 05:01
学习笔记
分布式一致性Paxos
算法学习笔记
(三):算法的工程化描述
前两篇学习笔记给出paxos算法较为详细的文字描述。如果对算法的两个阶段四个过程的定义还不太了解可以点击这里,这段文字出自夏超伦的论文,描述在算法的两个阶段里proposer、acceptor、learner三个角色需要完成什么工作。可惜小夏同学并没有描述得很详细,我在编码实现的时候发现有很多重要的细节没有提到,proposer pick a value这么重要的过程都没有写.........感觉
·
2015-11-13 05:59
学习笔记
分布式一致性Paxos
算法学习笔记
(二):算法详解
阅读本文前最好能先阅读参考文献[2]。最近在写毕业论文,导致这边学习笔记也写得很生硬........ 大家轻拍。文章为本人对paxos算法(basic paxos)的理解,水平有限难免有理解不到位的地方,欢迎批评。 一、简介 1.1Paxos算法处理的问题 P
·
2015-11-13 05:59
学习笔记
分布式一致性Paxos
算法学习笔记
(一):paxos大杂烩
取名 Paxos(Greek: Παξοί, pronounced Paksi in English )又名Paxi是希腊西南部一个风景如画的小岛。而Paxos算法则是现在很火的分布式一致性算法,为何以一个希腊小岛名字算法?Lamport这样解释道: I thought, and still think,
·
2015-11-13 05:58
学习笔记
算法学习笔记
(LeetCode OJ)
================================== LeetCode的一些算法题,都是自己做的,欢迎提出改进~~ LeetCode:http://oj.leetcode.com ================================== <Reverse Words in a String>-20140328 Given an input str
·
2015-11-13 02:44
LeetCode
K-Means
算法学习笔记
最近在学K-Means算法,感觉挺有意思。要说K-Means,得先说说什么是聚类。聚类聚类是无监督(标签)学习,不依赖于预定义的类别和标签的训练实例。在进行聚类前甚至可能不知道要样本要分几类,类别是什么。所以说,与预先样本定义好类别(如:学生-1,老师+1)的分类来说,是一种无监督学习。K-MeansK-Means是一种聚类算法,据说是最简单的聚类算法(没有之一)。算法的目标:给定一个元素集合D,
zxc024000
·
2015-11-12 21:00
算法
算法学习笔记
(四):合并排序
算法思想:基本的思想为分治算法,也就是将一个问题分成多个更小的部分递归解决。具体到合并排序,就是将待排序序列分为小的序列,递归进行排序,然后合并。 步骤: 1、分解:将n个元素分成各含n/2个元素的子序列 2、解决:用合并排序对两个子序列递归排序 3、合并:合并两个已排序的子序列以得到排序结果 在对子序列排序时,其长度为1时递归结束。 算法复杂度:O(nlgn)
·
2015-11-12 20:07
学习笔记
算法学习笔记
(三):冒泡排序
基本原理:比较相邻的元素。每一轮选出一个最大的元素,重复这个过程 算法复杂度:O(n2) 算法实现: void Bubblesort(int array[],int n) { int temp; for (int j = 0; j != n-1;++j) { for (int i = 0; i < n - j-1;++i)
·
2015-11-12 20:06
冒泡排序
算法学习笔记
(二):插入排序
算法思想:A[i]插入到已排序好的A[0,1,2,...i-1]的过程为将A[i]与已排序好的元素比较,找到其应插入的位置,将其后的元素后移一位。 循环这一过程即可完成排序 ⒈ 从第一个元素开始,该元素可以认为已经被排序 ⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描 ⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置 ⒋ 重复步骤3,直到找到已排序的元素小于或者等于
·
2015-11-12 20:06
学习笔记
EM
算法学习笔记
_2(opencv自带EM sample学习)
实验说明: 在上一讲EM
算法学习笔记
_1(对EM算法的简单理解) 中已经用通俗的语言简单的介绍了下EM算法,在这一节中就采用opencv自带的一个EM sample来学习下opencv中EM
·
2015-11-12 18:10
opencv
EM
算法学习笔记
_1(对EM算法的简单理解)
因做实验的需要,最近在学习EM算法,算法介绍的资料网上是有不少,可是没有一篇深入浅出的介绍,算法公式太多,比较难懂,毕竟她是ML领域10大经典算法之一 ,且一般是结合GMM模型的参数估计来介绍EM的。看过不少EM的资料,现将自己对EM算法用稍微通俗点的文字写下来,当然你可以用GMM这个具体的例子来帮助理解。 问题的提出:给定一些样本数据x,且知道该数据是有k个高斯混合产生的,现在要用给的
·
2015-11-12 18:10
学习笔记
最大流-最小割
算法学习笔记
引言: 在算法中一般存在最大-最小定理。 1 、最大匹配<==>最小覆盖 2、 最大流<==>最小割 最大流-最小割定理理解引自呆欧的形象表达:“多粗的管子,水就最多多大流量”,比如从自来水厂到用水大户工业小区A 能达到的水的最大流
·
2015-11-12 17:21
学习笔记
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他