logo

  • Hỏi Đáp
  • Kiến Thức
  • Sức Khỏe
  • Tử Vi
  • Công Nghệ
No Result
View All Result
logo
No Result
View All Result
Trang chủ cấu trúc dữ liệu và giải thuật javascript

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT JAVASCRIPT

by Admin _ September 16, 2022

Hello phần lớn người, vào series này mình đang tổng vừa lòng lại một số cấu trúc dữ liệu với giải thuật thịnh hành trong Javascript và phân chia sẽ đến những bạn.

Bạn đang xem: Cấu trúc dữ liệu và giải thuật javascript

Bài viết này nhằm mục đích bắt đầu cho một số trong những bạn chuẩn bị phỏng vấn xin vấn đề về cấu trúc dữ liệu cùng giải thuật.

Xem thêm: Cá Dứa Có Phải Là Cá Bông Lau, 【 Cách Phân Biệt Khô Thật Giả】

Cụ thể, trong bài viết này bản thân sẽ giới thiệu 3 cấu trúc dữ liệu với giải thuật:

StackQueueBinary search tree

1. Stack

Stack là một cấu tạo dữ liệu đường tính tuân theo nguyên tắc LIFO (Last In First Out) hoặc FIFO (First In Last Out). Gồm 2 phép tính chính trong stack.

Push - Thêm một trong những phần tử lên đầu stackPop - rước ra một phần tử được thêm sớm nhất ( bộ phận đầu stack)
*

Chúng ta hãy xem code kiểm tra dưới đây

class Node contructor(value) this.value = value; this.prev = null; class Stack contructor() this.top = null; push(value) let node = new Node(value); node.prev = this.top; this.top = node; pop() if (this.top) let value = this.top.value; this.top = this.top.prev; else return "Stack is empty" let stack1 = new Stack();stack1.push(1);stack1.push(2);stack1.push(3);console.log(stack1.pop()); // 3console.log(stack1.pop()); // 2console.log(stack1.pop()); // 1console.log(stack1.pop()); // stack is empty

2. Queue

Queue cũng là kết cấu dữ liệu tuyến tính. Queue tuân theo nguyên tắc FIFO. Có 2 phép tính thiết yếu trong Queue:

Enqueue - Thêm một trong những phần tử vào thời gian cuối QueueDequeue - Xoá 1 phần tử từ đầu Queue

*

class Node constructor(val) this.value = val; this.next = null; class Queue constructor() this.head = null; this.tail = null; enqueue(val) // lớn tail let node = new Node(val); if (!this.head) //if queue is empty, point head và tail to lớn this new node this.head = this.tail = node; else this.tail.next = node; this.tail = node; // make new node as tail dequeue() // from head if (this.head) let val = this.head.value; this.head = this.head.next; return val; else return "Queue is empty"; let q1 = new Queue();q1.enqueue(1);q1.enqueue(2);q1.enqueue(3);console.log(q1.dequeue()); // 1console.log(q1.dequeue()); // 2console.log(q1.dequeue()); // 3console.log(q1.dequeue()); // Queue is empty

3. Binary tìm kiếm Tree

Binary search tree là 1 trong cây kiếm tìm kiếm nhị phân bao gồm thứ từ hoặc được sắp đến xếp.

Có root nodeMỗi node (bao có root node) sẽ có một khoá lớn lớn hơn tất cả các khoá của cây nhỏ bên trái của node và nhỏ dại các khoá vào cây nhỏ bên đề nghị node
*

Chèn phần tử

Đầu tiên, khoá của node bắt đầu được đối chiếu với root node (node gốc)Nếu khoá của node mới nhỏ hơn root node thì node new sẽ được đối chiếu với khoá của node con bên trái root nodeNếu khoá của node mới to hơn khoá của root node thì node bắt đầu sẽ được so sánh với khoá của node bên nên root nodeTiến trình này sẽ tiến hành lặp cho tới khi node mơi được đối chiếu với node lá và nó được cung ứng bên đề nghị hoặc bên trái node con, tuỳ thuộc vào khoá của nó. Nếu như khoá của nó nhỏ dại hơn khoá của node lá thì nó sẽ được chèn vào làm node bé bên trái của node lá, trái lại sẽ là bên nên của node lá

Duyệt phần tử

Có 3 cách duyệt một cây nhị phân phổ biến nhất

Pre-order (Node ->Left->Right)In-order(Left->Node->Right)Post-order(Left->Right->Node)Việc phê chuẩn theo thứ tự của cây nhị phân sẽ luôn luôn dẫn mang lại danh sách những node sẽ được sắp xếp tăng dần. Ở đây, mình sẽ xúc tiến duyệt theo lắp thêm tự:Duyệt cây con bên trái bằng phương pháp gọi hàm đệ quy printNodeIn ra khoá node hiện nay tạiDuyệt cây bé bên phải bằng cách gọi hàm đệ quy printNode

class Node constructor(val) this.value = val; this.left = null; this.right = null; class BinarySearchTree { constructor() this.root = null; // root node insertNode(parentNode, newNode) { if (newNode.value trên đây, là phân tách sẽ của chính bản thân mình về 3 cấu tạo dữ liệu và lời giải trong Javascript, hi vọng bài viết sau mình đã tổng thích hợp được một số cấu trúc, giải thuật khác để rất có thể share đến những bạn, cảm ơn mọi tín đồ đã theo dõi nội dung bài viết :v

Share Tweet Linkedin Pinterest
Previous Post

Kiểm tra phần tử trùng trong mảng javascript

Next Post

Download head first javascript programming a brain

CÙNG CHUYÊN MỤC

lấy giá trị của option trong javascript

Lấy giá trị của option trong javascript

28/03/2021
nhập dữ liệu từ bàn phím trong javascript

Nhập dữ liệu từ bàn phím trong javascript

28/04/2021
lấy giá trị từ input trong javascript

Lấy giá trị từ input trong javascript

28/04/2021
download javascript for windows 10

Download javascript for windows 10

28/04/2021
bài dịch head first design patterns tiếng việt

Bài dịch head first design patterns tiếng việt

25/01/2023
how to get the first element of an array?

How to get the first element of an array?

12/01/2023
tip: you can get the value of an input element as a number

Tip: you can get the value of an input element as a number

05/01/2023
tìm ước chung lớn nhất javascript

Tìm ước chung lớn nhất javascript

29/12/2022

Newsletter

The most important automotive news and events of the day

We won't spam you. Pinky swear.

Chuyên Mục

  • Hỏi Đáp
  • Kiến Thức
  • Sức Khỏe
  • Tử Vi
  • Công Nghệ

News Post

  • Php str_replace

About

Chúng tôi tạo ra trang web nhằm mục đích mang lại kiến thức bổ ích cho cộng đồng, các bài viết được sưu tầm từ nhiều nguồn trên internet giúp mang lại kiến thức khách quan dành cho bạn

©2023 darkedeneurope.com - Website WordPress vì mục đích cộng đồng

Liên Hệ - Giới Thiệu - Nội Quy - Bảo Mật

No Result
View All Result
  • Trang chủ
  • Chuyên mục
    • Hỏi Đáp
    • Kiến Thức
    • Sức Khỏe
    • Tử Vi
    • Công Nghệ
  • Lưu trữ
  • Liên hệ

© 2023 darkedeneurope.com - Website WordPress vì mục đích cộng đồng.