- 1、本文档共76页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第5章链表与LinkedList类2024/11/91
5.1链表的特点2024/11/92链表是由若干个节点组成,这些节点形成的逻辑结构是线性结构,节点的存储结构是链式存储,即节点的物理地址不必是依次相邻的。对于单链表,每个结点含有一个数据,并含有下一个节点的引用。对于双链表,每个节点含有一个数据,并含有上一个节点的引用和下一个结点的引用(Java实现的是双链表)
2024/11/935.1链表的特点图示意的是有5个节点的双链表(省略了上一个节点的引用箭头示意)。注意,链表的节点序号是从0开始,每个节点的序号等于它前面的节点的个数。链表中的节点的物理地址不必是相邻的,因此,链表的优点是不需要占用一块连续的内存存储空间。图5.1
2024/11/945.1链表的特点?●删除头、尾节点的复杂度O(1)删除前面所示意5个节点的的链表的头节点(大象-节点)后的示意图。
2024/11/955.1链表的特点?●查询头、尾节点的复杂度O(1)查询狮子和鳄鱼的时间复杂度都是O(1)。
2024/11/965.1链表的特点?●添加头尾节点的复杂度O(1)要给图5.1所示意的链表的添加新的尾节点(企鹅-节点),根据双链表保存的尾节点的地址,找到尾节点(鳄鱼-节点),将这个尾节点中的下一个节点的引用设置成新添加的节点(企鹅-节点)的引用,将添加的新节点(企鹅-节点)中的上一个节点的引用设置成鳄鱼-节点的引用,将添加的新节点(企鹅-节点)中的下一个节点的引用设置成null,即让新添加的节点成为尾结点。
2024/11/975.1链表的特点●查询中间节点的时间复杂度O(n)链表的节点的物理地址不是相邻的,节点通过互相保存引用链接在一起。?
2024/11/985.1链表的特点●删除中间节点的复杂度O(n)链表的节点的物理地址不是相邻的,节点通过互相保存引用链接在一起。?删除了老虎-节点
2024/11/995.1链表的特点●插入中间节点的复杂度O(n)?插入新节点后,新链表中的节点序号按新的链表长度从0开始排列。
2024/11/9105.1链表的特点●插入中间节点的复杂度O(n)图5.1的链表中插入新的第2个节点(羚羊-节点)
5.2创建链表2024/11/911链表由Java集合框架(JavaCollectionsFramework,JCF)中的LinkedListE泛型类所实现。
2024/11/9125.2创建链表LinkedListE泛型类实现了Java集合框架中的List和Queue泛型接口。LinkedLisEt泛型类继承了List和Queue泛型接口中的default关键字修饰的方法(去掉了该关键字),实现了List和Queue泛型接口中的抽象方法。
2024/11/9135.2创建链表例子1Example5_1.java使用LinkedListE泛型类声明链表时,必须要指定E的具体类型,类型是类或接口类型(不可以是基本类型,比如int、float、char等),即指定链表中节点里的对象的类型。例如,指定E是String类型:LinkedListStringlistOne=newLinkedList();或LinkedListStringlistOne=newLinkedListString();例子1中的主类Example5_1中首先创建一个空链表listOne,然后向空链表listOne添加4个节点,随后再用listOne创建链表listTwo。修改listTwo节点的数据,并不影响listOne节点中的数据。
5.3查询与相等2024/11/914查询链表节点中的数据的常用方法:???booleanequals(Objectlist)如果此链表和list长度相同,并且对应的每个节点中的对象也相等,那么方法返回true,否则返回flase。
2024/11/9155.3查询与相等例子2People.javaExample5_2.java例子2中的主类Example5_2中比较了get(intindex)方法和getLast()方法的运行时间。例子2中的People类重写了booleanequals(Objecto)方法.
2024/11/9165.3查询与相等例子3RandomLayMines.javaExample5_3.java?主类Example5_3使用layMines(char[][]area,intamount)方法布雷39颗。
2024/11/9175.3查询与相等例子4TeamGame.javaExample5_4.java?
5.4添加2024/11/918链表添加节
您可能关注的文档
- 数据结构与算法(Java语言版)课件 第1、2章 数据结构简介、 算法复杂度.pptx
- 数据结构与算法(Java语言版)课件 第3、4章 递归算法、 数组与Arrays类.pptx
- 数据结构与算法(Java语言版)课件 第7、8章 栈与Stack类、 队列与ArrayDeque类.pptx
- 数据结构与算法(Java语言版)课件 第9、10章 二叉树与TreeSet类、 散列表与HashMap类.pptx
- 数据结构与算法(Java语言版)课件 第11--13章 集合HashSet类、 常用算法与Collections类、图论.pptx
- 数据结构与算法(Java语言版)课件 第13、14章 图论、 经典算法思想.pptx
- 数据结构与算法(Java语言版)课件全套 耿祥义 第1--14章 数据结构简介--经典算法思想.pptx
- 数据结构与算法(Java语言版) 教案1--14 (48+8)耿祥义 - 第一章 数据结构简介、算法复杂度----第六章 顺序表与ArrayList类6.7,6.8,6.9.docx
- 数据结构与算法(Java语言版) 教案15--28(48+8)耿祥义 第7--14章 栈与Stack类----经典算法思想.docx
- 数据结构与算法(java语言版)-教学大纲、教案1--4 耿祥义(48+8).doc
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
最近下载
- 2024-2025学年小学美术一年级上册(2024)冀美版(2024)教学设计合集.docx
- 压力管道使用单位题库-安全总监.docx
- (完整版)西游记模板.ppt
- 学习贯彻《促进高质量充分就业》心得体会.doc
- 南京林业大学2020-2021学年《Python程序设计》期末考试试卷(A卷)及标准答案.docx
- 2022年集美大学软件工程专业《操作系统》科目期末试卷A(有答案).pdf VIP
- NY_T 3917-2021CN柑橘全果果汁(浆)加工技术规程.pdf
- 附件1:中国中铁股份有限公司职业项目经理管理办法(试行).doc
- 小学数学新西师版一年级上册全册教案(2024秋).doc
- 推拿学基础.doc
文档评论(0)