第01讲公共基础知识.ppt
《第01讲公共基础知识.ppt》由会员分享,可在线阅读,更多相关《第01讲公共基础知识.ppt(27页珍藏版)》请在三一办公上搜索。
1、第一讲,公共基础知识,2,内容提要,教学重点及难点重点:基本概念难点:数据结构,1.1、数据结构与算法算法;数据结构1.2、程序设计基础程序设计方法和风格;结构化程序设计;面向对象程序设计1.3、软件工程基础软件工程基本概念;结构化分析方法;结构化设计方法;软件测试;程序调试,3,1.1.1.1 算法(P1),1、算法定义:指解题方案的准确而完善的描述。2、算法的基本特征:可行性;确定性;有穷性;拥有足够的情报。3、算法的基本要素:运算算术、逻辑和关系运算和操作数据传输:输入和输出;控制结构顺序、选择和循环结构。4、算法的基本方法:列举法、归纳法、递推法、减半递推法、回溯法。5、算法的复杂度:
2、时间复杂度(执行算法所需要的计算工作量平均|最坏);空间复杂度(执行该算法所需要的内存空间算法程序空间+数据空间+执行空间)常见时间复杂度(按递增排列)有常数级O(1)、对数级O(log2n)、线性级O(n)、线性对数级O(nlog2n)、平方级O(n2)、指数级O(2n)。,4,1.1.1.2 基本算法(P8),1、查找算法:顺序查找:适用无序表或链表。二分查找:适用有序表。2、排序算法:交换排序:冒泡法、快速排序法。插入排序:简单插入排序法、希尔排序法。选择排序:简单选择排序法、堆排序法。,5,1.1.1.2 基本算法_查找算法,查找算法:查找算法是指在某种数据结构中找出满足条件的数据结点
3、,若找到满足条件的结点,则查找成功,否则查找失败。顺序查找:又称为线性查找。它从线性表的一端开始,顺序查找线性表,依次将查找到的结点与给定值K相比较,若查找到的结点关键字与给定的K值相等,则查找成功,若查找到线性表的末端,仍未找到关键字等于K的结点,则查找失败。适用无序表或链表。二分查找:又称为折半查找。它要求线性表中的结点必须按关键字排序。它首先将要查找的K值与线性表中间位置的结点关键字比较,若相等,则查找成功,否则,再根据K值与中间结点关键字大小,确定下一步查找哪个子表。适用有序表。,6,1.1.1.2 基本算法_交换排序算法,排序算法:排序就是把一组无序的记录按其关键字的某种次序排列起来
4、,使其具有一定的顺序,便于进行数据查找。交换排序:两两比较待排序记录的关键字,发现两个记录的与规定的次序相反时即进行交换,起到没有反序的记录为止。冒泡法:对无序数据列从最下面的记录开始,对每两个相邻的记录关键字进行比较,便关键字最小或最大的记录如气泡一样逐渐往上“漂浮”直到“水面”,接着再找第二个直到所有记录都有序为止。对于长度为n的线性表,最坏情况下需要比较n(n-1)/2次。快速排序法:由冒泡法改进而来。在待排序的n个记录中任取一个记录(通常是第一个记录),把该记录放入最后的位置,数据序列被此记录分为两个部分,所有关键字比该记录关键字小的结点放在该结点之前,比它大的放在它之后,然后再重复以
5、上操作,直到所有记录有序为止。对于长度为n的线性表,最坏情况下需要比较n(n-1)/2次。,7,1.1.1.2 基本算法_插入排序算法,排序算法:排序就是把一组无序的记录按其关键字的某种次序排列起来,使其具有一定的顺序,便于进行数据查找。插入排序:每一次循环将一个待排序的记录,按其关键字大小插入到已经排序记录的适当位置,直到全部记录插入完成为止。简单插入排序法:又称直接插入排序。假设记录存放在r1,n之中,r1,j-1上已排好序的记录,ri-1,n是没有排序的记录,插入排序把未的排序记录中的ri插入到r1,j-1之中,使 r1,i成为有序,直到r1,n全部有序。对于长度为n的线性表,最坏情况下
6、需要比较n(n-1)/2次。希尔排序法:把记录按下标的一定增量分组,对每组记录进行直接插入排序,随着增量逐渐减小,所分成的组包含的记录越来越多,到增量的值减小到1时,整个数据合成一组有序的记录。对于长度为n的线性表,最坏情况下需要比较O(n1.5)次。,8,1.1.1.2 基本算法_选择排序算法,排序算法:排序就是把一组无序的记录按其关键字的某种次序排列起来,使其具有一定的顺序,便于进行数据查找。选择排序:每一次循环,从待排序的记录中选出关键字最小的记录,顺序放在已排好的记录的最后,直到全部记录排序完毕。简单选择排序法:又称直接选择排序。每一次排序在n-i+1(i=1,2,n-1)个记录中选取
7、关键字最小的记录,并和第i个记录进行交换。对于长度为n的线性表,最坏情况下需要比较n(n-1)/2次。堆排序法:将顺序表中存储的数据看成是一棵完全二叉树,利用完全二叉树中双亲结点和小孩结点之间的内存关系来选择关键字最小的记录进行排序。对于长度为n的线性表,最坏情况下需要比较O(nlog2n)次。,9,1.1.2.1 数据结构定义,1、数据结构定义:指同一类数据元素中各数据元素之间存在的关系。数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间关系和操作的学科。2、数据结构研究的主要内容:数据的逻辑结构:数据集合中各数据元素之间所固有的逻辑关系;数据的存储结构:数据处理时,各
8、数据元素在计算机中的存储关系;对各种数据结构进行运算。3、数据结构研究的目的:提高数据处理的效率(提高数据处理速度;节省数据处理过程中占用计算机存储空间),10,1.1.2.2 数据结构概念,1、数据处理:对数据集合中的各元素以各种方式进行运算。2、数据元素:数据处理中,每一个需要处理的对象均可抽象为数据元素。3、数据结构:反映数据元素之间数据元素集合的表示。数据的逻辑结构:数据与数据间关系B=(D,R)。数据的逻辑结构分为线性结构(如顺序表、链表)和非线性结构(如树和图形结构)。数据的存储结构:数据在计算机存储空间中的存放形式。常用的数据存储结构有顺序、链接|式、索引、散列等。数据结构的图形
9、表示:,11,1.1.2.3 数据结构,1、线性表(P2):定义;特征;存储结构;主要操作插入、删除、查找、排序、分解、合并、复制、逆转;线性表适用场合。2、栈(P4):定义;存储结构;栈运算。3、队列(P5):定义;存储结构;运算。4、线性链表(P5):定义;存储结构;运算。5、树与二叉树(P6):定义;存储结构;运算。二叉树遍历(前序遍历根-左右、中序遍历左-根-右、后序遍历左-右-根,12,树的基本概念,父结点:在树结构中每一个结点只有一个前驱,称为父结点。根结点:在树结构中没有前驱的结点称为根结点。子结点:在树结构中每一个结点可以有多个后继,它们都称为该结点的子结点。叶子结点:没有后继
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 01 公共 基础知识

链接地址:https://www.31ppt.com/p-4872999.html