目前为止已经介绍了顺序查找、二分查找、分块查找、二叉排序树,见作者之前的文章:
http://blog.csdn.net/u010025211/article/details/46635325
http://blog.csdn.net/u010025211/article/details/46635183
今天这篇博文将介绍哈希查找。
1.为什么要用哈希查找
之前所讲...
分类:
编程语言 时间:
2015-06-25 15:33:14
阅读次数:
235
近期总结了各大排序算法的原理 ,并对其进行了实现,想着一并把查找算法总结了,今天就着手开始总结查找算法。
废话不多说,这篇文章从最简单的查找算法开始讲起,之后会补充复杂的二叉搜索树查找(BST)和B树,B+树查找以及哈希查找等。
顾名思义,查找就是寻找到关键字在队列中的位置,最笨的查找算法就是依次顺序比较,复杂度为O(n),但是有很多方法的复杂度可以达到O(logn)等等。
1.顺序...
分类:
编程语言 时间:
2015-06-25 14:03:52
阅读次数:
160
前面总结了顺序查找,二分查找,分块查找算法,此篇博文将详解介绍二叉排序算法(Binary Sort Tree)。
在介绍二叉排序算法之前,首先介绍什么事二叉排序树(BST)。
首先从二叉树讲起:
1、二叉树的概念
二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(leftsubtree)和“右子树”(rightsubtree)。二叉树常被用作二叉查找树和二叉...
分类:
编程语言 时间:
2015-06-25 14:03:02
阅读次数:
153
回顾各大排序算法的实现代码:
#include "stdafx.h"
#include
#include
#include
using namespace std;
template
void BubbleSort(T *x, const int N)
{
for(int k= N-1; k>0 ;k--)
{
for(int i=0; i<k; i++)
{
if(x...
分类:
编程语言 时间:
2015-06-24 18:51:40
阅读次数:
279
一 Boosting 算法的起源boost 算法系列的起源来自于PAC Learnability(PAC 可学习性)。这套理论主要研究的是什么时候一个问题是可被学习的,当然也会探讨针对可学习的问题的具体的学习算法。这套理论是由Valiant提出来的,也因此(还有其他贡献哈)他获得了2010年的图灵奖...
分类:
编程语言 时间:
2015-06-23 17:33:58
阅读次数:
167
山是包插入的精髓排序排序。这种方法,也被称为窄增量排序,因为DL.Shell至1959提出命名。该方法的基本思想是:先将整个待排元素序列切割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一...
分类:
编程语言 时间:
2015-06-22 22:12:32
阅读次数:
199
系列文章:《机器学习实战》学习笔记 本章介绍了《机器学习实战》这本书中的第一个机器学习算法:k-近邻算法,它非常有效而且易于掌握。首先,我们将探讨k-近邻算法的基本理论,以及如何使用距离测量的方法分类物品;其次我们将使用Python从文本文件中导入并解析数据;再次,本文讨论了当存在许多数据来源时,如...
分类:
编程语言 时间:
2015-06-17 00:39:28
阅读次数:
138
高速分拣,因为相同的排序效率O(N*logN)几个订购流程更高效,因此,经常使用,再加上高速分拣思想----分而治之的方法也是非常有用的,如此多的软件公司书面采访。它包含了腾讯,微软等知名IT企业宁愿测试此,的考试如软考,考研中也经常出现高速排序的身影。总的说来,要直接默写出高速排序还是有一定难度的...
分类:
编程语言 时间:
2015-06-10 20:48:21
阅读次数:
143
高速排序因为排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被採用,再加上高速排序思想----分治法也确实有用,因此非常多软件公司的笔试面试,包含像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也经常出现高速排序的身影。总的说来,要直接默写出高速排序...
分类:
编程语言 时间:
2015-06-05 15:42:18
阅读次数:
137
冒泡排序是很easy理解和实现,,以从小到大排序举例:设数组长度为N。1.比較相邻的前后二个数据,假设前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,假设N不为0就反复前面二步,否则排序完毕...
分类:
编程语言 时间:
2015-06-04 22:24:15
阅读次数:
119