基本的数据结构

基本的数据结构

1.栈

* 特点:
		是一种特殊的线性表
		栈数据结构的特点(先进后出)	FILO:
		栈结构是从一端存储元素,还是从这一段取出元素
		入栈:	储存元素
		出栈: 取出元素
		
举例:	弹夹 ,和往箱子里面放书
    
*  栈内存和栈结构的区别:
		栈内存:方法运行时要进入栈内存,方法运行完时要弹栈消失,
        
* 应用场景:	常用于递归的实现,例如斐波那契数列;
	
	

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BCHNVhdF-1595148190888)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1566890046940.png)]

2.队列

* 特点:
		队列和栈一样是一种线性表
		不同的是,队列从字一端存储元素,再另一端取出元素
		存储元素称为: 入队
		取出元素称为: 出队
		队列的特点先进先出(FIFO)
		从一端
	举例: 排队,传送带
    
* 应用场景:在多线程阻塞队列管理中非常试用


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZRWioOJV-1595148190899)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1566891389773.png)]

3.数组

### 特点:
	数组结构的特点:插叙快,增删慢
	
### 为什么查询快:
	应为数组在内存中的存储是连续的,
	连续存储是指数组中的元素在内存中是相邻的
	
### 为什么增删慢:
		应为数组的长度是固定的,每次进行增删的操作的时候都要重新创建一个新的数组

* 我们常说的数组的地址值,其实是指数组中首个元素的地址值,
		应为存储是连续的那么我们根据索引能够计算出对应的地址值,来取到对应的元素 
		
	
	

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WFmYjCQw-1595148190920)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1566892512857.png)]

4.链表

* 特点:
		链表结构的特点:
			链表是有很多的节点组成的
	每个节点至少包含两个内容:
	
		1.真正存储的数据
		2.指向下一个节点的地址值
	每个节点本身也有地址值
	
### 链表查询慢的原因:
	因为链表在内存中的存储是离散存储的,
	
	离散储存是指:链表的节点在内存的的存贮是没有规律的
	如果要找到一个节点,就需要从前面一个一个找
### 链表增删快的原因	
	如果需要删除一个节点,只需要把上一个的节点的地址值直接指向下一个节点的地址值
	
	在java中每个节点都是一个对象,如果说一个节点没有任何节点来指向和指向任何节点,
	那么这个节点(对象)也就是一个垃圾对象,将会由垃圾回收器进行回收处理
	



[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-93l5nJYb-1595148190939)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1566893612119.png)]

5.树

* 介绍:
		数也是一种数据结构
		
		数是由很多节点组成的
		
	二叉树: 每一个节点下面最多有两个子节点;
    二叉查找树:	在二叉树的基础上增加了排序的功能
    平衡二叉查找树: 在二插树的基础上增加了平衡的功能
    	平衡的标准是:最高的叶子节点和最低的叶子节点的高度差不超过1
    红黑树: 是在平衡二叉查找树的基础上增加了自平衡的功能
    
* 树	--->二叉树--->二叉查找树---->平衡二叉查找树---->红黑树	


* 红黑树可以通过红色节点和黑色节点尽可能的保证二叉树的平衡,从而来提高效率。
红黑树的约束:
    1. 节点可以是红色的或者黑色的
    2. 根节点是黑色的
    3. 叶子节点(特指空节点)是黑色的
    4. 每个红色节点的子节点都是黑色的
    5. 任何一个节点到其每一个叶子节点的所有路径上黑色节点数相同
红黑树的特点:
    速度特别快,趋近平衡树,查找叶子元素最少和最多次数不多于二倍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wgmdsriv-1595148190944)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1566895492428.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o3vAYz2P-1595148190949)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1566896248106.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eSuz4CrR-1595148190958)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1566896550215.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-amr7rJbc-1595148190962)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1566896852370.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VV9utiI9-1595148190972)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1566897069340.png)]

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值