第 绪论Java学习教程.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第 绪论Java学习教程.pptx》由会员分享,可在线阅读,更多相关《第 绪论Java学习教程.pptx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章 绪论l1.1 数据结构的基本概念l1.2 算法l1.3 Java开发运行环境第1页/共42页目的和要求目的:勾勒数据结构课程的轮廓。内容:数据结构概念,算法设计与分析。要求:理解数据结构基本概念,理解抽象数据 类型概念;熟悉算法设计和分析方法。掌 握编辑、编译、运行Java Application程 序的基本技能。重点:数据的逻辑结构和存储结构概念。难点:抽象数据类型,算法分析。实验:简单算法设计,回顾Java+语言的基本 语法和面向对象基本概念。第2页/共42页1.1 数据结构的基本概念1.1.1 为什么要学习数据结构1.1.2 什么是数据结构1.1.3 数据类型与抽象数据类型 第3
2、页/共42页1.1.1 为什么要学习数据结构l软件设计是计算机学科各个领域的核心。软件设计时要考虑的首要问题是数据的表示、组织和处理方法。数据结构设计和算法设计是软件系统设计的核心。l“数据结构十算法=程序”。第4页/共42页1.1.2 什么是数据结构数据(data)、数据元素(data element)、数据项(data item)。数据结构(data structure)指数据元素之间存在的关系。第5页/共42页1.数据的逻辑结构(1)线性结构:数据元素只有一个前驱数据元素和一个后继数据元素。(2)树结构:每个数据元素只有一个前驱数据元素,可有零个或若干个后继数据元素。(3)图结构:每个数
3、据元素可有零个或若干个前驱数据元素,零个或若干个后继数据元素。第6页/共42页(1)线性结构 学学 号号姓姓 名名年年 龄龄2002000120020001王红王红18182002000220020002张明张明19192002000320020003吴宁吴宁18182002000420020004秦风秦风1717表表1-1 学生信息表学生信息表 第7页/共42页(2)树结构 第8页/共42页(3)图结构图1-3南京飞往昆明的航班路线图 第9页/共42页2.数据的存储结构(1)顺序存储结构(2)链式存储结构第10页/共42页3.数据操作初始化。判断是否空状态。求长度:统计元素个数。包含:判断是
4、否包含指定元素。遍历:按某种次序访问所有元素,每个元素只被访问一次。取值:获取指定元素值。置值:设置指定元素值。插入:增加指定元素。删除:移去指定元素。第11页/共42页1.1.3 数据类型与抽象数据类型 数据类型(data type)是指一个类型和定义在这个类型上的操作集合。抽象数据类型(Abstract Data Type,ADT)是指一个逻辑概念上的类型和这个类型上的操作集合。第12页/共42页复数抽象数据类型 ADT Complex double real,imag;/实部和虚部 Complex(real,imag);Complex add(Complex c);/加法 Complex
5、 sub(Complex c);/减法;第13页/共42页ADT Set 数据:集合中有n(n0)个数据元素,元素类型为T 操作:boolean isEmpty();/判断集合是否为空 int size();/返回集合的元素个数 boolean contains(T x);/判断集合是否包含元素x boolean add(T x);/增加元素x boolean remove(T x);/删除首次出现的元素x void clear();/删除集合所有元素 void print();/输出集合中所有元素 boolean equals(Set s);/比较集合是否相等 boolean contain
6、sAll(Set s);/判断是否包含s中的所有元素,s是否子集 boolean addAll(Set s);/集合并 boolean removeAll(Set s);/集合差 boolean retainAll(Set s);/仅保留那些也包含在集合s中的元素第14页/共42页1.1.6 用Java语言描述数据结构public interface SSet /集合接口,T是泛型参数,指定元素类型 boolean isEmpty();/判断集合是否为空 int size();/返回集合的元素个数 String toString();/返回集合元素的描述字符串 T search(T key);
7、/查找,返回关键字为key元素 boolean contain(T x);/判断集合是否包含元素x void add(T x);/增加元素x void remove(T x);/删除首次出现的元素x void removeAll();/删除集合所有元素第15页/共42页1.2 算法1.2.1 什么是算法1.2.2 算法分析1.2.3 算法设计第16页/共42页1.2.1 什么是算法算法定义有穷性确定性输入输出可行性2.算法设计目标正确性可读性健壮性高时间效率高空间效率第17页/共42页3.算法描述元素 search(关键字 key)e=数据序列的第一个元素;while(数据序列未结束&e的关键
8、字不是key)e=数据序列的下一个元素;返回查找到的元素或查找不成功标记;第18页/共42页4.算法与数据结构图1-6 1-6 线性表插入操作 第19页/共42页1.2.2 算法分析度量算法的时间效率算法的时间效率指算法的执行时间随问题规模的增长而增长的趋势,通常采用时间复杂度来度量算法的时间效率。T(n)=O(f(n)2.度量算法的空间效率空间复杂度指算法在执行时为解决问题所需要的额外内存空间,不包括输入数据所占用的存储空间。S(n)=O(f(n)第20页/共42页表1-2 时间复杂度随n变化情况的比较时间复杂度时间复杂度n=8(23)n=10n=100n=1000O(1)1111O(log
9、2n)33.3226.6449.966O(n)8101001000O(nlog2n)2433.22664.49966O(n2)6410010000106第21页/共42页一个简单语句的时间复杂度为O(1)。int count=0;一个循环的时间复杂度为O(n)。int n=8,count=0;for(int i=1;i=n;i+)count+;时间复杂度为O(log2 n)的循环语句。int n=8,count=0;for(int i=1;i=n;i*=2)count+;时间复杂度为O(n2)的二重循环。int n=8,count=0;for(int i=1;i=n;i+)for(int j=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 绪论Java学习教程 绪论 Java 学习 教程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内