• 2024-10-03
    堆的性质1.堆是一颗完全二叉树2.堆的顶端一定是“最大”,最小”的,但是要注意一个点,这里的大和小并不是传统意义下的大和小,它是相对于优先级而言的,当然你也可以把优先级定为传统意义下的大小,但一定要牢记这一点,初学者容易把堆的“大小”直接定义为传统意义下的大小,某些题就不是按
  • 2024-09-23算法题:数组中的第K个最大元素
    数组中的第K个最大元素问题描述:在未排序的数组中找到第K个最大的元素。解题思路:可以使用最小堆(优先队列)来解决这个问题。将数组中的元素依次加入最小堆中,当堆的大小超过K时,就弹出堆顶元素(即当前最小的元素)。最后,堆顶元素即为第K个最大的元素。Java代码实现(这里使用Java的
  • 2024-09-09算法与数据结构——堆
    堆堆(heap)是一种满足特定条件的完全二叉树,主要分为两种类型:小顶堆(minheap):任意节点的值≤其子节点的值大顶堆(maxheap):任意节点的值≥其子节点的值堆作为完全二叉树的一个特例,具有以下特性:最底层节点靠左填充,其他层的节点都被填满我们将二叉树的根节点称为“堆顶”,将
  • 2024-09-07LeetCode刷题 堆
    一:堆1、一种二叉树的结构(完全二叉树)2、完全二叉树:从上到下;从左到右;填满3、最大堆:根节点的权值大于孩子节点4、最小堆:根节点的权值依次小于孩子节点5、常用操作#创建堆(最大堆,最小堆)#添加元素#获取堆顶元素#删除堆顶元素#堆的长度#堆的遍历二:刷题215数组中的第K个最