算法
文章平均质量分 63
seakot
热爱生活,热爱互联网开发,乐于分享!
展开
-
从头到尾彻底理解KMP
作者:July 原文:http://blog.csdn.net/v_july_v/article/details/7041827时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。后收录于新书《编程之法:面试和算法心得》第4.4节中。1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时转载 2016-03-07 19:45:04 · 524 阅读 · 0 评论 -
优先队列及最小堆最大堆
1 堆 1.1 简介n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质):(1)ki=号。//k(i)相当于二叉树的非叶结点,K(2i)则是左孩子,k(2i+1)是右孩子若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(转载 2016-03-08 17:07:16 · 551 阅读 · 0 评论 -
稀疏矩阵的压缩存储及其两种转置算法
1 什么是稀疏矩阵 有较多值相同元素或较多零元素,且值相同元素或者零元素分布没有一定规律的矩阵称为稀疏矩阵。假设在mXn的矩阵中,有t个元素不为零,令c=t/mXn则称为矩阵的稀疏因子,通常认为c2 稀疏矩阵的压缩存储(只讨论有较多零元素矩阵的压缩存储);如何进行稀疏矩阵的压缩存储?稀疏矩阵的压缩存储有多种方法,本文主要介绍三元组顺序表这种存储方式。1)三元组表转载 2016-03-08 21:38:50 · 8650 阅读 · 0 评论 -
Skip List(跳跃表)原理详解与实现
Skip List(跳跃表)原理详解与实现 本文内容框架:§1 Skip List 介绍§2 Skip List 定义以及构造步骤 §3 Skip List 完整实现§4 Skip List 概率分析§5 小结 §1 Skip List 介绍 Skip List是一种随机转载 2016-03-10 21:00:11 · 492 阅读 · 0 评论 -
线索二叉树的原理以及创建和遍历(c++)
这是一篇非常好的关于线索二叉树的文章,内容详细到位,叙述清晰。作者是以为很认真、信息的人,估计花了不少时间和精力,向作者致敬!引用地址:http://waret.iteye.com/blog/709779PROCEDURE INTHREAD(BT,h) IF BT != 0 THEN { INTHREAD(L(BT),h) I转载 2016-03-26 10:31:12 · 3878 阅读 · 0 评论 -
优化的三叉哈夫曼树
1. 背景 在通讯、计算机网络、数据压缩、图像处理中,哈夫曼编码是一项极其重要的技术。哈夫曼编码是建立在二叉哈夫曼树的基础上,如果能够找到比二叉哈夫曼树更好的数据结构,那么对数据压缩等将起到促进作用。本文通过论述二叉哈夫曼树编码算法以及普通的三叉哈夫曼树编码算法,给出一种优化的三叉哈夫曼编码算法。2. 哈夫曼编码2.1 哈夫曼编码 哈夫曼编码是根据每个字符出现的频率进行编码的,依据字符出现原创 2016-03-28 16:08:46 · 14922 阅读 · 8 评论 -
正整数的中文读法(C++ Python)
基本思路(1)数字到中文的映射(2)每四位作为一个单元处理(3)从简入手,逐步细化映射中文读法中会出现的汉字如下: 零;一、二、… 、九;十、百、千;万、亿零比较特殊,单独存储一、二、…、九是计数的基本数字,存为一个数组十、百、千是每个万组里面的单位,存为一个数组万、亿是更大单位,存为一个数组基本处理通过循环得到正整数各个位的数字,数据保存到数组data[]中通过取模运算和除法运算原创 2016-04-17 00:07:01 · 2579 阅读 · 0 评论 -
常用推荐算法
推荐方法是整个推荐系统中最核心、最关键的部分,很大程度上决定了推荐系统性能的优劣。目前,主要的推荐方法包括:基于内容推荐、协同过滤推荐、基于关联规则推荐、基于效用推荐、基于知识推荐和组合推荐。 一、基于内容推荐 基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需原创 2016-11-17 13:27:47 · 947 阅读 · 0 评论