公共基础部分讲座 (1).docVIP

  • 0
  • 0
  • 约1.23万字
  • 约 17页
  • 2019-08-01 发布于山西
  • 举报
公共基础 第一部分:数据结构与算法(约占10分)(理解) ·算法 ·数据结构 ·树与二叉树 ·查找技术 ·习题 第二部分:程序设计基础(约占4分)(背) ·程序设计设计方法与风格 ·结构化程序设计 ·面向对象的程序设计 ·习题 第三部分:软件工程基础(约占8分)(背) ·软件工程的基本概念 ·结构化分析方法 ·结构化设计方法 ·软件测试 ·程序的调试 ·习题 第四部分:数据库设计基础(约占8分)(理解+背) ·数据库系统的基本概念 ·数据模型 ·关系代数 ·数据库的设计与管理 ·习题 第一部分:数据结构与算法 Main() { Int i,sum; Main() { Int i,sum; For(i=0;i100;i++) { If(i%2==0) { Sum+=i; } } Printf(“%d”,sum); } ·概念:算法是指计算机在解题的过程中实施某种方法。(算法是一个操作序列,有限长度,目的是解决某类问题。) ·基本特征:可行性、确定性、有穷性、拥有足够的情报(要有输入和输出). ·算法的要素: -对数据对象的运算和操作(算术运算,逻辑运算,关系运算,数据传输) -算法的控制结构(顺序,选择,循环) ·算法的描述方法:流程图和N-S图,算法描述语言 ·算法的复杂度:评价一个算法的好坏。 -时间复杂度(算法的运行次数) 影响计算工作量的主要因素(运算的次数,问题的规模) 以下哪些不能用来衡量时间复杂度: A、算法的程序长度B、算法所执行的语句条数C、算法程序执行的时间 在同一问题规模下可以用以下两点衡量算法的时间复杂度: A、平均性态分析B、最坏情况复杂分析 -空间复杂度(运行时所占用的空间(内存空间)) 一个算法所包含的空间复杂度: A、程序所占用的空间B、输入的初始数据所占用的空间C、算法执行中所的额外空间。 习题练习: 下列描述中正确的是 A、算法就是程序B、算法强调利用技巧提高程序的执行效率 C、设计算法只需要考虑结果的可靠性D、以上说法都不对 下列叙述正确的是: 算法的执行效率与数据的存储结构无关 算法的空间复杂度指算法中程序的执行条数 算法的有穷性表示算法必须在执行有限的步骤后结束 以上三种描述都不对 下列叙述正确的是 一个算法的空间复杂度大,其时间复杂度也大 一个算法的空间复杂度大,其时间复杂度必小 一个算法的时间复杂度大,其空间复杂度比小 以上三种均不正确 算法的空间复杂度是指: A、算法程序的变量数量B、算法程序的指令条数 C、算法各个控制变量所占的额外空间D、算法执行过程中所需要的存储空间 数据结构 目的:提高数据处理的效率(一是提高数据的处理速度,二是尽量节省在处理过程中所占用的空间) 基本概念: ·数据:在计算机科学中所能输入到计算机中并被计算机程序所处理的符号总称 ·数据元素:数据的基本单位,在计算机程序中通常通过一个整体进行考虑 ·数据结构:是相互之间存在一种或者多种特定关系的数据元素的集和 基本内容: 线性表: ·线性表就是线性结构 ·线性表的顺序存储结构称为顺序表,在顺序表中,所有元素的存储空间是连续的,逻辑顺序是依次存放的。 ·线性表在最坏的情况下删除一个元素需要移动N-1次,插入一个元素最坏情况下也需要移动n次 栈: ·先进后出(LIFO,FILO) ·注意:在顺序结构下,栈的插入与删除运算都不需要移动表中的其他元素;栈顶指针反映了栈中元素的变化 ·栈的存储结构与运算 存储结构:数组 运算:入栈,出栈,读栈顶元素 ·在顺序结构下读元素指:将栈顶元素读出来,但是不会删除(但是删除需要先将元素读出来,之后再删除) 读栈顶元素需要注意:读栈顶元素不会删除元素,只是将栈顶元素赋予一个变量,当栈顶元素0为null时表示栈空 队列: ·先进先出(FIFO) ·一般情况下,队列在顺序存储结构中通常以循环队列的方式进行操作,方法是将最后一个位置在出队列时加入到队头中去 ·循环队列的容量: 当rearfront时,容量是rear-font;(队列未满) 当rearfont时,容量是m+(rear-font);(队列已满,并且已经返回) ·循环队列的运算 入队操作,在rear+1; 出队操作,在front+1 线性表总结: ·在插入和删除时需要移动元素 ·由于使用数组作为存储结构,所以空间不好扩展 ·不便于对存储空间的动态分配 故:对于大的线性数据结构和变动频繁的数据结构不适应使用线性存储结构 链式结构线性表: ·存储方式:由两部分组成,一部分用来存储元素值,另一部分用来存储后一个(前一个)元素的位置。 ·特点:存储数据元素之间的空间可以不连续;各节点之间的存储

文档评论(0)

1亿VIP精品文档

相关文档