算法学习

82 阅读1分钟
  1. 链表

  2. 队列 头尾指针(head/tail)长度、类型(length/datatype)

    head出队 tail入队(一般是指向空)

    对齐一些基本概念,比如火车站排队买票:先来排队的人可以买到票(FIFO)

    允许插队的队列叫优先队列

    队列假溢出:(队列中存在未释放的空间,解决的方法循环队列。 循环队列tail到最后再指向开始的位置,有效地利用队列的空间 (练习算法实现的时候,关注有哪些属性,哪些方法) 队列是否为空是一个逻辑上的定义

  3. 队列技术应用场景 场景一: CPU的超线程技术 真双核 核心连接的指令发射管,可以认为是指令队列 虚拟四核:给每个核心怎加虚拟的指令队列

    一个CPU叫一路 多路CPU 场景二:线程池的任务队列 比如:一个人在做多个事情 在进程中,申请和销毁线程的使用,如果对线程有频繁的申请和销毁的操作,可以使用线程池。建立一个任务队列,作为任务缓冲区。有新的任务后,放进任务队列中,线程从任务队列中去取任务

函数式编程/泛型编程