当前位置: 首页 > news >正文

网站开发设计价格html简单百度网页代码

网站开发设计价格,html简单百度网页代码,百度网址大全网址导航大全,昆明seo排名第一章 数据结构与算法 一.算法的基本概念计算机解题的过程实际上是在实施某种算法#xff0c;这种算法称为计算机算法。 1.算法的基本特征#xff1a;可行性#xff0c;确定性#xff0c;有穷性#xff0c;拥有足够的情报。 2.算法的基本要素#xff1a;算法中对数据的运… 第一章 数据结构与算法 一.算法的基本概念计算机解题的过程实际上是在实施某种算法这种算法称为计算机算法。 1.算法的基本特征可行性确定性有穷性拥有足够的情报。 2.算法的基本要素算法中对数据的运算和操作、算法的控制结构。 3.算法设计的基本方法列举法、归纳法、递推、递归、减半递推技术、回溯法。 4.算法设计的要求正确性、可读性、健壮性、效率与低存储量需求 二.算法的复杂度1.算法的时间复杂度指执行算法所需要的计算工作量 2.算法的空间复杂度执行这个算法所需要的内存空间 三.数据结构的定义1.数据的逻辑结构反映数据元素之间的关系的数据元素集合的表示。数据的逻辑结构包括集合、线形结构、树形结构和图形结构四种。 2.数据的存储结构数据的逻辑结构在计算机存储空间种的存放形式称为数据的存储结构。常用的存储结构有顺序、链接、索引等存储结构。 四.数据结构的图形表示在数据结构中没有前件的结点称为根结点没有后件的结点成为终端结点。插入和删除是对数据结构的两种基本运算。还有查找、分类、合并、分解、复制和修改等。 五.线性结构和非线性结构根据数据结构中各数据元素之间前后件关系的复杂程度一般将数据结构分为两大类型线性结构和非线性结构。 线性结构非空数据结构满足有且只有一个根结点每个结点最多有一个前件最多只有一个后件。非线性结构如果一个数据结构不是线性结构称之为非线性结构。 常见的线性结构线性表、栈、队列 六.线性表的定义线性表是n 个元素构成的有限序列A1A2A3……。表中的每一个数据元素除了第一个以外有且只有一个前件。除了最后一个以外有且只有一个后件。即线性表是一个空表或可以表示为a1,a2,……an, 其中ai(I1,2,……n)是属于数据对象的元素通常也称其为线性表中的一个结点。 非空线性表有如下一些特征 1有且只有一个根结点a1,它无前件 2有且只有一个终端结点an它无后件 3除根结点与终端结点外其他所有结点有且只有一个前件也有且只有一个后件。线性表中结点的个数n称为线性表的长度。当n0时称为空表。 七.线性表的顺序存储结构线性表的顺序表指的是用一组地址连续的存储单元依次存储线性表的数据元素。 线性表的顺序存储结构具备如下两个基本特征 1.线性表中的所有元素所占的存储空间是连续的 2.线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 即线性表逻辑上相邻、物理也相邻则已知第一个元素首地址和每个元素所占字节数则可求出任一个元素首地址。 假设线性表的每个元素需占用K个存储单元并以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表中第i1个数据元素的存储位置LOC(ai1)和第i个数据元素的存储位置LOC(ai)之间满足下列关系: LOC(ai1)LOC(ai)K LOC(ai)LOC(a1)(i-1)*K     ① 其中LOC(a1)是线性表的第一个数据元素a1的存储位置通常称做线性表的起始位置或基地址。 因为在顺序存储结构中每个数据元素地址可以通过公式①计算得到所以线性表的顺序存储结构是随机存取的存储结构。 在线性表的顺序存储结构下可以对线性表做以下运算 插入、删除、查找、排序、分解、合并、复制、逆转 八.顺序表的插入运算线性表的插入运算是指在表的第I个位置上插入一个新结点x使长度为n的线性表a1,a2 …ai…an变成长度为n1的线性表(a1,a2…x,ai…an). 该算法的时间主要花费在循环的结点后移语句上执行次数是n-I1。 当In1,最好情况时间复杂度o(1) 当I1, 最坏情况时间复杂度o(n) 算法的平均时间复杂度为o(n) 九.顺序表的删除运算线性表的删除运算是指在表的第I个位置上删除一个新结点x使长度为n的线性表a1,a2 …ai…an变成长度为n-1的线性表(a1,a2…ai-1,ai1…an). 当In,时间复杂度o(1),当I1,时间复杂度o(n) ,平均时间复杂度为o(n) 十.栈及其基本运算1.什么是栈 栈实际上也是一个线性表只不过是一种特殊的线性表。栈是只能在表的一端进行插入和删除运算的线性表通常称插入、删除这一端为栈顶TOP另一端为栈底BOTTOM。当表中没有元素时称为空栈。栈顶元素总是后被插入的元素从而也是最先被删除的元素栈底元素总是最先被插入的元素从而也是最后才能被删除的元素。 假设栈Sa1,a2,a3,……an则a1 称为栈底元素an称为栈顶元素。栈中元素按a1,a2,a3……an的次序进栈退栈的第一个元素应该是栈顶元素。即后进先出。 2.栈的顺序存储及其运算 用S1M作为栈的顺序存储空间。M为栈的最大容量。 栈的基本运算有三种入栈、退栈与读栈顶元素。 入栈运算在栈顶位置插入一个新元素。 首先将栈顶指针进一TOP1然后将新元素插入到栈顶指针指向的位置。 退栈运算指取出栈顶元素并赋给一个指定的变量。 首先将栈顶元素赋给一个指定的变量然后将栈顶指针退一TOP-1 读栈顶元素将栈顶元素赋给一个指定的变量。栈顶指针不会改变。 十一.队列及其基本运算1.什么是队列 队列是只允许在一端删除在另一端插入的顺序表允许删除的一端叫做对头允许插入的一端叫做对尾。 队列的修改是先进先出。往队尾插入一个元素成为入队运算。从对头删除一个元素称为退队运算。 2.循环队列及其运算 在实际应用中队列的顺序存储结构一般采用循环队列的形式。所谓循环队列就是将队列存储空间的最后一个位置绕到第一个位置形成逻辑上的环状空间。在循环队列中用队尾指针rear指向队列中的队尾元素用排头指针front指向排头元素的前一个位置因此从排头指针front指向的后一个位置直到队尾指针 rear指向的位置之间所有的元素均为队列中的元素。 在实际使用循环队列时为了能区分队满还是队列空通常需要增加一个标志S 队列空则S0rearfrontm     队列满则S1rearfrontm 循环队列主要有两种基本运算入队运算和退队运算 n      入队运算 指在循环队列的队尾加入一个新元素首先rearrear1,当rearm1时置rear1,然后将新元素插入到队尾指针指向的位置。当S1rearfront,说明队列已满不能进行入队运算称为“上溢”。 n      退队运算 指在循环队列的排头位置退出一个元素并赋给指定的变量。首先frontfront1,并当frontm1时置front1,然后将排头指针指向的元素赋给指定的变量。当循环队列为空S0不能进行退队运算这种情况成为“下溢”。 十二.线性单链表的结构及其基本运算1.线性单链表的基本概念 一组任意的存储单元存储线性表的数据元素因此为了表示每个数据元素ai与其直接后继数据元素ai1之间的逻辑关系对数据元素ai来说除了存储其本身的信息之外还需存储一个指示其直接后继的信息即直接后继的存储位置。这两部分信息组成数据元素ai的存储映象成为结点。它包括两个域其中存储数据元素信息的域称为数据域存储直接后继存储位置的域称为指针域。指针域中存储的信息称做指针或链。N个结点链结成一个链表即为线性表(a1, a2,……,an)的链式存储结构。又由于此链表的每个结点中只包含一个指针域故又称线性链表或单链表。 有时我们在单链表的第一个结点之前附设一个结点称之为头结点它指向表中第一个结点。头结点的数据域可以不存储任何信息也可存储如线性表的长度等类的附加信息头结点的指针域存储指向第一个结点的指针即第一个元素结点的存储位置。 在单链表中取得第I个数据元素必须从头指针出发寻找因此单链表是非随机存取的存储结构   链表的形式单向双向 2.线性单链表的存储结构 3带链 3.带列的栈与队列 栈也是线性表也可以采用链式存储结构。 队列也是线性表也可以采用链式存储结构。 十三.线性链表的基本运算 1.线性链表的插入 2.线性链表的删除 十四.双向链表的结构及其基本运算 在双向链表的结点中有两个指针域其一指向直接后继另一指向直接前驱。 十五.循环链表的结构及其基本运算是另一种形式的链式存储结构它的特点是表中最后一个结点的指针域指向头结点整个链表形成一个环。因此从表中任一结点出发均可找到表中其他结点。 十六.树的定义树是一种简单的非线性结构。树型结构的特点 1.每个结点只有一个前件称为父结点没有前件的结点只有一个称为树的根结点。 2.每一个结点可以有多个后件结点称为该结点的子结点。没有后件的结点称为叶子结点 3.一个结点所拥有的后件个数称为树的结点度 4.树的最大层次称为树的深度。 十七.二叉树的定义及其基本性质1.二叉树是另一种树型结构它的特点是每个结点至多只有二棵子树即二叉树中不存在度大于2的结点并且二叉树的子树有左右之分其次序不能任意颠倒。 2.二叉树的基本性质 ①在二叉树的第I层上至多有2i-1个结点。 ②深度为k的二叉树至多有2k-1个结点(k1) ③在任意一个二叉树中度为0的结点总是比度为2的结点多一个 ④具有n 个结点的二叉树其深度至少为[log2n]1。 一棵深度为k且有2k-1个结点的二叉树称为满二叉树。这种树的特点是每一层上的结点数都是最大结点数。 3.满二叉树与完全二叉树 满二叉树除最后一层以外每一层上的所有结点都有两个子结点。在满二叉树的第K层上有2K-1个结点且深度为M的满二叉树右2M-1个结点 完全二叉树除最后一层以外每一层上的结点数均达到最大值在最后一层上只缺少右边的若干结点。具有N个结点的完全二叉树的深度为[log2n]1 完全二叉树总结点数为N 若N为奇数则叶子结点数为N1/2 若N为偶数则叶子结点数为N/2 4.二叉树的存储结构 二叉树通常采用链式存储结构 十八.二叉树的遍历就是遵从某种次序访问二叉树中的所有结点使得每个结点仅被访问一次。一般先左后右。 1.前序遍历DLR 首先访问根结点然后遍历左子树最后遍历右子树。 2.中序遍历LDR 首先遍历左子树然后根结点最后右子树 3.后序遍历LRD 首先遍历左子树然后遍历右子树最后访问根结点。 十九.顺序查找与二分查找1.顺序查找 在两种情况下只能用顺序查找线性表为无序表、链式存储结构的有序表 2.二分查找 只适用于顺序存储的有序表从小到大。 对于长度为N的有序线性表在最坏情况下二分查找只需要比较log2N次而顺序查找要比较N次。 排序指将一个无序序列整理成按值非递减顺序排列的有序序列。 二十.交换类排序法冒泡排序与快速排序法属于交换类的排序方法 1.冒泡排序法 假设线性表的长度为N则在最坏的情况下冒跑排序需要经过N/2遍的从前往后的扫描和N/2遍的从后往前的扫描需要的比较次数为NN-1/2 2.快速排序法 二十一.选择类排序法 1.简单选择排序法 2.堆排序法 二十三.插入类排序法 1.简单插入排序法2.希尔排序法            最坏情况下      最好情况下      说明 交换排序      冒泡排序      n(n-1)/2            最简单的交换排序。在待排序的元素序列基本有序的前提下效率最高      快速排序      n(n-1)/2      O(Nlog2 N)      插入排序      简单插入排序      n(n-1)/2            每个元素距其最终位置不远时适用      希尔排序      O(n1.5)            选择排序      简单选择排序      n(n-1)/2                 堆排序      O(nlog2n)            适用于较大规模的线性表 练习1.栈和队列的共同特点是只允许在端点处插入和删除元素 2.如果进栈序列为e1,e2,e3,e4则可能的出栈序列是e2,e4,e3,e1 3.栈底至栈顶依次存放元素A、B、C、D在第五个元素E入栈前栈中元素可以出栈则出栈序列可能是DCBEA 4.栈通常采用的两种存储结构是线性存储结构和链表存储结构 5.下列关于栈的叙述正确的是D      A.栈是非线性结构B.栈是一种树状结构C.栈具有先进先出的特征D.栈有后进先出的特征 6.链表不具有的特点是BA.不必事先估计存储空间       B.可随机访问任一元素 C.插入删除不需要移动元素      D.所需空间与线性表长度成正比 7.用链表表示线性表的优点是便于插入和删除操作 8.在单链表中增加头结点的目的是方便运算的实现 9.循环链表的主要优点是从表中任一结点出发都能访问到整个链表 10.线性表La1,a2,a3,……ai,……an下列说法正确的是D      A.每个元素都有一个直接前件和直接后件   B.线性表中至少要有一个元素      C.表中诸元素的排列顺序必须是由小到大或由大到小      D.除第一个和最后一个元素外其余每个元素都有一个且只有一个直接前件和直接后件 11.线性表若采用链式存储结构时要求内存中可用存储单元的地址D A.必须是连续的 B.部分地址必须是连续的C.一定是不连续的 D.连续不连续都可以 12.线性表的顺序存储结构和线性表的链式存储结构分别是随机存取的存储结构、顺序存取的存储结构 13.树是结点的集合它的根结点数目是有且只有1 14.在深度为5的满二叉树中叶子结点的个数为31 15.具有3个结点的二叉树有5种形态 16.设一棵二叉树中有3个叶子结点有8个度为1的结点则该二叉树中总的结点数为13 17.已知二叉树后序遍历序列是dabec中序遍历序列是debac它的前序遍历序列是cedba 18.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF则该二叉树的后序遍历为DGEBHFCA 19.若某二叉树的前序遍历访问顺序是abdgcefh中序遍历访问顺序是dgbaechf则其后序遍历的结点访问顺序是gdbehfca 20.数据库保护分为安全性控制、 完整性控制 、并发性控制和数据的恢复。 1. 在计算机中算法是指解题方案的准确而完整的描述 2.在下列选项中哪个不是一个算法一般应该具有的基本特征无穷性 说明算法的四个基本特征是可行性、确定性、有穷性和拥有足够的情报。 3. 算法一般都可以用哪几种控制结构组合而成顺序、选择、循环 4.算法的时间复杂度是指算法执行过程中所需要的基本运算次数 5. 算法的空间复杂度是指执行过程中所需要的存储空间 6. 算法分析的目的是分析算法的效率以求改进 7. 下列叙述正确的是C A算法的执行效率与数据的存储结构无关 B算法的空间复杂度是指算法程序中指令或语句的条数 C算法的有穷性是指算法必须能在执行有限个步骤之后终止 D算法的时间复杂度是指执行算法程序所需要的时间 8.数据结构作为计算机的一门学科主要研究数据的逻辑结构、对各种数据结构进行的运算以及数据的存储结构 9. 数据结构中与所使用的计算机无关的是数据的C A存储结构   B物理结构     C逻辑结构     D物理和存储结构 10. 下列叙述中错误的是B A数据的存储结构与数据处理的效率密切相关 B数据的存储结构与数据处理的效率无关 C数据的存储结构在计算机中所占的空间不一定是连续的 D一种数据的逻辑结构可以有多种存储结构 11. 数据的存储结构是指数据的逻辑结构在计算机中的表示 12. 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构 13. 根据数据结构中各数据元素之间前后件关系的复杂程度一般将数据结构分为线性结构和非线性结构 14. 下列数据结构具有记忆功能的是CA队列B循环队列C栈D顺序表 15. 下列数据结构中按先进后出原则组织数据的是B A线性链表   B栈            C循环链表        D顺序表 16. 递归算法一般需要利用队列实现。 17. 下列关于栈的叙述中正确的是DA在栈中只能插入数据B在栈中只能删除数据 C栈是先进先出的线性表            D栈是先进后出的线性表 18. 栈底至栈顶依次存放元素A、B、C、D在第五个元素E入栈前栈中元素可以出栈则出栈序列可能是DCBEA 19.如果进栈序列为e1,e2,e3,e4则可能的出栈序列是e2,e4,e3,e1 20.  由两个栈共享一个存储空间的好处是节省存储空间降低上溢发生的机率 21.  应用程序在执行过程中需要通过打印机输出数据时一般先形成一个打印作业将其存放在硬盘中的一个指定队列中当打印机空闲时就会按先来先服务的方式从中取出待打印的作业进行打印。 22.下列关于队列的叙述中正确的是CA在队列中只能插入数据 B在队列中只能删除数据   C队列是先进先出的线性表            D队列是先进后出的线性表 23.下列叙述中正确的是DA线性链表中的各元素在存储空间中的位置必须是连续的 B线性链表中的表头元素一定存储在其他元素的前面 C线性链表中的各元素在存储空间中的位置不一定是连续的但表头元素一定存储在其他元素的前面 D线性链表中的各元素在存储空间中的位置不一定是连续的且各元素的存储顺序也是任意的 24.下列叙述中正确的是AA线性表是线性结构      B栈与队列是非线性结构 C线性链表是非线性结构                                 D二叉树是线性结构 25. 线性表La1,a2,a3,……ai,……an下列说法正确的是D A每个元素都有一个直接前件和直接后件      B线性表中至少要有一个元素 C表中诸元素的排列顺序必须是由小到大或由大到小D除第一个元素和最后一个元素外其余每个元素都有一个且只有一个直接前件和直接后件 26.线性表若采用链式存储结构时要求内存中可用存储单元的地址连续不连续都可以 27. 链表不具有的特点是BA不必事先估计存储空间            B可随机访问任一元素 C插入删除不需要移动元素            D所需空间与线性表长度成正比 28. 非空的循环单链表head的尾结点由p所指向满足p-nexthead 29.与单向链表相比双向链表的优点之一是更容易访问相邻结点 30. 在D中只要指出表中任何一个结点的位置就可以从它出发依次访问到表中其他所有结点。A线性单链表            B双向链表            C线性链表            D循环链表 31. 以下数据结构属于非线性数据结构的是CA队列      B线性表C二叉树      D栈 32.树是结点的集合它的根结点数目是有且只有1 33.具有3个结点的二叉树有5种形态 34. 在一棵二叉树上第8层的结点数最多是128 注2K-1 35. 在深度为5的满二叉树中叶子结点的个数为16 注2n-1 36. 在深度为5的满二叉树中共有31个结点。 注2n1 37.设一棵完全二叉树共有699个结点则在该二叉树中的叶子结点数为350 说明完全二叉树总结点数为N若N为奇数则叶子结点数为N1/2若N为偶数则叶子结点数为N/2。 38. 设有下列二叉树对此二叉树中序遍历的结果是B AABCDEF      BDBEAFC CABDECF      DDEBFCA 39.已知二叉树后序遍历序列是dabec中序遍历序列debac它的前序遍历序列是cedba 40. 已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF则该二叉树的后序遍历为DGEBHFCA 41.若某二叉树的前序遍历访问顺序是abdgcefh中序遍历访问顺序是dgbaechf则其后序遍历的结点访问顺序是gdbehfca 42. 串的长度是串中所含字符的个数 43.设有两个串p和q求q在p中首次出现位置的运算称做模式匹配 44. N个顶点的连通图中边的条数至少为N-1 45.N个顶点的强连通图的边数至少有N 46.对长度为n的线性表进行顺序查找在最坏情况下所需要的比较次数为N 47. 最简单的交换排序方法是冒泡排序 48.假设线性表的长度为n则在最坏情况下冒泡排序需要的比较次数为n(n-1)/2 49. 在待排序的元素序列基本有序的前提下效率最高的排序方法是冒泡排序 50. 在最坏情况下下列顺序方法中时间复杂度最小的是堆排序 51. 希尔排序法属于插入类排序 52. 堆排序法属于选择类排序 53. 在下列几种排序方法中要求内存量最大的是归并排序 54.  已知数据表A中每个元素距其最终位置不远为节省时间应采用直接插入排序 55. 算法的基本特征是可行性、确定性、 有穷性   和拥有足够的情报。 1.一个算法通常由两种基本要素组成一是对数据对象的运算和操作二是算法的控制结构。 1. 算法的复杂度主要包括时间复杂度和 空间 复杂度。 2.  实现算法所需的存储单元多少和算法的工作量大小分别称为算法的空间复杂度和时间复杂度 。 3.所谓数据处理是指对数据集合中的各元素以各种方式进行运算包括插入、删除、查找、更改等运算也包括对数据元素进行分析。 4.数据结构是指相互有关联的 数据元素 的集合。 5.数据结构分为逻辑结构与存储结构线性链表属于 存储结构 。 6.数据结构包括数据的 逻辑 结构和数据的存储结构。 7. 数据结构包括数据的逻辑结构、数据的 存储结构 以及对数据的操作运算。 8.数据元素之间的任何关系都可以用 前趋和后继 关系来描述。 9.数据的逻辑结构有线性结构和非线性结构两大类。 10.常用的存储结构有顺序、链接、 索引 等存储结构。 11. 顺序存储方法是把逻辑上相邻的结点存储在物理位置   相邻 的存储单元中。 12. 栈的基本运算有三种入栈、退栈与读栈顶元素 。 13. 队列主要有两种基本运算入队运算与 退队运算 。 14. 在实际应用中带链的栈可以用来收集计算机存储空间中所有空闲的存储结点这种带链的栈称为 可利用栈 。 15.栈和队列通常采用的存储结构是 链式存储和顺序存储   。 16.当线性表采用顺序存储结构实现存储时其主要特点是 逻辑结构中相邻的结点在存储结构中仍相邻 。 17. 循环队列主要有两种基本运算入队运算与退队运算。每进行一次入队运算队尾指针就 进1 。 18.当循环队列非空且队尾指针等于对头指针时说明循环队列已满不能进行入队运算。这种情况称为 上溢   。 19.当循环队列为空时不能进行退队运算这种情况称为 下溢 。 20. 在一个容量为25的循环队列中若头指针front16尾指针rear9则该循环队列中共有 18 个元素。注当rearfront时元素个数总容量frontrear 当rearfront时元素个数rearfront。 21. 在一个容量为15的循环队列中若头指针front6尾指针rear9则该循环队列中共有3 个元素。 22.顺序查找一般是指在 线性表 中查找指定的元素。 23.在计算机中存放线性表一种最简单的方法是 顺序存储 。 24.在程序设计语言中通常定义一个 一维数组 来表示线性表的顺序存储空间。 25.在链式存储方式中要求每个结点由两部分组成一部分用于存放数据元素值称为数据域另一部分用于存放指针称为 指针域 。其中指针用于指向该结点的前一个或 后一个结点即前件或后件。 26.在 线性单链表中 每一个结点只有一个指针域由这个指针只能找到后继结点但不能找到前驱结点。 27. 为了要在线性链表中插入一个新元素首先要给该元素分配一个 新结点 以便用于存储该元素的值。 28. 在线性链表中删除一个元素后只需要改变被删除元素所在结点的前一个结点的 指针域 即可。 29. 用链表表示线性表的突出优点是 便于插入和删除操作 。 30. 在树形结构中树根结点没有   前件 。 31. 在树结构中一个结点所拥有的后件个数称为该结点的度。叶子结点的度为 0 。 32. 设一棵二叉树中有3个叶子结点8个度为1的结点则该二叉树中总的结点数为 13。 33. 设一棵完全二叉树共有739个结点则在该二叉树中有 370 个叶子结点。 34. 设一棵完全二叉树共有700个结点则在该二叉树中有 350 个叶子结点。 35. 在先左后右的原则下根据访问根结点的次序二叉树的遍历可以分为三种前序遍历、 中序 遍历和后序遍历。 36.  若串SProgram则其子串的数目是 29 。 注n(n1)/21 37.  若串S”MathTypes”则其子串的数目是 46 。 38. 对长度为n的线性表进行插入一个新元素或删除一个元素时在最坏情况下所需要的比较次数为 n 。 39.  在长度为n的有序线性表中进行顺序查找。最坏的情况下需要的比较次数为   n   。 40.  在长度为n的有序线性表中进行二分查找。最坏的情况下需要的比较次数为 log2n 。 41. 长度为n的顺序存储线性表中当在任何位置上插入一个元素概率都相等时插入一个元素所需移动元素的平均个数为 n/2 。 42.  排序是计算机程序设计中的一种重要操作常见的排序方法有插入排序、 交换排序 和选择排序等。 43. 快速排序法可以实现通过一次交换而消除多个 逆序 。 44. 快速排序法的关键是对线性表进行 分割 。 45. 冒泡排序算法在最好的情况下的元素交换次数为 0 。 46. 在最坏情况下冒泡排序的时间复杂度为 n(n-1) /2 。 47.  对于长度为n的线性表在最坏情况下快速排序所需要的比较次数为 n(n-1) /2 。 48.在最坏情况下简单插入排序需要比较的次数为 n(n-1) /2 。 49.在最坏情况下希尔排序需要比较的次数为 O(n1.5) 。注括号里是n的1.5次方。 50. 在最坏情况下简单选择排序需要比较的次数为 n(n-1) /2 。 51. 在最坏情况下堆排序需要比较的次数为 o(nlog2n) 。 52.对于输入为N个数进行快速排序算法的平均时间复杂度是 O(Nlog2 N)。   第二章 程序设计基础 一.程序设计方法与风格当今主导的程序设计风格是“清晰第一效率第二”的观点。 1.在结构化程序设计思想提出之前在程序设计中曾强调程序的效率。与程序的效率相比人们更重视程序的( C )。 A.安全性   B.一致性 C.可理解性D.合理性 2.对建立良好的程序设计风格,下面的描述正确的是(A ) A.程序应简单、清晰、可读性好 B.符号名的命名只要符合语法   C.充分考虑程序的执行效率     D.程序的注释可有可无 3. 在设计程序时应采纳的原则之一是( D)。A.不限制GOTO语句的使用 B.减少或取消注解行     C.程序越短越好     D.程序结构应有助于读者理解 4.程序应该简单易懂语句构造应该简单直接不应该为提高效率而把语句复杂化。 5.源程序文档化要求程序应加注释注释一般分为序言性注释和 功能性注释 。 6.在编写程序时需要注意 数据说明 的风格以便使程序中的数据说明更易理解和维护。 7.当程序设计语言对输入格式有严格要求时应保持输入格式与输入语句的一致性   程序设计语言的基本成分是数据成分、运算成分、控制成分和(传输成分)。 二.结构化程序设计1结构化程序设计的原则 8.结构化程序设计方法的主要原则是自顶向下、逐步求精、模块化、限制使用goto语句   2结构化程序的基本结构与特点 9.结构化程序设计主要强调的是(B)     A.程序的规模     B.程序的易读性       C.程序的执行效率 D.程序的可移植性 10.结构化程序设计的3种结构是(顺序结构、选择结构、循环结构)。 结构化程序设计方法是程序设计的先进方法和工具。下面为三种基本的控制结构 顺序结构是一种简单的程序设计它是最基本最常用的结构 选择结构又称为分支结构包括简单选择和多分支选择结构 重复结构又称循环结构有两类循环语句当型循环结构先判断后执行循环体和直到型循环结构先执行循环体后判断 按结构化程序设计方法设计出的程序具有两大明显的优点1、程序易于理解、使用和维护。2、提高了编程工作效率降低了软件开发成本。 3.结构化程序设计原则和方法的应用 11.结构化程序设计的主要特点是每个控制结构只有一个入口和一个出口 12.下列叙述中不属于结构化程序设计方法的主要原则的是(B)。 A.自顶向下   B.由底向上   C.模块化   D.限制使用GOTO语句 在结构化程序设计的具体实施中,要注意如下要素: 使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑选用的控制结构只准许的一个入口和一个出口程序语句组成容易识别的块每块只有一个入口和一人出口复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现语言中所没有的控制结构应该采用前后一致的方法来模拟严格控制GOTO语句的使用。其意思有三1.用一个非结构化的程序设计语言去实现一个结构化的构造2.如不使用GOTO语句会使功能模糊3.在某种可以改善而不是损害程序可读性的情况下。 三.面向对象的程序设计1. 关于面向对象方法 25.面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个 实体 传统的程序设计方法是面向过程的其核心方法是以 算法 为核心。面向对象方法和技术以 对象 为核心。对象是由 数据 和 容许的操作 组成的封装体与客观实体有直接的对应关系。对象之间通过传递 消息 互相联系以模拟现实世界中不同事物彼此之间的联系。   面向对象方法基于构造问题领域的对象模型以对象为中心构造软件系统。它的基本作法是用 对象 模拟问题领域中的实体以 对象间的联系 刻画实体间的联系。   软件重用 是指在不同的软件开发过程中重复使用相同的或者相似软件元素的过程。   重用是提高软件生产率的最主要的方法。 2. 面向对象方法的基本概念对象、类、消息、继承、多态性 13.面向对象的模型中最基本的概念是对象和 类 14.类是一个支持集成的抽象数据类型而对象是类的 实例 对象面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体是构成系统一个基本单位它由一组表示静态特征的属性和它可执行的一组操作组成。是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。   属性是对象所包含的信息它在设计对象时确定一般只能通过执行对象的操作来改变。   操作描述了对象执行的功能若通过信息传递还可为其它对象使用。操作过程对外是封闭的用户只能看到这一操作实施后的结果对象的这一特性即是对象的封装体。 15.对象实现了数据和操作的结合是指对数据和数据的操作进行(封装)。 16.封装是一种信息屏蔽技术封装的目的是使对象的定义和实现分离。 17.以下不属于对象的基本特点的是(C)。 A.分类性   B.多态性   C.继承性   D.封装性 对象有如下一些基本特点即标识惟一性、分类性、多态性、封装性和模块独立性。 18.下面关于对象的描述错误的是AA.任何对象都必须有继承性B.对象是属性和方法的封装体         C.对象间的通迅靠消息传递   D.操作是对象的动态属性 19.信息隐蔽的概念与下述哪能一种概念直接相关模块独立性 20.可以把具有相同属性的一些不同对象归类称为   对象类   。 类是具有其同属性、共同方法的对象的集合。所以类是对象的抽象这描述了属于该对象类型的所有对象的性质而一个对象则是其对应类的一个实例。类同对象一样包括一组数据属性和在数据上的一组合法操作。 对象可以是一个具体的对象也可以是泛指一般的对象而实例必然是指一个具体的对象。 21.在面向对象方法中一个对象请求另一对象为其服务的方式是通过发送(消息) 消息面向对象的世界是通过对象与对象间彼此的相合合作来推动的对象间这种合作需要一个机制协助进行这样的机制称为“消息”。消息就是一个实例与另一个实例之间传递的信息它统一了数据流和控制流。一个消息由下述三部分组成1、接收消息的对象的名称。 2、消息标识符即消息名3、零个或多个参数。 22.在面向对象方法中类之间共享属性和操作的机制称为   继承   。 23.一个类可以从直接或间接的祖先中继承所有属性和方法。采用此方法提高了软件的可重用性 继承是面向对象方法的一个主要特征。继承是使用已有的定义作为基础建立新类的定义技术。也就是说继承是指能够直接获得已有的功能和突出的优点而不必重复定义它们。   继承具有传递性可分为单继承与多重继承。单继承是指一个类只允许有一人父类即类等级为树形结构。多重继承是指一个类允许有多个父类。多态性对象根据所接受的消息而做出动作同样的消息被不同的对象接受时可导致完全不同的行动这种现象即为多态性。多态性机制可提高软件系统的灵活性可重用性和可扩充性。 24.子程序通常分为两类 过程   和函数前者是命令的抽象后者是为了求值。   第三章 软件工程重点需求分析、概要设计、详细设计、软件测试和软件调试的作用、方法等   一、 软件工程基本概念 1. 软件是计算机系统中与硬件相互依存的重要部分包括程序、数据及相关的 文档 。其中程序 是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令语句序列。 2. 下列叙述中正确的是(D)。 A.软件就是程序清单   B.软件就是存放在计算机中的文件 C.软件应包括程序清单及运行结果     D.软件包括程序和文档  3. 软件按功能可以分为应用软件、系统软件、支撑软件或工具软件 4. 软件工程的出现是由于软件危机的出现 5. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾这种现象称做软件危机 软件工程概念的出现源自软件危机。所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。总之可以将软件危机归结为成本、质量、生产率等问题。 6. 开发大型软件时产生困难的根本原因是(大型系统的复杂性)。 7. 软件危机出现于20世纪60年代末为了解决软件危机人们提出了 软件工程学 的原理来设计软件这就是软件工程诞生的基础。 8. 下列不属于软件工程的3个要素的是D A.工具   B.过程   C.方法   D.环境 软件工程过程与软件生命周期 9. 软件工程过程是把输入转化为输出的一组彼此相关的 资源 和活动。通常将软件产品从提出、实现、使用维护到停止使用退役的过程称为 软件生命周期 10.软件生命周期中所花费用最多的阶段是软件维护 11.软件开发的结构化生命周期方法将软件生命周期划分成(定义、开发、运行维护)。        12. 软件生命周期一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。 软件工程的目标与原则 13. 软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理。软件开发技术包括软件开发方法学、开发过程、开发工具和软件工程环境主体内容是软件开发方法学。软件工程管理包括软件管理学、软件工程经济学、软件心理学等内容。 14. 软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理         15. 软件工程的原则包括抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性和可验证性。 软件开发工具与软件开发环境 16. 开发软件时对提高开发人员工作效率至关重要的是先进的软件开发工具和环境       17. 软件开发环境是全面支持软件开发全过程的 软件工具 集合。 常用的软件开发方法和技术可以分为三大类瀑布型、增量型和变换型。瀑布型开发方法将软件生命周期的各项活动规定为按固定顺序连接的若干阶段强调早期的需求分析和开发的阶段性强调产品测试但是不能适应需求的变化。增量型则先建立一个不完全的系统通过对需求的理解再进一步扩充和完善。 例瀑布模型突出的缺点是不适应D的变动 A.算法B.平台C)程序语言D.用户需求 二、结构化分析方法   需求分析与需求分析方法 18. 在软件生产过程中需求信息的给出是(软件用户)。 19. 需求分析中开发人员要从用户那里了解(软件做什么)。 20. 需求分析阶段的任务是确定 (软件系统功能) 21. 需求分析的任务是发现需求、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和 控制模型 22. 需求分析阶段的工作需求获取、需求分析、编写需求规格说明书、需求评审 下列工具中属于需求分析常用工具的是(D)。 A)PAD     B)PFD     C)N—S     D)DFD 结构化分析方法 常用的需求分析方法 1结构化分析方法。主要包括面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)和面向数据结构的结构化数据系统开发方法(DSSD) 2面向对象的分析方法(OOA) 23. 结构化方法的核心和基础是 结构化程序设计理论 24. 下列不属于结构化分析的常用工具的是(D)。 A)数据流图   B)数据字典   C)判定树   D)PAD图 25. 在结构化方法中用数据流程图DFD作为描述工具的软件开发阶段是 (B) A)可行性分析 B)需求分析   C)详细设计   D)程序编码 26. 数据流图用于抽象描述一个软件的逻辑模型数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A)。 A)控制流   B)加工   C)数据存储   D)源和潭 说明数据流图中的主要图形元素与说明 27. 在数据流图(DFD)中的箭头代表的是(数据流) 28. 在数据流图(DFD)中带有名字的箭头表示(数据的流向)。 29. 在结构化分析方法中用于描述系统中所用到的全部数据和文件的文档称为 数据字典 软件需求规格说明书 30. 软件需求规格说明书 是需求分析阶段的最后结果 31. 下列叙述中不属于软件需求规格说明书的作用的是D A.便于用户、开发人员进行理解和交流            B.反映出用户问题的结构可以作为软件开发工作的基础和依据                   C.作为确认测试和验收的依据     D.便于开发人员进行需求分析 32. (数据描述)是对软件系统所必须解决的问题做出的详细说明 说明需求规格说明书一般包括以下内容概述、数据描述、性能描述、功能描述、参考文献目录等。其中概述从系统角度描述软件的目标和任务功能描述中描述了为解决用户问题所需要的每一项功能的过程细节性能描述说明系统应达到的性能和应该满足的限制条件、检测的方法和标准。 三、     结构化设计方法 软件设计的基本概念 33. 在软件开发中下面任务不属于设计阶段的是(D) A)数据结构设计 B) 给出系统模块结构 C)定义模块算法 D)定义需求并建立系统模型 34. 软件设计包括软件的结构、数据、接口和过程设计其中软件的过程设计是指(系统结构部件转换成软件的过程描述)。 说明结构设计定义软件系统各主要部件之间的关系数据设计将分析时创建的模型转化为数据结构的定义接口定义描述软件内部、软件和协作系统之间以及软件与人之间如何通信过程设计把系统结构部件转换成软件的过程性描述。 35. 下面不属于软件设计原则的是CA.抽象 B.模块化   C.自底向上   D.信息隐藏     36. 耦合和内聚是评价模块独立性的两个主要标准其中   内聚 反映了模块内各成分之间的联系耦合反映了模块间互相连接的紧密程度。  37. 内聚性是信息隐蔽和局部化概念的自然扩展一个模块的内聚性越强则该模块的模块独立性越 强 。一个模块与其它模块的耦合性越强则它的模块独立性越 弱 。                  38. 下列叙述中正确的是C A.接口复杂的模块其耦合程度一定低       B.耦合程度弱的模块其内聚程度一定低   C.耦合程度弱的模块其内聚程度一定高     D.以上都不对 39.下列选项中不属于模块间耦合的是(B)。A.数据耦合B.同构耦合C.异构耦D.公用耦合40.软件设计中有利于提高模块独立性的一个准则是( C)。 A.低内聚低耦合   B.低内聚高耦合   C.高内聚低耦合   D.高内聚高耦合 概要设计 41. 软件的概要 设计又称为总体结构设计其主要任务是建立软件系统的总体结构设计数据结构及数据库编写概要设计文档概要设计文档评审。 42. 在结构化方法中软件功能分解属于下列软件开发中的阶段是 (C) A.详细设计 B.需求分析 C.总体设计 D.编程调试 43. 在概要设计阶段常用的软件结构设计工具是 结构图 (sc)也称程序结构图。生成的结构图中带有箭头的连线表示(模块之间的调用关系)矩形表示模块。                         44. 在概要设计阶段一般采用面向数据流的设计方法。数据流的类型有 变换型   和事务型。将变换型映射成结构图称为 变换分析 。将事务型映射成结构图称为 事务分析 。     45. 好的软件设计结构通常 顶层 高 扇出中间扇出较少底层 高 扇入。                 46. 模块的控制范围包括它本身以及它所有的从属模块模块的作用范围是指模块内一个判定的作用范围凡是受到这个判定影响的所有模块都属于这个判定的作用范围。理想的情况是(模块的作用范围应在控制范围内) 详细设计 47. 详细设计 的任务是为软件结构图中的每一个模块确定实现算法和局部数据结构用选定的表达工具表示算法和数据结构的细节。确定怎样来具体实现所要求的系统。               48. 为了避免流程图在描述程序逻辑时的灵活性提出了用方框图来代替传统的程序流程图通常也把这种图称为(N—S图)。 49. 详细设计的结果基本决定了最终程序的(质量)。 50. 软件设计模块化的目的是 降低复杂性。 51. 详细设计的典型语言描述工具是(PDL) 结构化分析(需求阶段)的常用工具有数据流图(DFD)、数据字典(DD)、判定树和判定表 结构设计概要设计阶段工具是结构图(SC, structure chart) 过程设计(详细设计阶段)常见的工具有程序流程图、N—S图、PAD图问题分析图,和PDL( 过程设计语言) 四、软件测试 软件测试的目的52. 在软件测试设计中软件测试的主要目的是(D)。A.实验性运行软件   B.证明软件正确 C.找出软件中全部错误   D.发现软件错误而执行程序 注意不是为了证明软件的正确性也不是为了找出全部错误  软件测试的准则 53. 下列叙述中不属于测试的特征的是(C)。 A.测试的挑剔性   B.完全测试的不可能性   C.测试的可靠性   D.测试的经济性 软件测试技术与方法 软件测试方法从是否需要执行被测试软件的角度可以分为 静态测试 和 动态测试 按功能划分为 白盒测试 和 黑盒测试 。 静态测试包括 代码检查 、 静态结构分析 、 代码质量量度 等 白盒测试和黑盒测试都属于 动态测试 白盒测试的主要方法 逻辑覆盖 、 基本路径测试 等 黑盒测试的主要方法 等价类划分法 、 边界值分析法 、 错误推测法 、 因果图 等 54. 下列不属于静态测试方法的是(B)。 A.代码检查     B.白盒法       C.静态结构分析   D.代码质量度量 55. 在软件工程中白箱测试法可用于测试程序的内部结构。此方法将程序看做是(A)。 A.路径的集合   B.循环的集合     C.目标的集台     D.地址的集合 56. 完全不考虑程序的内部结构和内部特征而只是根据程序功能导出测试用例的测试方法是(A) A.黑箱测试法   B.白箱测试法     C.错误推测法     D.安装测试法 57. 黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证不考虑程序内部的逻辑结构在软件接口处进行。常用的黑箱测试有等价分类法、 边界值分析法 、因果图法和错误推测法4种。 软件测试的实施 58. 软件测试过程一般按4个步骤进行即单元测试、集成测试、验收测试确认测试和系统测试 58.检查软件产品是否符合需求定义的过程称为A    A.确认测试B.集成测试C.验证测试D.验收测试 说明软件的测试过程一般按4个步骤进行 单元测试对软件设计的最小单位—模块进行正确性检验的测试发现模块内部可能存在的错误。由于模块通常不是一个独立的程序不能单独运行所以常常需要用到模拟环境。可以采用静态测试和动态测试以白盒测试为主。 集成测试测试和组装模块的过程主要是发现与接口有关的错误依据是概要设计说明书。涉及的内容有软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等。通常采用两种方式非增量方式组装域增量方式组装 验收测试确认测试验证软件的功能和性能以及其他特性是否满足了需求规格说明书中确定的各种需求以及软件配置是否完全、正确。采用黑盒测试。 系统测试将软件与硬件、用户、数据等组合在实际运行环境下对整个系统进行集成测试和确认测试。 59. 软件开发离不开系统环境资源的支持其中必要的测试数据属于(D)。 A.硬件资源     B.通信资源     C.支持软件     D.辅助资源 软件测试过程中辅助资源包括测试用例(测试数据)、测试计划、出错统计和最终分析报告等。 60. 为了提高测试的效率应该(D)A.随机选取测试数据     B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划     D.集中对付那些错误群集的程序 61. 为了便于对照检查测试用例应由输入数据和预期的 输出结果 两部分组成。 五、程序的调试 软件调试(Debug即排错)的任务是诊断和改正程序中的错误与软件测试不同软件测试是尽可能多地发现软件中的错误。软件测试贯穿整个软件生命期调试主要在开发阶段。 62. 程序调试的基本步骤错误定位、修改和设计代码以排除错误、进行回归测试防治引进新的错误。 63.下列叙述正确的是D A.测试和调试工作必须由程序编制者自己完成     B.测试用例和调试用例必须完全一致 C.一个程序经调试改正错误后一般不必再进行测试 D.上述三种说法都不对 软件调试方法 64. 下列不属于软件调试技术的是(B)。 A.强行排错法B.集成测试法C.回溯法D.原因排除法 六、软件维护65. 软件维护活动包括以下几类校正性维护、适应性维护、 完善性维护和预防性维护。   第四章      数据库设计基础 一、数据库系统的基本概念数据、数据库、数据库管理系统 1.数据处理的最小单位是(C)。 A.数据   B.数据元素   C.数据项     D.数据结构 2.下列有关数据库的描述正确的是(C)。A.数据库是一个DBF文件   B.数据库是一个关系 C.数据库是一个结构化的数据的集合   D.数据库是一组文件 3.下述关于数据库系统的叙述中正确的是(A) A.数据库系统减少了数据冗余       B.数据库系统避免了一切冗余 C.数据库系统避免了一切数据的重复   D.数据库系统比文件系统能管理更多的数据 4.下列有关数据库的描述正确的是(D)。A.数据处理是将信息转化为数据的过程 B.数据的物理独立性是指当数据的逻辑结构改变时数据的存储结构不变 C.关系中的每一列称为元组一个元组就是一个字段 D.如果一个关系中的属性或属性组并非该关系的关键字但它是另一个关系的关键字则称其为本关系的外关键字 5.下列4项说法中不正确的是(C)。 A.数据库减少了数据冗余       B.数据库中的数据可以共享 C.数据库避免了一切数据的重复   D.数据库具有较高的数据独立性 6.下列叙述中。不属于数据库系统的是(D)。 A.数据库   B.数据库管理系统   C.数据库管理员   D.数据库应用系统 7.数据库系统的核心是(数据库管理系统)。 8.数据库、数据库系统和数据库管理系统之间的关系是(数据库系统包括数据库和数据库管理系统)。 9.为用户与数据库系统提供接口的语言是(数据操纵语言(DML))。 数据库管理系统一般提供的数据语言有 数据库定义语言(DDL)负责数据的模式定义与数据的物理存取构建 数据操纵语言(DML)负责数据的操纵包括查询及增、删、改变等操作 数据库控制语言(DCL)负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等 2. 数据库系统的发展 10.在数据管理技术的发展过程中经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(数据库系统)。 11.在数据管理技术发展过程中文件系统与数据库系统的主要区别是数据库系统具有(A)。 A.特定的数据模型   B.数据无冗余   C.数据可共享   D.专门的数据管理软件 12.相对于数据库系统文件系统的主要缺陷有数据关联差、数据不一致性和(冗余性)。 13.分布式数据库系统不具有的特点是( D)。 A.数据分布性和逻辑整体性 B.位置透明性和复制透明性           C.分布性             D.数据冗余 3数据库系统的基本特点 数据独立性 是数据与程序间的互不依赖性即数据库中数据独立于应用程序而不依赖于应用程序。也就是说数据的逻辑结构、存储结构和存取方式的改变都不会影响应用程序。数据独立性包括物理独立性和   逻辑独立性 两个含义。 当数据的物理结构(存储结构、存取方式等)改变时不影响数据库的逻辑结构从而不致引起应用程序的变化这是指数据的   物理独立性   。 4数据库系统的内部结构 数据库系统在其内部具有三级模式及二级映射三级模式分别是概念级模式、内部级模式与外部级模式二级映射分别是概念级到内部级的映射以及外部级到概念级的映射。这种三级模式与二级映射构成了数据库系统内部抽象结构体系。 14.单个用户使用的数据视图的描述称为(外模式)。索引属于(内模式)。 二、数据模型1数据模型的基本概念 数据模型是数据库设计的核心。其内容有三个部分数据结构、数据操作和数据约束 数据模型按不同应用层次分3种类型它们是概念数据模型、逻辑数据模型和物理数据模型。 概念数据模型简称概念模型是面向客观世界、面向用户的模型是整个数据模型的基础。与具体的数据库管理系统无关着重于对客观事件的结构描述以及它们之间的内在联系的刻画。常用的有E-R模型、扩充的E-R模型等。 逻辑数据模型又称数据模型是面向数据库系统的模型着重于数据库系统一级的实现。概念模型只有在转换成数据模型后才有可能在数据库中得以表示。常见的有层次模型、网状模型和关系模型。 数据库管理系统常见的数据模型有层次模型、网状模型和 关系模型 3种。 15.下列数据模型中具有坚实理论基础的是(C)。 A.层次模型   B.网状模型   C.关系模型   D.以上3个都是 16.下列说法中不属于数据模型所描述的内容的是(C)。 A.数据结构   B.数据操作   C.数据查询   D.数据约束 2E-R模型 17.实体是信息世界中广泛使用的一个术语它用于表示(C)。 A.有生命的事物   B.无生命的事物   C.实际存在的事物   D.一切事物 18.E-R模型由 实体 、联系 和 属性 三个基本概念组成。 19.将E—R图转换到关系模式时实体与联系都可以表示成(关系)。 20.下列叙述中正确的是(A)。 A.用E—R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系 B.用E—R图只能表示实体集之问一对一的联系 C.用E—R图只能表示实体集之间一对多的联系 D.用E—R图表示的概念数据模型只能转换为关系数据模型 21.公司中有多个部门和多名职员每个职员只能属于一个部门一个部门可以有多名职员从职员到部门的联系类型是(多对一)。 3层次模型和网状模型 4关系模型 22.在关系模型中把数据看成一个二维表每一个二维表称为一个   关系 23.最常用的一种基本数据模型是关系数据模型它的表示应采用(二维表)。 24.由关系数据库系统支持的完整性约束是指   实体完整性   和参照完整性。 25.关系模型允许定义3类数据约束下列不属于数据约束的是(C)。 A.实体完整性约束   B.参照完整性约束 C.域完整性约束   D.用户自定义的完整性约束 26.“年龄在18岁一25岁之间”这种约束是属于数据库中的( C )。 A.原子性措施 B.一致性措施   C.完整性措施   D.安全性措施 27.关系模型的数据操纵是建立在关系上的数据操纵一般有查询、增加、删除和修改四种操作。 28.下列4项中必须进行查询优化的是( A)。 A.关系数据库   B.网状数据库   C.层次数据库   D.非关系模型 三、关系代数29.关系操作的特点是   集合   操作。 30.关系数据库的关系演算语言是以   谓词演算   为基础的DML语言。 31.一个关系中属性个数为l时称此关系为(一元关系)。 32.关系表中的每一横行称为一个(元组)。 33.下列关系模型中能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(B)。A.选择   B.连接   C.投影   D.并 34.关系运算   是从二维表列的方向进行的运算。 35.关系数据库管理系统应能实现的专门的关系运算包括(选择、投影、连接)。 四、数据库设计与管理数据库设计概述 36.数据库设计包括两个方面的设计内容它们是(D)。A.概念设计和逻辑设计 B.模式设计和内模式设计   C.内模式设计和物理设计   D.结构特性设计和行为特性设计 37.数据库设计分为以下6个设计阶段需求分析阶段、 概念设计阶段 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。 数据库设计的需求分析 38.对数据库设计来讲数据字典 是进行详细的数据收集和数据分析所获得的主要结果。 数据库概念设计 39.数据库概念设计的目的是分析数据间内在语义联系在此基础上建立一个数据的抽象模型。方法有以下两种集中式模式设计法、视图集成设计法。 40.视图设计一般有3种设计次序下列不属于视图设计次序的是(B)。 A.自顶向下   B.由外向内   C.由内向外   D.自底向上 数据库的逻辑设计 41.数据库的逻辑设计的主要工作是将E-R图转换成指定RDBMS关系数据库管理系统中的关系模式另一个重要内容是关系视图的设计又称外模式设计。 42.在数据库设计中将E—R图转换成关系数据模型的过程属于(逻辑设计阶段)。 数据库的物理设计 43.数据库的物理设计主要目标是对数据库内部物理结构做出调整并选择合理的存取路径以提高数据库访问速度及有效利用存储空间。大致包括索引设计、集簇设计和分区设计。 数据库管理 44.数据库是一种共享资源需要维护与管理这种工作称为 数据库管理 。实施此项管理的人称为数据库管理员。数据库的建立包括两部分的内容数据模式的建立和数据加载。 45.数据库在运行一段时间以后性能会逐步下降需要对数据库进行重新整理重新调整存贮空间这种工作叫数据库重组。 46.数据库的故障恢复一般是由DBA完成的 47.数据库保护分为安全性控制、完整性控制、并发性控制和数据的恢复。 48.数据库恢复是将数据库从错误状态恢复到某一已知的正确状态。 SQL语句的循序渐进写法 二级VF考试中SQL语言部分占了很大比例可以说该部分掌握好坏直接关系到整个考试的成败。      在上机考试中初学者在进行SQL语言查询时常常丢三拉四或是标点符号的全角半角搞错了或丢掉了某些必要步骤导致很长时间也无法得到正确输入。 那么如何能书写好的复杂SQL查询语句呢       本人归纳了一套循序渐进的书写方法对于初学者非常有效。 1) SQL语句的格式可以归纳为 select 字段 from 表;   where 筛选条件;   group by 分组字段;     having 分组条件;   order by 排序字段 asc,desc 2) 学习语言可以认为是一个学习填空的过程。语言的框架已经在设计语言编译器时就给定了用户不可违背必须遵守语言提供好的规范用户做的就是把自己需要表达的东西以填空的方式填入其中。 2.1) 分析数据源尝试在命令窗口运行基本框架直到正确。 单表可以在命令窗口中输入select * from 表 双表可以在命令窗口中输入select * from 表1,表2 where 表1.联接字段表2.联接字段 三表需要分析表如何链接然后在命令窗口中输入select * from 表1,表2,表3 where 表1.联接字段表2.联接字段 and 表2.联接字段表3.联接字段 如果采用超联接模式书写 双表模式可以书写为select * from 表1 join 表2 on 表1.联接字段表2.联接字段 三表模式可以书写为select * from 表1 join 表2 join 表3 on 表2.联接字段表3.联接字段 and 表1.联接字段表2.联接字段 2.2) 分析筛选条件将其转换为逻辑表达式。 光标移动到上一步骤命令末尾补充筛选条件然后回车检查。 如果出现错误或同预期结果不同说明刚才输入语句有问题修改后继续回车检查。 2.3) 补充筛选字段具体操作类似上一步光标移动到上一步骤命令末尾补充筛选条件然后回车检查。 如果出现错误或同预期结果不同说明刚才输入语句有问题修改后继续回车检查。 2.4) 补充排序条件     以上操作看似烦琐实则不然每次增加的部分不是全部SQL语句重新输入而是在已经成功的命令行基础上予以修订和补充。上一步骤已经正确完成了出现错误的话只能是本步骤操作失误造成的修改增加部分即可。 相反由于初学者对SQL语法格式不熟悉书写SQL语句巴不得一气呵成一旦发生错误往往会用大量时间去调试反而欲速而不达。 根据题目要求还可以继续补充 2.5) 补充分组字段增加group by语句查看能否正确分组但这时一定注意select * from 表 group by 分组字段弹出每一行记录除少数字段有意义外因此最好随后修改显示字段 2.6) 在增加分组字段正确后补充having条件 2.7) 最后补充其它信息如top短语、into table等短语等 以下题为例采用循序渐进法予以说明 例以表employee.dbf和orders.dbf中数据为基础使用SQL命令检索订单数最多的前三名男职工的职工号、姓名、订单数检索结果按订单数降序存入表newcoun.dbf中。 employee(职工号,姓名,性别,年龄) orders(订单号,订购物品,订购单位,订购日期,职工号) 分析首先打开两表发现两表属于1对多关系一个职工对应多个订单。没有订单数字段只能按照职工号分组然后通过COUNT计数后求出订单数量。 操作 1) 搭建框架在命令窗口中输入基本框架select * from employee e join orders o on e.职工号o.职工号 2) 补充筛选字段光标移动到上一行末尾补充为select * from employee e join orders o on e.职工号o.职工号 where 性别男 3) 补充分组字段光标移动到上一行末尾补充为select * from employee e join orders o on e.职工号o.职工号 where 性别男 group by e.职工号 4) 修改显示字段select e.职工号,姓名,count(*) as 订单数 from employee e join orders o on e.职工号o.职工号 where 性别男 group by e.职工号 5) 没有having分组条件补充top短语select top 3 e.职工号,姓名,count(*) as 订单数 from employee e join orders o on e.职工号o.职工号 where 性别男 group by e.职工号 6) 补充查询去向select top 3 e.职工号,姓名,count(*) as 订单数 from employee e join orders o on e.职工号o.职工号 where 性别男 group by e.职工号 into table newcoun 大家可以把这种方法推广到其它方面也可在查询设计器中套用该方法。总之操作不可急于求成要按部就班循序渐进。 转载于:https://www.cnblogs.com/pekkle/archive/2008/04/09/6568863.html
http://www.pierceye.com/news/486326/

相关文章:

  • 公司网站免费建设2023设计院裁员惨烈程度
  • 别人做的网站不能用设计网站教程
  • 设计师发布作品的网站wordpress仿
  • 品牌微信网站建设柳州做网站制作的公司有哪些
  • 买域名做网站推广都是些什么网站点击后的loading是怎么做的
  • 北京网站优化技术泰州自助建站软件
  • 公司企业网站建设目的站长统计官方网站
  • 集团公司网站模板wordpress更换主题方法
  • 临沂网站建设电话建设网站审批手续
  • 国外做健康的网站专门做鞋子的网站吗
  • 手机网站支持微信支付吗北京短视频拍摄
  • 做静态网站工资多少网站前期推广
  • 做预算查价格的网站是哪个好网站开发维护多少钱
  • 个人互动网站365建筑人才网
  • 天津外贸公司网站制作淘客cms网站建设
  • 怎样做微网站网站建设pc指什么软件
  • 四川 网站建设wordpress腾讯地图插件下载
  • 宁波网站公司哪家好百度关键词搜索量排名
  • 北京国税局网站做票种核定时眉山网站优化
  • 网站备案授权书成都网站建设十强企业
  • 网站流量图怎么做的wordpress单号管理系统
  • 生活服务网站建设方案天猫店铺装修做特效的网站
  • 公众号做视频网站会封吗开发微分销系统
  • 情侣博客网站模板下载kindeditor for wordpress
  • 广东网站备案进度查询长沙seo网络营销推广
  • 网站建设的一般过程包括哪些内容简单网页
  • 眉山市规划建设局网站专做网页的网站
  • 珠海网站建设开发ck网站
  • 医疗网站设计小程序开发制作费用
  • 德州网站建设网页设计实验报告总结