12、数据结构与算法 - 基础:拓扑排序和关键路径
有向无环图及其应用 一个无环的有向图称做有向无环图,简称DAG图。 DAG图是一类较有向树更一般的特殊有向图。 拓扑排序 通常我们把计划、施工过程、生产流程、程序流程等都当成一个工程,一个大的工程常常被划分成许多较小的子工程,这些子工程称为...
有向无环图及其应用 一个无环的有向图称做有向无环图,简称DAG图。 DAG图是一类较有向树更一般的特殊有向图。 拓扑排序 通常我们把计划、施工过程、生产流程、程序流程等都当成一个工程,一个大的工程常常被划分成许多较小的子工程,这些子工程称为...
最小生成树 问题提出: 要在n个城市间建立通信联络网,城市间的通信线路造价不同,希望找到一种方案使得建立该通信网所需花费的总代价最小。 问题分析: n个城市间,最多可设置n(n-1)/2条线路; n个城市间建立通信网,至少需n-1条线路; ...
公众号:“皇子谈技术”主理人
图的遍历 1、 在图中有回路,从图中某一顶点出发访问图中其它顶点时,可能又会回到出发点,而图中可能还剩余有顶点没有访问到; 2、 我们可以设置一个全局型标志数组visited来标志某个顶点是否被访问过,未访问的值为0,访问过的值为1; 3、...
图的基本概念 图是由一个顶点集 V 和一个边集 E构成的数据结构。Graph=(V,E) 图中代表一条边的顶点的偶对如果无方向性,即无序,则称此图为无向图。 例: V={V1,V2,V3,V4,V5}; E={(V1,V2),(V1,V4)...
二叉树遍历的几种方法 存储结构: typedef char ElemType; typedef struct BiTNode{ ElemType data; struct BiTNode *lchild,*rchild; }BiTNode;...
线索二叉树 利用空指针域来真存放结点的前驱和后继信息 定义: 前驱与后继:在二叉树的先序、中序或后序遍历序列中两个相邻的结点互称为~ 线索:指向前驱或后继结点的指针称为~ 线索二叉树:加上线索的二叉链表表示的二叉树叫~ 线索化:对二叉树按某...
树 树的表示方式有 1、 树形图表示法:逻辑结构描述直观; 2、 嵌套集合表示法(文氏图表示法); 3、 凹入表示法; 4、 广义表表示法; 5、 ; 二叉树 二叉树是另一种重要的树形结构,是度为2的有序树,它的特点是每个结点至多有两棵子树...
串的模式匹配算法 子串(模式串)的定位操作通常称为串的模式匹配。 这是串的一种重要操作,很多 软件,若有“编辑”菜单项的话, 则其中必有“查找”子菜单项。 串的顺序存储实现 #include<stdio.h> #include&...
队列的定义 队列(Queue)也是一种运算受限的线性表。它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。 队列的修改是依先进先出的原则进行的。 队列的基本操作 1.初...
1. 栈的定义 栈,也叫堆栈,是最常用也是最重要的数据结构之一。 栈(Stack)是限定仅在表的一端进行插入或删除操作的线性表,通常称插入、删除的这一端为栈顶(Top),另一端为栈底(Bottom)。当表中没有元素时称为空栈。 栈操作的特点...