摘要:
图的最优化问题:最小生成树、最短路径 典型的图应用问题 无向连通加权图的最小生成树 有向/无向加权图的最短路径 四个经典算法 Kruskal算法、Prim算法 最小生成树 Dijkstra算法、Floyd算法 最短路径 单源最短路径问题(单源路径问题) 求某指定顶点(称为源点)到其余各顶点的最短路径 阅读全文
摘要:
最小生成树的Prim算法 思想:采用子树延伸法 将顶点分成两类: 生长点——已经在生成树上的顶点 非生长点——未长到生成树上的顶点 使用待选边表: 每个非生长点在待选边表中有一条待选边,一端连着非生长点,另一端连着生长点 步骤: 步骤1)构造初始待选边表,任选一个顶点v作为初始生长点,对其余每个非生 阅读全文
摘要:
图的最优化问题:最小生成树、最短路径 典型的图应用问题 无向连通加权图的最小生成树 有向/无向加权图的最短路径 四个经典算法 Kruskal算法、Prim算法 最小生成树 Dijkstra算法、Floyd算法 最短路径 最小生成树的概念: G=(V,E):无向连通加权图 C(e)或C(v,w): 边 阅读全文
摘要:
/*图遍历的源代码 通过邻接矩阵的方式来保存给结点的值,再通过边的连接形成一个图。 验证深度优先搜索、广度优先搜索。 */ 阅读全文
摘要:
图的遍历 图的遍历:搜索属于图的基本运算。树的先序遍历和按层遍历的推广。图的遍历也称搜索,主要有: 先深搜索(depth-first search)——深度优先搜索——dfs搜索 先广搜索(breadth-first search)——广度优先搜索——bfs搜索 遍历目的——完成图运算(求子图或路径 阅读全文
摘要:
图结构的基本概念 图的定义:用于描述多对多的网状关系。 由用于表示事物的顶点(vertex)集合V,以及表示事物之间关系的边(edge)集合E构成 记作G=(V,E) 顶点数目n>0,边数目m≥0 V:非空有穷顶点(vertex)集 E :V上的顶点对所构成的边(edge)集 边的概念: 1.边 有 阅读全文
摘要:
2.检索树类 下面定义的检索树类bin_search_tree 继承二叉树类binary_tree的成员数据(根指针root)和成员函数,并追加检索树特需的成员函数:插入、删除、构造、查找,结点类同binary_node类 阅读全文
摘要:
哈夫曼树 定义:给定n个正实数w1至wn,使权WPL(T)达最小值的树,称为哈夫曼树(最优二叉树)。(其中n表示该树中叶结点的数目,wk和lk(k=1,2,···,n)分别表示叶结点ik的权值和从树根到叶结点ik之间的路径长度。) 注意:哈夫曼树必是正则二叉树! 下面还要明白几个重要的概念: 1. 阅读全文
摘要:
B树、B++树和Trie树 B树 定义:一个非空M元(也称M阶)B树(R.Bayer,1970年) 满足下列条件: 1)每个结点含有m个元素a1<a2<…<am。含有m个元素的结点有m+1个子树,m称为结点长度 2)结点长度m满足: 根结点,1≤m≤M-1 可以有2~M个子树 非根结点,M/2- 阅读全文
摘要:
红黑树 定义: 带有外部结点,且满足下列条件的二叉树: 1)每个结点都有标为红色,或黑色 2)根结点为红色 3)外结点为黑色 4)[红不相邻]每个红结点的儿子必为黑结点 5)根(包括子树的根)到外结点的每条路径上,标记为黑色的结点数相同 结点数与高度之间的关系: 定理: 1.具有n个内结点的红黑树, 阅读全文