1/281、数据(Data):是客观事物的符号表示。在计算机科学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素(DataElement):是数据的基本单位,在程序中通常作为一个整体来进行考虑和处理。一个数据元素可由若干个数据项(DataItem)组成。数据项是数据的不可分割的最小单位。数据项是对客观事物某一方面特性的数据描述。数据对象(DataObject):是性质相同的数据元素的集合,是数据的一个子集。如字符集合C={‘A’,’B’,’C,⋯}。数据结构(DataStructure):是指相互之间具有(存在)一定联系(关系)的数据元素的集合。元素之间的相互联系(关系)称为逻辑结构。数据元素之间的逻辑结构有四种基本类型,如图1-3所示。①集合:结构中的数据元素除了“同属于一个集合”外,没有其它关系。②线性结构:结构中的数据元素之间存在一对一的关系。③树型结构:结构中的数据元素之间存在一对多的关系。④图状结构或网状结构:结构中的数据元素之间存在多对多的关系。2、顺序结构:数据元素存放的地址是连续的;链式结构:数据元素存放的地址是否连续没有要求。数据的逻辑结构和物理结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构。在C语言中,用一维数组表示顺序存储结构;用结构体类型表示链式存储结构。3、C语言中用带指针的结构体类型来描述typedefstructLnode{ElemTypedata;/*数据域,保存结点的值*/structLnode*next;/*指针域*/}LNode;/*结点的类型*/4、循环队列为空:front=rear。循环队列满:(rear+1)%MAX_QUEUE_SIZE=front。5、性质1:在非空二叉树中,第i层上至多有2i-1个结点(i≧1)。性质2:深度为k的二叉树至多有2k-1个结点(k≧1)。性质3:对任何一棵二叉树,若其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1。一棵深度为k且有2k-1个结点的二叉树称为满二叉树(FullBinaryTree)。完全二叉树的特点:若完全二叉树的深度为k,则所有的叶子结点都出现在第k层或k-1层。对于任一结点,如果其右子树的最大层次为l,则其左子树的最大层次为l或l+1。2/28性质4:n个结点的完全二叉树深度为:㏒2n+1。性质5:若对一棵有n个结点的完全二叉树(深度为└㏒2n┘+1)的结点按层(从第1层到第㏒2n+1层)序自左至右进行编号,则对于编号为i(1≦i≦n)的结点:⑴若i=1:则结点i是二叉树的根,无双亲结点;否则,若i>1,则其双亲结点编号是i/2。⑵如果2i>n:则结点i为叶子结点,无左孩子;否则,其左孩子结点编号是2i。⑶如果2i+1>n:则结点i无右孩子;否则,其右孩子结点编号是2i+1。6、线索二叉树:设一棵二叉树有n个结点,则有n-1条边(指针连线),而n个结点共有2n个指针域(Lchild和Rchild),显然有n+1个空闲指针域未用。则可以利用这些空闲的指针域来存放结点的直接前驱和直接后继信息。7、Huffman树:具有n个叶子结点(每个结点的权值为wi)的二叉树不止一棵,但在所有的这些二叉树中,必定存在一棵WPL值最小的树,称这棵树为Huffman树(或称最优树)。3/288、完全无向图:对于无向图,若图中顶点数为n,用e表示边的数目,则e[0,n(n-1)/2]。具有n(n-1)/2条边的无向图称为完全无向图。完全有向图:对于有向图,若图中顶点数为n,用e表示弧的数目,则e[0,n(n-1)]。具有n(n-1)条边的有向图称为完全有向图。生成树、生成森林:一个连通图(无向图)的生成树是一个极小连通子图,它含有图中全部n个顶点和只有足以构成一棵树的n-1条边,称为图的生成树关于无向图的生成树的几个结论:1)一棵有n个顶点的生成树有且仅有n-1条边;2)如果一个图有n个顶点和小于n-1条边,则是非连通图;3)如果多于n-1条边,则一定有环;4)有n-1条边的图不一定是生成树。9、最小生成树(MinimumSpanningTree):带权连通图中代价最小的生成树称为最小生成树。最小生成树在实际中具有重要用途,如设计通信网。设图的顶点表示城市,边表示两个城市之间的通信线路,边的权值表示建造通信线路的费用。n个城市之间最多可以建n(n-1)/2条线路,如何选择其中的n-1条,使总的建造费用最低?4/2810、工程完成最短时间:从起点到终点的最长路径长度(路径上各活动持续时间之...