摘要:
最近在重学JavaWeb的内容,回顾一下。 1 基本概念 1.1 前言 web开发: 静态web html,css 提供给所有人看的数据始终不会变化 动态web 几乎所有网站,淘宝 提供给所有人看的数据始终会发生变化,每个人在不同的时间、不同的地点看到的信息各不相同 servlet/jsp,asp, 阅读全文
摘要:
基本概念 拓扑序:如果图中从V到W有一条有向路径,则V一定排在W之前。满足此条件的顶点序列称为一个拓扑序,那么拓扑排序就是获得一个拓扑序的过程。另外,如果有合理的拓扑序,则必定是有向无环图。 拓扑排序算法 下面介绍一个比较好的拓扑排序算法 伪代码如下: void TopSort(){ for(图中每 阅读全文
摘要:
二叉搜索树是为了解决动态查找问题而提出来的,也叫做二叉排序树或二叉查找树。 基本概念 二叉搜索树(BST, Binary Search Tree):一棵二叉树,可以为空;如果不为空,则要满足以下性质: 非空左子树的所有键值小于其根结点的键值 非空右子树的所有键值大于其根结点的键值 左、右子树都是二叉 阅读全文
摘要:
基本概念 最小生成树 是一棵树 无回路,向生成树中任加一条边都一定构成回路 |V|个顶点一定有|V|-1条边 是生成树 包含全部顶点 |V|-1条边都在图里 边的权重最小 贪心算法 对于如何最小生成树的算法,我们使用贪心算法。 什么是“贪”:每一步都要好的 什么是“好”:权重最小的边 需要约束 只能 阅读全文
摘要:
最短路径问题的抽象 在网络中,求两个不同顶点之间的所有路径中,边的权值之和最小的那一条路径。 这条路径就是两点之间的最短路径 第一个顶点为源点 最后一个顶点为终点 问题分类 单源最短路径问题:从某固定源点出发,求其到所有其他顶点的最短路径。 (有向)无权图 (有向)有权图 多源最短路径问题:求任意两 阅读全文
摘要:
基本概念 图表示多对多的关系。包含 一组顶点:通常用V(Vertex)表示顶点集合 一组边:通常用E(Edge)表示边的集合 边是顶点对:(v,w)是集合E的元素,其中v,w是集合V的元素 有向边<v,w>表示从v指向w的边(单行线) 不考虑重边和自回路 抽象数据类型定义 类型名称:图 数据对象集: 阅读全文
摘要:
基本概念 void X_Sort(ElementType A[], int N) N是正整数 只讨论基于比较的排序(<、=、>有定义) 只讨论内部排序 稳定性:任意两个相等的数据,排序前后的相对位置不发生变化 没有一种排序是任何情况下都表现最好的 简单排序 冒泡排序 每一趟冒泡可以确定至少一个元素的 阅读全文
摘要:
基本概念 堆是一种用数组来实现的完全二叉树。堆分为两种:最大堆(大顶堆)和最小堆(小顶堆),差别在于结点的排序方式。在最大堆中,任一结点的关键字是其子树所有结点的最大值,而在最小堆中,任一结点的关键字是其子树所有节点的最小值。 在此我们暂时只讨论最大堆,也叫做优先队列。 抽象数据类型描述 类型名称: 阅读全文
摘要:
线性表是最基本的数据结构。 基本概念 线性表(Linear List):由同类型数据元素构成有序序列的线性结构。 表中元素个数称为线性表的长度 线性表没有元素时称为空表 表起始位置为表头,表结束位置为表尾 抽象数据类型描述 类型名称:线性表 数据对象集:线性表是n个元素构成的有序序列(a1,a2,· 阅读全文
摘要:
对于一般的二叉搜索树,搜索树结点不同插入次序,将导致不同的深度和平均查找长度ASL。甚至在极端的情况下,二叉搜索树会退化称线性的链表,导致插入和查找的复杂度下降到O(n),所以便提出了平衡二叉树的概念。 基本概念 平衡因子(Balance Factor, BF):BF(T)=hL-hR,其中hL、h 阅读全文