数据结构与算法笔记2——哈希表


一、哈希表是什么?

哈希表是一种可以存储键值对的数据结构

Haspmap<String,Student>hashtable = new HashSet<String,Student>();

常用方法:

  • public void clear() 清空散列映射
  • public Object clone() 返回当前散列映射的一个克隆
  • public boolean containsKey(Object key): 如果散列映射有键值对使用了参数指定的键,则返回true,否则false
  • public boolean containsValue(Object Value):如果散列映射有键值对使用了参数指定的值,则返回true,否则false
  • public V get(Object key): 返回值
  • public boolean isEmpty(): 如果不含任何键值对,返回true
  • public V remove(Object key): 删除指定的键值对,返回键所对应的值
  • public int size(): 返回散列映射的大小,即散列映射中键值对的数目

二、数集

在同一层中的节点从左往右按字从小到大的顺序递增排列,下一层都比上一层的小,例如:

TreeSet<String>mytree = new TreeSet<String>();

常用方法:

  • public boolean add(E o ):向数集添加结点,结点中的数据由参数决定,添加成功返回true
  • public void clear()
  • public void contains(Object o)如果数集中包含参数指定的对象,则该方法返回true
  • public E first(): 返回第一个结点中的数据,就是最小的结点
  • public E last(): 最后一个结点的数据
  • public isEmpty()
  • public boolean remove(Object o)如果删除成功返回true
  • public int size() 返回结点数目

三、有序表

TreeMap<Integer,String>treeMap = new TreeMap<>();

常用方法:

  • void put(K key, V value):将一个(key,value)记录加入到表中,或者将key的记录更新为value
  • V get(K key):根据给定的key,查询value并返回
  • void remove(K key):移除key的记录
  • boolean containsKey(K key):询问是否有key的记录
  • K firstKey():返回最左的那个
  • K lastKey():返回最由的那个‘
  • K floorKey(K key):如果表中存过key,返回key,否则返回所有键值排序结果中key的前一个
  • K ceilingKey(K key):如果表中存过key,返回key,否则返回所有键值排序结果中key的后一个

上诉所有操作时间复杂度都是O(logN),N为有序表中有的记录数


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿不熬夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值