zoukankan      html  css  js  c++  java
  • 数据结构中的堆和操作系统里的堆不一样为什么都叫堆呢?

    数据结构中的堆:
    堆实际上指的就是(满足堆性质的)优先队列的一种数据结构,第1个元素有最高的优先权。
    (严蔚敏的数据结构中介绍的堆是在堆排序中。把堆顶元素与最后一个元素替换,然后输出最后一个元素(即交换前的堆顶);然后调整堆。)
    堆性质:叶子节点小于(或大于)父亲节点,则为小(大)顶堆。
    数据结构中的堆可以用一个数组来存储(完全二叉树结构。)

    操作系统中的堆:
    这里的堆是属于内存分配方式的一种:动态分配内存
    实现的方式更接近于链表。堆内存中有很多块内存,可能不是连续的。所有需要用链表来组织。
    在分配的时候,有多种策略。
    首先查找是否有空闲的并且满足大小的堆内存,然后把最大的那块给需求者。
    这里有点像数据结构中堆的优先权。
  • 相关阅读:
    交换实验
    ISIS简单配置
    bgp联盟
    BGP2
    BGP 1
    BGP反射器
    ospf实验3
    bzoj 4503: 两个串
    bzoj 4259: 残缺的字符串
    COGS 2287. [HZOI 2015]疯狂的机器人
  • 原文地址:https://www.cnblogs.com/Ph-one/p/7920289.html
Copyright © 2011-2022 走看看