博客专栏  >  编程语言   >  算法专栏

算法专栏

用c实现《算法导论》中基础算法

关注
6 已关注
7篇博文
  • 最优二叉树&&哈夫曼编码

    树的路径长度 树的路径长度是从树根到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。 树的带权路径长度(weighted path length of tr...

    2013-01-04 11:15
    4260
  • 并查集——用于不相交集合的数据结构

    并查集 并查集保持一组不相交的动态集合S={S1, S2, ..., SK}.每个集合通过一个代表来表示,代表即集合中的某个成员。 并查集的精髓(即它的三种操作): 集合中的每一个元素是由一个对象表示...

    2013-04-08 15:06
    2401
  • 图的单源最短路径算法

    概述 假如你有一张地图,地图上给出了每一对相邻城市的距离,从一个地点到另一个地点,如何找到一条最短的路?最短路算法要解决的就是这类问题。定义:给定一个有(无)向图,每一条边有一个权值w,给定一个起始...

    2013-04-23 23:56
    2490
  • 队列的学习

    定义 队列(queue)是只允许在一端进行插入,在另一端进行删除的运算受限的线性表。 允许插入的一端叫做队尾(rear)允许删除的一端叫做队头(front)当队列中没有元素时叫做空队列队列...

    2012-10-28 16:45
    1947
  • 树的学习——(递归构建二叉树、递归非递归前序中序后序遍历二叉树、根据前序序列、中序序列构建二叉树)

    前言 最近两个星期一直都在断断续续的学习二叉树的数据结构,昨晚突然有点融汇贯通的感觉,这里记录一下吧 题目要求 给定前序序列,abc##de#g##f###,构建二叉树,并且用递归和非递归两种方法...

    2012-12-29 10:46
    7128
  • 栈的学习

    1.栈的定义 栈(stack)是限制仅在表一端进行插入或删除操作的线性表。 (1)通常称插入或删除的一端为栈顶(Top),另一端为栈底(Bottom) (2)当表中没有元素时称为空栈 (3)栈...

    2012-10-16 18:18
    1844
  • 堆排序

    堆排序概述 堆排序定义 n个关键字序列k(1), k(2), ..., k(n)称为堆,当且仅当该序列满足如下性质(简称为堆性质) k(i) k(i) >= k(2i) && k...

    2013-02-25 23:28
    1834
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部