《数据结构》课程教学课件(PPT讲稿)第一章 绪论

1 第一章 绪论 ⚫ 什么是数据结构 数据的组织形式,具有特定关系的数据元素的 集合。 ⚫ 数据结构的内容 包括: 逻辑结构 存储结构 算法

2 逻辑结构 ⚫ 逻辑结构:数据元素间的关系 包括:线性结构、非线性结构 ⚫ 线性结构:除了第一个数据元素和最后一个数据 元素以外,其它的每一个数据元素,它的直接前 驱和直接后继只有一个。(第一个数据元素没有 直接前驱,最后一个数据元素没有直接后继) 如:线性表、堆栈、队列、字符串 ⚫ 非线性结构:直接前驱和直接后继有若干个。 如:树、图

3 存储结构 ⚫ 存储结构:数据结构在计算机中的表示(存储)。 包括:顺序存储、链式存储、索引存储和散列存储 ⚫ 顺序存储:数据元素存放在连续的存储单元。 ⚫ 链式存储:数据元素存放在链表中。 ⚫ 索引存储:通过索引表存放数据元素。 ⚫ 散列存储:通过散列函数确定数据元素的存放地址, 即数据元素的关键字作为函数的变量,函数的值作 为该数据元素的存放地址

4 算法 ⚫ 算法的特性:有穷性、确定性、可行性、 输入、输出 ⚫ 如何评价算法: 正确性 可读性 健壮性 高效运行 低存储量

5 算法分析 算法分析:主要用时间复杂度和空间复杂度进行分析 ⚫ 时间复杂度: T(n)=O(f(n)) 例如:两个N*N矩阵相乘 C=A*B for (i=0;i<n;i++) //n+1次 for ( j=0;j<n;j++) //n(n+1) 次 { C[i][j]=0; //n2次 for ( k=0;k<n;k++) //n2 (n+1) 次 C[i][j]=C[i][j]+A[i][k]*B[k][j]; //n3次 } 时间复杂度T(n)=2n3+3n2+2n+1= O(n3 ) ⚫ 空间复杂度: S(n)=O(f(n)) (f(n)表示空间的函数)

6 抽象数据类型(本教材采用的方法) ⚫ 抽象数据类型 abstract data type(ADT):一个数学模 型和定义在该模型上的一组操作。 可分为:原子类型、固定聚合类型、可变聚合类型 ⚫ 用三元组表示(D,S,P) 其中:D表示数据对象 S是D上的关系集 P是对D的基本操作集 ⚫ 抽象数据类型的定义: ADT抽象数据类型名{ 数据对象: 数据关系: 基本操作: } ADT抽象数据类型名

7 第一章作业 设n为整数,利用大“O”记号,求下列程序段的时间复杂度 1)i=0;k=0; 2)i=1; j=0; Do while(i+jj) j++; }while (i1 while (x>=(y+1)*(y+1)) y++; 4)x=91; y=100; while (y>0) if (x>100) {x=x-10; y- -;} else x++;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数据结构》课程教学大纲 Data Structure.doc
- 《Java程序设计》课程教学课件(PPT讲稿)Coding_Standard_Java.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象2-面向对象程序设计基础.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象1-软件开发周期简介.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)03 Java程序设计基础3—程序流程控制.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)03 Java程序设计基础2—数组.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)02 Java程序设计基础1—运算符和表达式.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)0 1Java概述.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)09 Java数据库编程(2/2).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)09 Java数据库编程(1/2).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)08 Java网络编程.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)07 Java线程.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)06 Java文件输入输出.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)05 Java异常处理.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象5-面向对象特征(3/3).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象4-面向对象特征(2/3).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象3-面向对象特征(1/3).pptx
- 清华大学出版社:《计算机操作系统教程》习题解答与实验指导(教材PDF电子版,第2版,编著:张尧学).pdf
- 《汇编语言与接口技术》课程教学资源(作业习题)汇编语言与接口技术练习题(答案).doc
- 《汇编语言与接口技术》课程教学资源(作业习题)汇编语言与接口技术练习题(题目).doc
- 《数据结构》课程教学课件(PPT讲稿)第三章 栈和队列.ppt
- 《Java基础入门》课程电子教案(PPT教学课件)第1章 Java开发入门.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第2章 Java编程基础.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第3章 面向对象(上).pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第4章 面向对象(下).pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第5章 异常.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第6章 Java API.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第7章 集合.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第8章 泛型.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第9章 反射机制.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第10章 IO.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第11章 JDBC.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第12章 多线程.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第13章 网络编程.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第1章 绪论 1.1 什么是数据结构 1.2算法及其描述.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第1章 绪论 1.3 算法分析 1.4 数据结构的目标.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.1 线性表的定义 2.2 线性表的顺序存储结构.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.3 线性表的链式存储结构 2.4 顺序表和链表的比较.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.5 线性表的应用.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第3章 栈和队列 3.1 栈.pptx
