`
huangz
  • 浏览: 322255 次
  • 性别: Icon_minigender_1
  • 来自: 广东-清远
社区版块
存档分类
最新评论

TAoCP 2.2.2 - 2.2.3 Queue (队列)

 
阅读更多

Queue (队列),俗称FIFO结构,主要操作有两个,enqueue(入队)和dequeue(出队),数组实现还有一个succ(回绕)操作。

 

图里只画了链表结构的enqueue和dequeue,还有线性结构的succ。

 

代码只做了线性结构的,其他自己补完吧。

 

:)

 


 

 

#! /usr/bin/env python3
# coding:utf-8

class QueueException(Exception): pass
class QueueOverFlow(QueueException): pass
class QueueUnderFlow(QueueException): pass


class Queue:
   
    def __init__(self, max_size):
        self.max_size = max_size
        self.data = [None] * max_size

        self.size = 0
        self.front = 0
        self.rear = 0

    def is_empty(self):
        return self.size == 0

    def is_full(self):
        return self.size == self.max_size

    def succ(self, current_index):
        return (current_index + 1) % self.max_size

    def enqueue(self, data):
        if self.is_full():
            raise QueueOverFlow

        self.data[self.rear] = data
        self.rear = self.succ(self.rear)

        self.size += 1

    def dequeue(self):
        if self.is_empty():
            raise QueueUnderFlow

        data = self.data[self.front]
        self.front = self.succ(self.front)

        self.size -= 1

        return data
  • 大小: 3.6 MB
分享到:
评论

相关推荐

    taocp-en-djvu

    taocp-en-djvu

    taocp-rust:锈蚀中实施的各种TAOCP练习

    而"taocp-rust"项目则是在Rust编程语言中对TAOCP中的练习进行了实现。 Rust是一种系统级编程语言,以其内存安全、并发性能和零成本抽象等特点著名。它通过所有权和生命周期的概念,以及类型系统,能够防止常见的...

    TAOCP, 算是到现在为止已经写出来的

    《算法导论》(The Art of Computer Programming,简称TAOCP)是由计算机科学先驱Donald Knuth撰写的一部经典著作,至今仍被视为计算机科学领域的权威参考书。这本书深入探讨了编程艺术与算法设计的精髓,涵盖了从...

    TAOCP卷一TAOCP卷一

    TAOCP卷一

    TAOCP Errata

    1. "TAOCP" 即 "The Art of Computer Programming"(《计算机程序设计艺术》),是由Donald Ervin Knuth所著的一套书籍。该书被誉为计算机科学领域的经典之作,深入探讨了算法设计和分析的理论基础。 2. "Errata" ...

    TAOCP第三卷高清版

    《计算机程序设计艺术》(The Art of Computer Programming),简称TAOCP,是由计算机科学先驱Donald E. Knuth所著的一部巨著。这套书以其深入细致的算法分析和严谨的数学表述闻名于世,是计算机科学领域的经典之作。...

    TAOCP第二卷高清版

    TAOCP作为一个资料库是绝对优秀的,基础的算法只要你能想到的,几乎都可以在上面找到原始出处。

    mmix文档-用于taocp

    MMIX文档是为Donald Knuth编著的《计算机程序设计艺术》(TAOCP)的最终卷而设计的,它介绍了MMIX这一全新的计算机架构,旨在完全取代原先的MIX架构。MIX计算机设计于38年前,随着时间的推移,计算机架构已经发生了...

    [TAOCP的数学基础]具体数学

    《具体数学》是计算机科学领域的一本经典著作,由著名计算机科学家Donald Knuth撰写,作为其巨著《计算机程序设计艺术》(The Art of Computer Programming,简称TAOCP)的数学基础部分。这本书深入浅出地介绍了...

    计算机程序设计艺术(第三版,英文版,第一卷:基本算法),TAOCP V1 3rd Edition

    计算机程序设计艺术(第三版,英文版,第一卷:基本算法),TAOCP V1 3rd Edition,英文扫描版,清晰,带书签

    MMIX 手册(TAOCP第一卷中的相关部分)

    MMIX 手册(TAOCP第一卷中的相关部分)

    TAOCP 卷一

    最著名的算法分析书,作者是顶尖大牛,英文原版,第三版。

    taocp 三卷共165MB 一共只要15分 省积分的这边来!

    Addison Wesley - 2001 - Knuth - The Art of Computer Programming Vol I II III IV全卷共165MB.一共只要15分. 我也是下载后自行打包的.原来一共8卷,每个3分,用了我24分. 拿来共积分不多的人下载.

    TAOCP㈠.rar计算机程序设计艺术(第一卷)

    标题中的"TAOCP"是"The Art of Computer Programming"的缩写,这是一部广泛被程序员、计算机科学家以及对算法有深厚兴趣的人们所推崇的系列书籍。 第一卷,标题为"TAOCP㈠.rar",主要涵盖了基础的计算方法和数据...

    《The Art of Computer Programming》 TAOCP 高清 PDF

    经典数据结构与算法书,历经几十年仍然经典!虽使用古老的汇编语言,但是历久常新。好书! 啥?!看完了?大犇!!!去自己创业吧。

    The art of computer programming II-(TAOCP2)

    第三章 Random Number 3.1 Introduction 3.2 generating uniform random numbers ... 第四章 Arithmetic

    TAOCP Vol 3

    计算机程序设计技巧3.排序查找计算机程序设计技巧3.排序查找

    ACM算法经典书籍----最全最详细的书籍推荐!

    - **特点**: TAOCP是算法领域最权威的著作之一,包含了极其丰富的算法内容。 - **适用人群**: 适合希望深入了解算法设计和分析的专业人士。 - **内容覆盖**: - 排序算法 - 搜索算法 - 数学运算 - 算法分析等 ##...

    TAOCP第一卷高清版

    《计算机程序设计艺术》(The Art of Computer Programming,简称TAOCP)是由计算机科学先驱Donald E. Knuth所著的一套权威性巨著。这套书以其深入细致的讲解、严谨的数学分析和丰富的实际应用,深受全球程序员、...

    knuth-elevator:Donald E. Knuth描述的电梯模拟器的Go实现

    它演示了排序的未决事件队列和单个线程(对于Go,为一个goroutine)如何模仿并行处理。 虽然可以使用基本的人为设计系统来解释该概念,但Knuth精心设计了15页的数学大楼中的电梯系统(忽略了随后的练习)。 并且,...

Global site tag (gtag.js) - Google Analytics