自娱自乐的代码人,专注Java、c、php

GIT:https://github.com/zhuli InitPHP开源框架:http://initphp.com

排序:
默认
按更新时间
按访问量
RSS订阅

数据结构和算法系列 - 八大排序算法

概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目...

2015-10-29 16:39:01

阅读数:1061

评论数:0

数据结构和算法系列 - FP-Tree算法的实现

在关联规则挖掘领域最经典的算法法是Apriori,其致命的缺点是需要多次扫描事务数据库。于是人们提出了各种裁剪(prune)数据集的方法以减少I/O开支,韩嘉炜老师的FP-Tree算法就是其中非常高效的一种。 支持度和置信度 严格地说Apriori和FP-Tree都是寻找频繁项集的算法...

2015-07-06 10:40:42

阅读数:1322

评论数:0

数据结构和算法系列 - AVL树

概念 AVL树是最早提出的自平衡二叉树,在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. Landis。AVL树种查找、插入和删除在平均和最坏情况下都是O(log n),增加和删除可能需要通过一次或...

2015-06-30 14:51:49

阅读数:940

评论数:0

数据结构和算法系列 - 跳跃表 SkipList

跳跃链表是一种随机化数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间),并且对并发算法友好。 基本上,跳跃列表是对有序的链表增加上附加的前进链接,增加是以随机化的方式进行的,所以在列表中的查找可以快速的跳过部分列表(因此得名)。所有操作都以对数随机化的...

2015-06-25 19:16:08

阅读数:1499

评论数:0

数据结构和算法系列 - geohash算法原理及实现方式

原地址:http://www.cnblogs.com/dengxinglin/archive/2012/12/14/2817761.html geohash算法原理及实现方式 1、geohash特点 2、geohash原理 3、geohash的php 、python、java、C#实现代码 ...

2015-02-12 17:26:32

阅读数:1053

评论数:0

数据结构和算法系列 - 双向链表结构

双向链表 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 双向链表的数据结构中,会有两个比较

2014-09-21 23:30:07

阅读数:853

评论数:0

数据结构和算法系列 - 单链表

单链表定义 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。 单向链表的每一个元素Item中,有一个元素会存放下一个Item的内存地址。当找到第一个元素,就能通过这个元素中存放的第二个元素的地址值找到第三个元素,继而找到第四个,第五个,第六个元素。 图1,单向链表的...

2014-09-14 22:03:42

阅读数:1074

评论数:2

数据结构和算法系列 - Trie—单词查找树

Trie—单词查找树 l  简介 Trie,又称单词查找树、前缀树,是一种哈希树的变种。应用于字符串的统计与排序,经常被搜索引擎系统用于文本词频统计。 含有单词“tea”“tree”“A”“ZSU”的一棵Trie。 l  性质 n  根节点不包含字符,除根节点外的每一个节点都只包含一...

2012-12-11 18:17:51

阅读数:960

评论数:0

数据结构和算法系列 - 一致性hash算法

consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛; 1 基本场景 比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对...

2012-06-25 19:29:54

阅读数:883

评论数:0

数据结构和算法系列 - c语言扑克排序法

插入排序算法类似于玩扑克时抓牌的过程,玩家每拿到一张牌都要插入到手中已有的牌里,使之从小到大排好序。 #include void main() { printf("扑克牌排序算法:\n"); int arr[5] = {1,200,3,45,2}; in...

2012-06-22 12:32:30

阅读数:1512

评论数:0

数据结构和算法系列 - c语言归并排序法

插入排序算法采取增量式(Incremental)的策略解决问题,每次添一个元素到已排序的子序列中,逐渐将整个数组排序完毕,它的时间复杂度是O(n2)。下面介绍另一种典型的排序算法--归并排序,它采取分而治之(Divide-and-Conquer)的策略,时间复杂度是Θ(nlgn)。归并排序的步骤如...

2012-06-22 12:31:31

阅读数:807

评论数:0

数据结构和算法系列 - c语言线性查找算法

#include char strArr[] = "woshixixihaha"; int indexof(char str) { int i = 0; while (strArr[i] != '\0') { if (strArr[i] == str) { ...

2012-06-22 12:28:49

阅读数:1295

评论数:1

数据结构和算法系列 - 折半算法

#include #define LEN 8 int a[LEN] = { 1, 2, 2, 2, 5, 6, 8, 9 }; int binarysearch(int number) { int mid, start = 0, end = LEN - 1; while (start ...

2012-06-22 12:27:40

阅读数:1035

评论数:0

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