Java中的各种数据结构和算法的比较

线性表相关:
线性表是一种逻辑结构,相同数据类型的N个数据元素的有限序列,除了第一个元素外,每个元素有且仅有一个直接前驱,除了最后一个元素外,每个元素有且仅有一个直接后继。
线性表的特点:
1.元素个数有限
2.逻辑上元素有先后次序
3.数据类型相同
4.仅讨论元素间的逻辑关系
线性表的层次关系:
在这里插入图片描述

栈和队列是两种操作受限的线性表:栈的插入和删除只能在表尾端进行,即栈顶;队列只能在表尾插入元素,在表头删除元素,都可以通过顺序结构和链式结构实现,插入与删除的时间复杂度都是O(1),在空间复杂度上两者也一样。

算法复杂度的知识
算法复杂度是对一个算法进行计算的时候,存储数据需要占用一定的空间和执行计算需要耗费一定的时间的一种评价。
平时说的代码的时间复杂度指的是渐进时间复杂度:nn>n!>cn>n^c>log©n>c

稳定性
稳定性指相同元素的相对位置不会改变。其中,稳定的排序算法有冒泡排序,插入排序,归并排序,基 数排序。
适用场景: 1. 当排序个数小于50个时,适合用直接插入排序和简单选择排序,如果排序的元素太多,就不适合用 直接插入排序,因为直接插入排序需要移动元素的次数比较多ÿ

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值