第一章数据结构基本概念及研究对象目标:
1.掌握贯穿全书的重要概念--抽象数据型,包括其概念的定义和实现方法,初步掌握抽象技术方法。
2.了解算法、算法复杂性,掌握算法性能的评价方法。
3.了解解决问题的一般过程和算法的逐步求精方法,掌握问题求解的基本过程和方法。内容。
数据结构的兴起与发展基本概念与研究对象抽象数据类型算法及算法分析逐步求精的程序方法。
三个阶段。无结构阶段:在简单数据上作复杂运算结构化阶段:数据结构+算法=程序面向对象阶段:(对象+行为)=程序。
计算机求解问题。
问题——抽象出问题的模型——求模型的解问题:数值问题。非数值问题数值问题:数学方程非数值问题:数据结构。
数据结构研究对象:非数值计算问题中的计算机的操作对象以及它们之间的关系和操作的学科。
数据:一切能输入到计算机中并能被计算机程序识别和处理的符号集合。数值数据:整数、实数等;
非数值数据:图形、图象、声音、文字等数据元素:数据的基本单位。
数据项:构成数据元素的不可分割的最小单位。数据对象:
具有相同性质的数据元素的集合结点:数据元素在计算机内的位串表示域:就是数据项在计算机内的表示数据结构:
数据元素之间的相互关系数据结构分为:逻辑结构、存储结构。
数据的逻辑结构:数据元素之间的抽象关系,数据元素之间逻辑关系的整体;是从具体问题中抽象出来的数据模型。
数据的存储结构:是数据及其逻辑结构在计算机中的表示。实质是内存分配。
数据结构从逻辑上分为四类:1.集合:属于同一个集合2.数据线性结构:数据元素之间存在一对一的线性关系3.树形结构:数据元素之间存在一对多的层次关系。
4.图结构:数据元素之间存在多对多的任意关系。
两种基本的存储结构:
1.顺序存储结构:连续的存储单元依次存储数据元素,逻辑关系由存储位置表示。
2.链接存储结构:一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示。
1.3抽象数据类型(adt)
抽象数据类型(abstract data type)
定义:一个数学模型和在该模型上定义的操作集合的总称。
是程序设计语言中数据类型概念的进一步推广和进一步抽象。2.例4:
adt int=({x|x∈z3.同一数学模型上定义不同的操作集,则它们代表不同的adt;实现:数据结构、函数。
1.4算法及算法分。
数据结构与算法
本章知识要点 算法的基本概念 数据结构的定义 线性表的定义和存储 树 二叉树的定义和存储 查找与排序算法。算法 algorithm 是一组有穷的规则,规定了解决某一特定类型问题的一系列运算,是对解题方 与完整的描述。算法是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中...
算法与数据结构
学院专业姓名学号。实验1 线性表的操作 12学时 问题描述 假设一个班级内有n个学生,定义一个学生类和一个班级类。学生类中包括学号 姓名 性别 年龄 专业等属性 班级类包括一个学生对象链表。定义如下 class student class myclass student stu head 链表表头指...
算法与数据结构
1 简述算法的概念及其五个重要特性。2 下图是用邻接表存储的图,请画出此图,写出其邻接矩阵以及从c点开始分别按广度优先搜索和深度优先搜索遍历该图的结果。给定一棵用二叉链表表示的二叉树,其根指针为root,编写求此二叉树叶结点个数的算法,要求先写出二叉链表的类型定义。2.编写简单选择排序的算法。1 用...