Java数据结构的一些笔记(七)

本文深入探讨了Java中各类数据结构的特点与应用,包括数组、链表、树、哈希表及图等,解析排序算法如冒泡排序、选择排序、插入排序、快速排序,并介绍栈、队列、堆等辅助工具数据结构的使用场景。

Java数据结构的一些笔记

数组
  • 插入快、查找慢、删除慢、大小固定扩展性差
  • 冒泡排序 冒泡排序是由两个for循环构成,第一个for循环的变量 i 表示总共需要多少轮比较,第二个for循环的变量 j 表示每轮参与比较的元素下标【0,1,…,length-i】
  • 选择排序 每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 交换次数比冒泡排序少
  • 插入排序 每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。 随机数性能超过冒泡排序和选择排序
  • knuth间隔序列和希尔排序
  • 快速排序 分治算法 递归
算术表达式 前缀 中缀 后缀
  • 理解计算机处理算术表达式原理

与队列同作为构思算法的辅助工具的数据结构

  • 继承Vector
  • 逆序
队列

与栈同作为构思算法的辅助工具的数据结构

  • 普通队列
  • 双端队列
  • 优先级队列
链表
  • 单向
  • 双向
  • 有序
  • 抽象数据类型ADT,模拟栈和队列
  • 二叉树,哈夫曼树,二叉树搜索
  • 红黑树
  • 2-3-4树
哈希表

也称散列表,是一种根据关键字值(key - value)而直接进行访问的数据结构,基于数组,通过把关键字映射到数组的某个下标来加快查找速度,重要的问题就是如何把关键字转换为数组的下标,这个转换的函数称为哈希函数。

  • 开放地址法
  • 链地址法
  • 不同于JVM的堆
  • 是完全二叉树
  • 数组实现
  • 插入快,删除慢

是一种数据结构,最常用的数据结构之一,树是图的一种

  • 邻接、路径、有向图、无向图、有权图、无权图
  • 顶点、边
  • 深度优先搜索、广度优先搜索
  • 最小生成树 用最少的边连接所有顶点 V = E + 1

https://www.cnblogs.com/ysocean/p/7889153.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值