
数据结构
daydaytech
coder at work
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
哈夫曼数 归纳
别人总结得很好,所以就直接转了 原帖地址:http://hi.baidu.com/nicker2010/item/f066440f128d0cc4915718eb 数据结构之哈夫曼树 1. 哈夫曼树的基本概念 哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。 所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的转载 2013-05-08 10:07:44 · 824 阅读 · 0 评论 -
最小生成树 prime算法 归纳
prime算法原理: 先添加一个点,然后找没有加入的顶点中和这个点连接最小的边,加入这个点,再以这个点为基础,重复直到找到所有点 当然,虽然写着原创,实际上就是李春葆书上照搬的,不要抛砖哈 //prime算法模板 #define MAXV 100//后面都会用到 #define INF 32768//INF表示正无穷 struct MGraph { double edges[MA原创 2013-05-13 15:31:36 · 669 阅读 · 0 评论 -
优先级队列 归纳
大神太多了,新手只能做一下伸手党了,勿怪勿怪. 原帖地址:http://blog.youkuaiyun.com/yidujinhuang/article/details/6868093 优先队列:顾名思义,首先它是一个队列,但是它强调了“优先”二字,所以,已经不能算是一般意义上的队列了,它的“优先”意指取队首元素时,有一定的选择性,即根据元素的属性选择某一项值最优的出队~ 优先级队列 是不同转载 2013-05-13 10:43:16 · 525 阅读 · 0 评论 -
求最长重复子串
原文地址:http://blog.youkuaiyun.com/hackbuteer1/article/details/7968623 简述问题:例如:abcdabcda,这时最长重复子串是 abcda,中间的 a 是被重叠的。 用到数据结构:后缀数组 如若输入字符串为"banana",该数组将表示这些后缀: a[0]:banana a[1]:anana a[2]:nana a[3]:a转载 2013-09-26 14:29:54 · 751 阅读 · 0 评论 -
基本数据结构归纳
基本数据结构: 单链表 typedef struct LNode { ElemType data; struct LNode *next; }LinkList; 头插法 void CreateListF(LinkList *&L,ElemType a[],int n) { LinkList *s; int i; L = (LinkList *)malloc(s原创 2013-09-26 14:43:42 · 478 阅读 · 0 评论 -
排序算法归纳
推荐一篇详细讲解的文章:http://blog.youkuaiyun.com/hackbuteer1/article/details/6568913 内排序 typedef int KeyType; typedef struct { KeyType key; InfoType data; }RecType;//排序记录类型定义 插入排序//升序 1.直接插入原创 2013-09-26 14:50:52 · 560 阅读 · 0 评论 -
最短路径 dijkstra算法
算法功能:求出源点和所有点之间的最短路径 算法思想:每次选取未处理点中离源点最近的点,更新源点和所有点的距离(能到位值,不能到位无穷),然后置为已经处理过. 具体见代码: //dijkstra算法模板 #define MAXV 100//后面都会用到 #define INF 32768//INF表示正无穷 struct MGraph { double edges[MAXV][MAXV原创 2013-05-13 20:54:19 · 522 阅读 · 0 评论 -
最小生成树 kruskal算法 归纳
还是来自于李春葆的"数据结构"一书,自己尽量将模板写简洁了一点 算法过程:将边按照从小到大排列,依次加入最小边,如果加入这条边不形成回路(使用并查集,不在同一个集合的两个顶点就不会形成回路),就加入这条边,知道加入n-1条边为止. #define MAXV 100//后面都会用到 #define MAXSIZE (100*100) #define INF 100000//INF表示正无穷原创 2013-05-13 16:29:57 · 560 阅读 · 0 评论