Java数据结构和算法(一):概述!
前言
今天博主将为大家分享:Java数据结构和算法(一):概述!不喜勿喷,如有异议欢迎讨论!
如果单讲数据结构是没什么意义的,算法是建立在数据结构的基础之上!
首先:什么是Java包装类型?
Java 提供了 8 种 基本数据类型及对应的 8 种包装数据类型。我们知道 Java
是一种面向对象编程的高级语言,所以包装类型正是为了解决基本数据类型无法面向对象编程所提供的。
基本数据类型 | 包装类型 |
byte | Byte |
boolean | Boolean |
short | Short |
char | Character |
int | Integer |
long | Long |
float | Float |
double | Double |
包装类型的继承结构图。
数据结构概述
什么是数据结构
数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。
简单来说:数据结构其实就是数据和数据之间的关系,数据在计算机进行管理,数据相互之间有什么关系数据结构重点讨论这个玩应。
分类一:数据的存储结构
是指数据在计算机存储器(内存)中是如何存储的。
一:顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据之间的逻辑关系和物理关系是一致的,数据就是顺序存储结构的典型代表。
比如:a1,a2,a3…a n-1,a n-2(0,1,2,3…n-2,n-1)每个格子认为是数据,a0就是第一个数据放在0位置一次类推下去,也就是顺序存储。二:链式存储结构:提起链式存储结构,其与数组是两个非常基础的数据结构,每当提到链式存储结构时,一般情况下我们都会将其与数组放到一块儿来比较。
推荐阅读这篇文章:细说链式存储结构 细致的讲解了:单向链表,双向链表,循环链表,双向循环链表。
很随意的存储,我只需要每次存储时把该数据的存储地址拿到即可,找到地址就找到数据。三:两种方式的区别
- 如何理解:如去食堂打饭,从打饭窗口排队,一个一个往后排队即为顺序存储方式。
- 链式:如去食堂打饭,从打饭窗口排队,一个一个往后排队比较急切,每个人进来我都标注你是第几个也就是号码,用排号机来叫号取饭(即我可以任意叫某一个人叫号码,如有Vip直接点名Vip插队)其他人呢就向后排但是号码不变Vip给一个比第一个人号码小比如Vip为0。
分类二:数据的逻辑结构(重点)
数据和数据之间本身之间是什么关系。
一:集合结构:数据元素之间属于一个集合,他们之间是并列的关系,除此之外没有其他关系(比如1-10相互之间没什么关系但是又都属于小于10的一个圈子)。
二:线性结构:元素存在一对一的关系。(比如你的学号和你就是一对一的关系,并且你前后都有其他的学号进行排列)
三:树形结构:元素存在一对多关系。(比如你的老师带你一个班级,此班级所有学生都有该老师上课,同时又有各个班委,组长负责各个同学,即为树形结构)
四:图形结构:元素存在多对多关系。
到这里:Java数据结构和算法(一):概述!!分享完毕了,快去消化理解一下吧!