首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
1
订阅
bycqg
更多收藏集
微信扫码分享
微信
新浪微博
QQ
7篇文章 · 0订阅
逻辑之美(5)_优先队列、二叉堆和堆排序
此文是排序算法系列文章的倒数第三篇,因此本文的主要意图还是讲排序算法,这次我们一起聊聊堆排序。 在正式开始之前,我们先要花些篇幅聊两种很重要的基础数据结构——优先队列和二叉堆。 有时我们需要处理一组有序数据时,并不需要它们整体有序。设想这样一种情况,对于一组数据,每次我们都只处…
被面试官虐了,索引为何使用B+树,你知道吗
数据库索引的数据结构有很多种,比如:哈希索引、平衡二叉树索引、B树索引、B+树索引等等。 目前最流行的是B+树索引,那大家有没有想过为什么是B+树索引最流行,为什么其他索引应用不广泛。 hash大家应该非常的熟悉,就是我们老生常谈的HashMap里用到的技术。Hash索引其检索…
堆排序
1. 堆排序的基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏、最好、平均时间复杂度均为O(nlogn),它也是不稳定排序。 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆,注意:没有要求结点的左孩子…
Java集合系列(四):HashMap、Hashtable、LinkedHashMap、TreeMap的使用方法及区别
本篇博客主要讲解Map接口的4个实现类HashMap、Hashtable、LinkedHashMap、TreeMap的使用方法以及四者之间的区别。 1. HashMap使用 HashMap是Map接口最常用的实现类,存储Key Value键值对,HashMap不保证元素的顺序但…
JavaSE:集合
集合是Java的一种容器,它位于java.util包下,主要包括:Collection(接口)、Map(接口)、集合工具类。
基本算法介绍和常见算法面试题笔记
通常使用最差的时间复杂度来衡量一个算法的好坏。 常数时间 O(1) 代表这个操作和数据量没关系,是一个固定时间的操作,比如说四则运算。 对于一个算法来说,可能会计算出如下操作次数 aN + 1,N 代表数据量。那么该算法的时间复杂度就是 O(N)。因为我们在计算时间复杂度的时候…
一道Java面试题引发的思考
这两天做了一道常见的Java面试题,毫无悬念的做错了,在运行出正确答案之后,发现以自己的知识储备竟然无法完整的解释为什么,十分惭愧,于是有了这篇文章,对其进行总结反思。 后面两个还能理解,形参、实参、值传递、引用传递啥的一混合,还能说得过去,可是第一个为什么是hello呢,st…