0%

前面介绍过队列,它是一种先进先出的数据结构,队列中没有哪一个元素是有特权的,前面的元素未处理完,后面的只能等待。而本文章介绍的堆(Heap)正是考虑了适合于特权需求的数据结构,因此,堆也通常被称为“优先队列”(Priority Queue)。

阅读全文 »

二叉搜索树始终特殊的二叉树,它主要用于解决动态查找问题,能够比较快速地查找出想要的元素.而平衡二叉树是对二叉搜索树的改进,它本身也是一颗平衡二叉树,它保证查找所有结点的比较次数的平均值即树的“平均查找长度”最小.

阅读全文 »

树(Tree)是由 n 个结点构成的有限集合。当 n=0 时,称为空树;对于任意一颗非空树,它具备以下特征:

  • 树中有一个称为根的特殊节点,用 r 表示;
  • 其余结点可分为 m 个互不相交的有限集 T1,T2,…,Tm,其中的每个集合本身又是一棵树,称为原来树的子树。
阅读全文 »

线性结构介绍线性表的抽象定义,并分别讨论基于顺序存储和链式存储的线性表的实现方法。同时将介绍两种典型且应用广泛的线性表:堆栈和队列。

线性表的基本操作是插入和删除,堆栈是插入和删除只发生在同一端的线性表,而队列的插入和删除则分别发生在有序序列的两端,即一端只做插入,一端只做删除。

阅读全文 »

一个变量对象可以指示多种实际类型的现象称为多态。在运行时能够自动选择调用哪个方法的现象称为自动绑定。

以下我们定义两个类 Employee 类和其子类 Manager 类。

阅读全文 »

题目描述

给定一个有 N 个顶点和 E 条边的无向图,请用 DFS 和 BFS 分别列出其所有的连通集。假设顶点从 0 到 N−1 编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。

阅读全文 »

接口

介绍

TypeScript 的核心原则之一是对值所具有的结构进行类型检查,其被称为“鸭式辨型法”或“结构式子类型化”。

在 TypeScript 里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。

阅读全文 »

前面介绍了 TypeScript 面向对象的基本特性,现在我们接着前面继续学习 TypeScript 面向对象的其他特性,包含 readonly 修饰符、参数属性、存储器、静态属性、抽象类。

阅读全文 »