typescript版數據結構與算法庫


數據結構與算法

簡介

  1. 常用的數據結構與算法typescript實現(內容補充中...)
  2. npm => https://www.npmjs.com/package/datastructures-algorithms-ts
  3. github => https://github.com/jarrett-k/datastructures-algorithms-ts
  4. 數據結構

一種遵從后進先出(LIFO)原則的有序集合。新添加或待刪除的元素都保存在棧的同一端,稱作棧頂,另一端就叫棧底。在棧里,新元素都靠近棧頂,舊元素都接近棧底。

import { Stack } from 'datastructures-algorithms-ts'

const stack = new Stac<number>k()

stack.push(...[1,2,3]) 
stack.push(4)
  • push(element(s)):添加一個(或幾個)新元素到棧頂。
  • pop():移除棧頂的元素,同時返回被移除的元素。
  • peek():返回棧頂的元素,不對棧做任何修改(該方法不會移除棧頂的元素,僅僅返回它)。
  • isEmpty():如果棧里沒有任何元素就返回 true,否則返回 false。
  • clear():移除棧里的所有元素。
  • size():返回棧里的元素個數。
  • toString(): 返回棧里的內容的字符串表現形式。

隊列

普通隊列

普通隊列是遵循先進先出(FIFO,也稱為先來先服務)原則的一組有序的項。隊列在尾部添加新元素,並從頂部移除元素。最新添加的元素必須排在隊列的末尾。

import { Queue } from 'datastructures-algorithms-ts'

const queue = new Queue<number>()

queue.enqueue(...[1,2,3]) 
queue.enqueue(4)
  • enqueue(element(s)):向隊列尾部添加一個(或多個)新的項。
  • dequeue():移除隊列的第一項(即排在隊列最前面的項)並返回被移除的元素。
  • peek():返回隊列中第一個元素。隊列不做任何變動(不移除元素,只返回元素信息)。
  • isEmpty():如果隊列中不包含任何元素,返回 true,否則返回 false。
  • clear():移除隊列里的所有元素。
  • size():返回隊列包含的元素個數,與數組的 length 屬性類似。
  • toString(): 返回棧里的內容的字符串表現形式。

雙端隊列

雙端隊列(deque,或稱 double-ended queue)是一種允許我們同時從前端和后端添加和移除元素的特殊隊列。

import { Queue } from 'datastructures-algorithms-ts'

const queue = new Queue<number>()

queue.enqueue(...[1,2,3]) 
queue.enqueue(4)
  • addFront(element):該方法在雙端隊列前端添加新的元素
  • addBack(element):該方法在雙端隊列后端添加新的元素
  • removeFront():該方法會從雙端隊列前端移除第一個元素
  • removeBack():該方法會從雙端隊列后端移除第一個元素
  • peekFront():該方法返回雙端隊列前端的第一個元素
  • peekBack():該方法返回雙端隊列后端的第一個元素)。
  • isEmpty():如果隊列中不包含任何元素,返回 true,否則返回 false。
  • clear():移除隊列里的所有元素。
  • size():返回隊列包含的元素個數,與數組的 length 屬性類似。
  • toString(): 返回棧里的內容的字符串表現形式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM