堆排序与高速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先解说下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是全然二叉树或者是近似全然二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)不论什么一个子节点的键值。2.每一个结点的左子树和右...
分类:
编程语言 时间:
2015-03-11 10:40:57
阅读次数:
127
??
1.归并排序
《算法导论》P19
参考网址:
白话经典算法系列之五 归并排序的实现 - MoreWindows Blog -
博客频道 - CSDN.NET
http://blog.csdn.net/morewindows/article/details/6678165
#include "stdafx.h"
#i...
分类:
编程语言 时间:
2015-03-10 10:24:52
阅读次数:
241
当尝试在不同图像之间进行特征匹配时,通常会遇到图像的大小、方向等参数发生改变的问题,简而言之,就是尺度变化的问题。每幅图像在拍摄时与目标物体的距离是不同的,因此要识别的目标物体在图像中自然会存在不同的尺寸。因此,计算机视觉中引入尺度不变的特征,主要的思想是每个检测到的特征点都伴随对应的尺度因子。著名的尺度不变特征检测器SIFT与其变种SURF便属于经典算法。...
分类:
编程语言 时间:
2015-03-10 01:28:34
阅读次数:
304
部分代码与文档是早些时候收集的,出处找不到了,还请原作者看到后联系注明。
图切算法是组合图论的经典算法之一。近年来,许多学者将其应用到图像和视频分割中,取得了很好的效果。本文简单介绍了图切算法和交互式图像分割技术,以及图切算法在交互式图像分割中的应用。
图像分割指图像分成各具特性的区域并提取出感兴趣目标的技术和过程,它是由图像处理到图像分析的关键步骤,是一种基本的计算机视觉技术。只...
分类:
编程语言 时间:
2015-03-09 10:59:07
阅读次数:
1100
关于 曾经的48种经典算法与23种常用设计模式相信都不陌生了,不过好久没看了而且当时看的时候也没有整理出来,现在就慢慢整理出来(后续会慢慢更新,这里只是对经典算法进行整理):目录:1.河内之塔_TowersOfHanoi2.费氏数列_Fibonacci3.巴斯卡三角形4.三色棋5.老鼠走迷官16.老...
分类:
编程语言 时间:
2015-03-02 19:04:55
阅读次数:
203
一 简介KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。二 基于部分匹配表的KMP算法举例来说,有一个字符串”BBC ABCDAB ABCDABCDABDE”,我想知道,里面是否包含搜索串...
分类:
编程语言 时间:
2015-03-01 19:48:12
阅读次数:
153
高速排序因为排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被採用,再加上高速排序思想----分治法也确实有用,因此非常多软件公司的笔试面试,包含像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也经常出现高速排序的身影。总的说来,要直接默写出高速排序...
分类:
编程语言 时间:
2015-02-28 20:05:30
阅读次数:
203
之前有篇文章([算法系列之二十]字典树(Trie))我们详细的介绍了字典树。有了这些基础我们就能更好的理解后缀树了。一 引言 模式匹配问题给定一个文本text[0…n-1], 和一个模式串 pattern[0…m-1],写一个函数 search(char pattern[], char text[]), 打印出pattern在text中出现的所有位置(n > m)。这个问题已经有两个经典的算法:...
分类:
编程语言 时间:
2015-02-27 20:16:41
阅读次数:
192
本文所有涉及到的数据挖掘代码的都放在了我的github上了:https://github.com/linyiqun/DataMiningAlgorithm
大概花了将近2个月的时间,自己把18大数据挖掘的经典算法进行了学习并且进行了代码实现,涉及到了决策分类,聚类,链接挖掘,关联挖掘,模式挖掘等等方面。也算是对数据挖掘领域的小小入门了吧。下面就做个小小的总结,后面都是我自己相应算法的博文链接,希...
分类:
编程语言 时间:
2015-02-27 12:02:45
阅读次数:
143
贪心算法分阶段工作。在每一个阶段,可以认为所做的决定是好的,而不考虑将来的后果。一般来说,这意味着选择的是某个局部最优。这种“眼下能够拿到的就拿”的策略是这类算法名称的来源。当算法终止时,我们希望局部最优就是全局最优。如果真是这样的话,那么算法就是正确的;否则,算法得到的是一个次最优解。如果不要.....
分类:
编程语言 时间:
2015-02-25 12:56:55
阅读次数:
175