- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java数据结构总结(共7篇)
Java数据结构(一)——线性结构 一,数据结构概述 在计算机教学中,数据结构是计算机存储、组织数据的方式(包括对其操作)。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。数据结构和建立在数据结构上的操作算法是对立统一的。精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 数据结构是由数据元素依据某种逻辑联系组织起来的。依据这种逻辑关系,数据结构分为:线性和非线性数据结构。这里重点介绍线性数据结构。线性结构是n个数据元素的有序集合。 二常见的Java的线性数据结构 1,数组 n个有序的数据元素存可以存放在数组中。 int[]a=newint[10]; String[]s=newString[10]; Student[]ss=newStudent[10]; 关于数组最核心的操作就是遍历,这种遍历应该是通过循环语句来实现的。 for(inti=0;i0;out--) for(in=0;ina[in+1]) Swap(in,in+1); } } 算法的不变性:许多算法中,有些条件在算法执行过程中始终是不变的。这些条件被称为算法的不变性,如果不变性不为真了,则标记出错了; 冒泡排序的效率O,比较N*N/2,交换N*N/4; 2.选择排序的思想: 假设有N条数据,则暂且标记第0个数据为MIN,使用OUT标记最左边未排序的数据,然后使用IN标记第1个数据,依次与MIN进行比较,如果比MIN小,则将该数据标记为MIN,当第一轮比较完后,最终的MIN与OUT标记数据交换,依次类推; 选择排序的java代码: PublicvoidselectSort() Intin,out,min; For(out=0;out0a[in-1]temp) { A[in]=a[in-1]; --in; A[in]=temp; } } 插入排序的效率:O,比较N*N/4,复制N*N/4;插入排序在随机数的情况下,比冒泡快一倍,比选择稍快;在基本有序的数组中,插入排序几乎只需要O;在逆序情况下,并不比冒泡快; 二、栈与队列 1、栈的定义 栈是限制仅在表的一端进行插入和删除运算的线性表。 (1)通常称插入、删除的这一端为栈顶,另一端称为栈底。 (2)当表中没有元素时称为空栈。 (3)栈为后进先出的线性表,简称为LIFO表。栈的修改是按后进先出的原则进行。每次删除的总是当前栈中最新的元素,即最后插入的元素,而最先插入的是被放在栈的底部,要到最后才能删除。 【示例】元素是以a1,a2,?,an的顺序进栈,退栈的次序却是an,an-1,?, a1。 2、栈的基本运算 InitStack 构造一个空栈S。 StackEmpty 判栈空。若S为空栈,则返回TRUE,否则返回FALSE。 StackFull 判栈满。若S为满栈,则返回TRUE,否则返回FALSE。 注意:该运算只适用于栈的顺序存储结构。 Push 进栈。若栈S不满,则将元素x插入S的栈顶。 Pop 退栈。若栈S非空,则将S的栈顶元素删去,并返回该元素。 StackTop 取栈顶元素。若栈S非空,则返回栈顶元素,但不改变栈的状态。 队列的定义及基本运算 1、定义 队列是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表 实验二典型数据结构实现与操作 一、实验目的 1、设计、实现并测试一系列Java引用类型; 2、训练学习者面向对象高级特性的应用能力,包括类的继承、方法重写、抽象类与接口应用、程序流程控制; 二、实验内容 1、Performer接口,描述一切具有“自我表现”能力的事物,其中至少应提供一个show()方法用于显示当前事物的相关说明信息。 2、Person类,实现Performer接口,描述人员信息及相关操作,包括但不限于人员姓名、年龄等。 3、Book类,实现Performer接口,描述图书信息及相关操作,包括但不限于书号、书名、价格等。 4、抽象类Node,实现Performer接口,描述通用数据节点,其中应封装一整型的数据值value及相关操作功能。 5、LinkedListNode类,继承抽象类Node,描述单向链表节点,在Node数据结构基础上添加一个next属性,以指向其后继节点。 6、TreeNode类,继承抽象类Node,描述二叉树节点,在Node数据结构基础上添加lchild及rchild属性,分别用于引用其“左孩子”、“右孩子
您可能关注的文档
最近下载
- 园长研修总结(3篇).docx VIP
- 东证期货-商品基本面量化框架系列-二-:黄金择时因子及多周期合成.pdf VIP
- 2024年9月8日贵州省黔西南州州直遴选(事业单位考聘)笔试真题及答案解析.doc VIP
- 安徽省综合评标评审专家入库、续聘考试试题(含答案).docx VIP
- 第2章金属材料组织-4-清华大学-工程材料.ppt VIP
- 第2章金属材料组织-3-清华大学-工程材料.ppt VIP
- 2025政治理论时政热点知识试题库(含+答案).docx VIP
- 2025人民防空防护设备产品选型目录.docx VIP
- 第2章金属材料组织-1-清华大学-工程材料.ppt VIP
- Unit 4 Plants around us课件(63张PPT)三年级上册(2024版).pptx VIP
文档评论(0)