数据结构与算法:严蔚敏版清华大学PPT解析

需积分: 49 61 下载量 109 浏览量 更新于2024-08-23 收藏 705KB PPT 举报
"严蔚敏清华大学数据结构PPT课件涵盖了行编辑程序算法、数据结构的基本概念和术语,以及算法效率的讨论" 这篇内容是关于严蔚敏教授在清华大学讲解的数据结构课程的部分内容,主要涉及行编辑程序的算法设计以及数据结构的基础知识。首先,行编辑程序算法展示了如何处理用户输入,通过初始化栈`s`,然后获取字符`ch`,在循环中根据字符的不同执行不同的操作,如遇到`#`则弹出栈顶元素,遇到`@`清空栈,其他字符则压入栈中,直到遇到换行符或文件结束符。 接着,课程进入了数据结构的核心概念。数据结构是研究数据的组织方式,它包括数据的逻辑结构(数据之间的逻辑关系)和物理结构(数据在内存中的实际存储方式)。例如,电话号码查询系统中的名字和电话号码可以表示为二维数组、表结构或向量,不同的数据结构会影响查找算法的选择和效率。 1.1 什么是数据结构 数据结构是研究数据的组织形式和它们之间的相互关系。在实际应用中,如电话号码查询系统,数据结构的选择(如向量、链表等)直接影响到算法的效率。数据结构不仅要考虑数据的存储,还需要定义针对这些结构的一系列操作。 1.2 基本概念和术语 - 数据(Data):是信息的载体,可以是数字、字符、图像等各种形式。 - 数据元素(Data Element):数据的基本单位,可以是一个单独的数据项或更复杂的数据结构。 - 数据对象(Data Object):由同一类型的数据元素组成的数据集合。 - 数据结构(Data Structure):数据元素之间的关系,包括逻辑结构和物理结构。 - 逻辑结构:数据元素之间的抽象关系,如线性结构、树形结构、图结构等。 - 物理结构:数据在存储介质上的具体实现,如顺序存储、链式存储等。 - 运算(Operations):定义在数据结构上的操作,如插入、删除、查找等,这些运算必须保证新结构仍然是原始的结构类型。 此外,课程还提到了算法的相关内容,包括算法的定义、设计要求和效率度量。算法是解决问题的具体步骤,设计时应考虑其正确性、可行性、可读性、健壮性和效率。衡量算法效率通常使用时间复杂度和空间复杂度,关注算法运行时间和所需存储空间。 严蔚敏教授的这个PPT课件详细介绍了数据结构的基础知识和行编辑程序的实现,对于学习数据结构和算法的初学者来说是非常宝贵的资源。