P2MySQL三层结构所谓安装MySQL数据库,就是在主机安装一个数据库管理系统(DBMS),这个管理程序可以管理多个数据库。DBMS(databasemanagesystem)一个数据库可以创建多个表,以保存数据(信息)。数据管理系统(DBMS)、数据库和表的关系如图所示:数据在数据库中的存储方式:表的一行称之为一条记录,在Java程序中,一行记录往往使用对象表示。SQL语句分类DDL:数据定义语句[create表,库…]DML:数据操作语句[增加insert,修改updata,删除delet]DQL:数据查询语句[select]DCL:数据控制语句[管理数据库:比如用户权限grand,re
P2MySQL三层结构所谓安装MySQL数据库,就是在主机安装一个数据库管理系统(DBMS),这个管理程序可以管理多个数据库。DBMS(databasemanagesystem)一个数据库可以创建多个表,以保存数据(信息)。数据管理系统(DBMS)、数据库和表的关系如图所示:数据在数据库中的存储方式:表的一行称之为一条记录,在Java程序中,一行记录往往使用对象表示。SQL语句分类DDL:数据定义语句[create表,库…]DML:数据操作语句[增加insert,修改updata,删除delet]DQL:数据查询语句[select]DCL:数据控制语句[管理数据库:比如用户权限grand,re
树和森林一、树的存储结构双亲表示法实现:定义结构数组,存放树的结点,每个结点含两个域数据域:存放结点本身信息。双亲域:指示本结点的双亲结点在数组中的位置。特点:找双亲容易,找孩子难。C语言的类型描述:typedefstructPTNode{TElemTypedata;intparent;//双亲位置域}PTNode;/*树的结构*/#defineMAX_TREE_SIZE100typedefstruct{PTNodenodes[MAX_TREE_SIZE];intr,n;//根结点的位置和结点数}孩子链表法实现:把每个结点的孩子结点排列起来,看成是一个线性表,用单链表存储,则n个结点有n个孩子
树和森林一、树的存储结构双亲表示法实现:定义结构数组,存放树的结点,每个结点含两个域数据域:存放结点本身信息。双亲域:指示本结点的双亲结点在数组中的位置。特点:找双亲容易,找孩子难。C语言的类型描述:typedefstructPTNode{TElemTypedata;intparent;//双亲位置域}PTNode;/*树的结构*/#defineMAX_TREE_SIZE100typedefstruct{PTNodenodes[MAX_TREE_SIZE];intr,n;//根结点的位置和结点数}孩子链表法实现:把每个结点的孩子结点排列起来,看成是一个线性表,用单链表存储,则n个结点有n个孩子
特殊矩阵的压缩存储矩阵:一个由mxn个元素排列成的m列n行的表。矩阵的常规存储的特点:可以对其元素进行随机存储;矩阵运算非常简单;存储密度为1;不适宜常规存储的矩阵:值相同的元素很多且呈某种规律分布;零元素多。矩阵的压缩存储:为多个相同的非零元素只分配一个存储;对零元素不分配空间。什么是压缩存储?若多个数据元素的值都相同,则只分配一个元素值的存储空间,且零元素不占存储空间。什么样的矩阵能够压缩?一些特殊矩阵,如:对称矩阵,对角矩阵,三角矩阵,稀疏矩阵等。什么叫稀疏矩阵?矩阵中非零元素的个数较少(一般小于5%)对称矩阵【特点】在nxn矩阵a中,满足如下性质:aij=aji(1【存储方法】只存储下
广义表定义:广义表(又称列表Lists)是n>=0个元素a0,a1,...,an-1的有限序列,其中每一个ai或者是原子,或者是一个广义表。广义表通常记作:LS=(a1,a2,...,an)其中:LS为表名,n为表的长度,每一个ai为表的元素。习惯上,一般用大写字母表示广义表,小写字母表示原子。表头:若LS非空(n>=1),则其中第一个元素a1就是表头。记作head(LS)=a1。注:表头可以是原子,也可以是子表。表尾:除表头之外的其他元素组成的表。记作tail(LS)=(a2,...,an)。注:表尾不是最后一个元素,而是一个子表。广义表的性质广义表中的数据元素有相对次序,一个直接前驱和一个
线索二叉树问题:为什么要研究线索二叉树当用二叉链表作为二叉树的存储结构时,可以很方便地找到某个结点的左右孩子;但一般情况下,无法直接找到该结点在某种遍历序列中的前驱和后继结点。线索二叉树定义:利用二叉树的空指针域,如果某个结点的左孩子为空,则将空的左孩子指针域改为指向其前驱;如果某结点的右孩子为空则将空的右孩子指针域改为指向其后继。————这种改变指向的指针称为“线索”。加上线索的二叉树称为线索二叉树(ThreadedBinaryTree)。对二叉树按某种遍历次序使其变为线索二叉树的过程叫线索化。为了区分lchild和rchild指针到底是指向孩子的指针,还是指向前驱或者是后继的指针,对二叉链
2.两种特殊的二叉树满二叉树定义:一棵深度为k且有2^k-1个结点的二叉树称为满二叉树。特点:每一层上的结点数都是最大结点数(即每层都满);叶子结点全部在最底层;对满二叉树结点位置进行编号编号规则:从根结点开始,自上而下,自左而西;每一结点位置都有元素;完全二叉树定义:深度为k的具有n个结点的二叉树,当且仅当其每一个结点都与深度同为k的满二叉树中编号为1~n的结点一一对应时,称之为完全二叉树。注:在满二叉树中,从最后一个结点开始,连续去掉任意个结点,即是一棵完全二叉树,一定是连续的去掉!!!特点:叶子只可能分布在层次最大的两层上。对任一结点,如果其右子树的最大层次为i,则其左子树的最大层次为i
特殊矩阵的压缩存储矩阵:一个由mxn个元素排列成的m列n行的表。矩阵的常规存储的特点:可以对其元素进行随机存储;矩阵运算非常简单;存储密度为1;不适宜常规存储的矩阵:值相同的元素很多且呈某种规律分布;零元素多。矩阵的压缩存储:为多个相同的非零元素只分配一个存储;对零元素不分配空间。什么是压缩存储?若多个数据元素的值都相同,则只分配一个元素值的存储空间,且零元素不占存储空间。什么样的矩阵能够压缩?一些特殊矩阵,如:对称矩阵,对角矩阵,三角矩阵,稀疏矩阵等。什么叫稀疏矩阵?矩阵中非零元素的个数较少(一般小于5%)对称矩阵【特点】在nxn矩阵a中,满足如下性质:aij=aji(1【存储方法】只存储下
广义表定义:广义表(又称列表Lists)是n>=0个元素a0,a1,...,an-1的有限序列,其中每一个ai或者是原子,或者是一个广义表。广义表通常记作:LS=(a1,a2,...,an)其中:LS为表名,n为表的长度,每一个ai为表的元素。习惯上,一般用大写字母表示广义表,小写字母表示原子。表头:若LS非空(n>=1),则其中第一个元素a1就是表头。记作head(LS)=a1。注:表头可以是原子,也可以是子表。表尾:除表头之外的其他元素组成的表。记作tail(LS)=(a2,...,an)。注:表尾不是最后一个元素,而是一个子表。广义表的性质广义表中的数据元素有相对次序,一个直接前驱和一个