• 队列知识点


    循环队列:队列从0开始,假如有0、1、2、3、4、5、6、7、8区域,每个区域可能有自己的名字
       空循环队列:首指针和尾指针都指向0区域,尾部指针的区域有值
       满循环队列:首指针和尾指针都指向8区域,尾部指针的区域除满循环队列外都没有值
       
       入队:尾部指针+1
       
       循环队列判断是否满:rear 、front指向同一区域,且不为空
       
       循环队列计算大小
       
    容量和队列长度


       假溢出:顺序存储有1、2、3、4、5其中前4个都有值,只有5是空区域,
               现在出队,1、2两个区域,在入队5、6,明明有1、2、5空但是6却没有地方
               这种现象就是假溢出
               
        循环队列为空的时候,Rear、Front不一定都是0,也可能都是1

    ---------------------------------------------------------------------

       著名的银行家算法,最早是由Dijkstra提出来的。它是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。

        银行家算法最重要的就是判断是可用资源和仍需资源之间的关系,如果可用资源数大于人需资源数,那么我们认为这个进程就是可以执行的,也是安全的,反之,便是不安全的。所以重中之重的是找到各种资源数。

    对进程的判断遵循以下步骤:

    1.计算系统开始时所有的资源数,即开始的可用资源数;

    2.在仍需资源数和可用资源数中作比较,找到符合条件的进程,最后修改进程执行完毕时系统的可用资源数;

    3.继续比较剩余进程和可用资源数,找到下边可以执行的进程;

    4.依次类推;

    --------------------------------------------------------------

    完全二叉树:如果缺少子结点,只能从最右下方开始缺
    满二叉树:每个结点都是满的
    线索二叉树:就是普通二叉数排序后的,已经线索化了,可以通过前序、中序、后序进行遍历
    最优二叉树: 带权路径长度最小(即代价最小)的二叉树称为最优二叉树或哈夫曼树
      给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树。简单的认为就是叶子节点的值

  • 相关阅读:
    samba服务器的功能是什么
    公开透明,是OKR实践中的第一个改变
    springboot websocket全套模板,省去搭建的烦恼
    Vue:实战快速上手
    redis(普通连接和连接池、字符串类型、hash类型、列表类型)
    Ubuntu14.04 gtest+gcov+lcov/gcovr简单使用
    .NET 中的 Json 使用体验
    java毕业设计基于Bootstrap框架的读书网站设计与实现mybatis+源码+调试部署+系统+数据库+lw
    ConcurrentHashMap源码解读(jdk1.8以上版本)
    OpenCV完美实现两张图片的全景拼接(详细教程)
  • 原文地址:https://blog.csdn.net/douxingpeng1/article/details/125937873