博客专栏  >  编程语言   >  ACM一些常用的算法与数据结构

ACM一些常用的算法与数据结构

在这里面会积累一些我自己从小白开始一个知识点一个知识点的过的算法,与一些ACM竞赛中常用的数据结构,还有穿插一些解题报告。

关注
5 已关注
8篇博文
  • 数论基础——循环节和矩阵快速幂的运用

    首先我们来看一道基础题:     题目链接:HDU1005 Number Sequence     题目描述: Number Sequence Time Limit: 2000/1000 MS (...

    2016-05-03 11:04
    2138
  • 数据结构——线段树的基础知识

    1.线段树的定义: 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a...

    2016-04-12 23:23
    3257
  • 并查集的一些基本概念以及基本操作(初始化,合并,查询等操作)

    首先要明白的是为什么会有并查集这种数据结构的出现,我们知道,对于一些比较常见的实际问题,举个简单的例子 比如说,我们要在一个无重复数据的数组中寻找一个指定的元素,那么最简单的方法就是直接for循环一遍...

    2016-03-11 20:29
    1492
  • 基本约瑟夫环问题详解

    基本问题描述: 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆...

    2016-03-18 22:40
    2159
  • 二叉树先序,中序,后序遍历之间的相互求法

    首先,我们要明白,什么是树?这是大自然中一棵树的模型照片 而在数据结构中的树,会是什么样的结构呢? 树形结构广泛存在我们的现实生活里,下面两张图你一定不陌生吧,第一张是 Linux 文件系...

    2016-03-06 23:22
    950
  • 堆的概念及基本操作实现

    1.堆的基本概念: 严格来讲,堆有不同的种类,但是我们在算法学习中,主要用的还是二叉堆,而二叉堆有最大堆和最小堆之分。 最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树...

    2016-03-25 17:28
    1352
  • 哈夫曼编码问题再续(下篇)——优先队列求解

    上篇描述了哈夫曼编码问题的基本描述以及建造一个哈夫曼树的过程分析,那么当算法已经描述清楚之后,我们要怎么样来实现 代码呢?或者说,给你一些带有权值的叶子节点,要怎么样利用程序快速算出所对应的哈夫曼树...

    2016-03-30 22:21
    1223
  • 哈夫曼树和哈夫曼编码基本概念及构造(上篇)

    1.哈夫曼编码的起源: 哈夫曼编码是 1952 年由 David A. Huffman 提出的一种无损数据压缩的编码算法。哈夫曼编码先统计出每种字母在字符串里出现的频率,根据频率建立一棵路径带权的二...

    2016-03-12 10:58
    1077

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部