หน้าแรก
หน้าแรก
นี่คือการใช้งานคลาส LinkedList ที่สมบูรณ์ - ตัวอย่าง class LinkedList { constructor() { this.head = null; this.length = 0; } insert(data, position = this.length) { let node = new this.Node(data); &
รายการที่เชื่อมโยงแบบทวีคูณเกือบจะเหมือนกับรายการที่เชื่อมโยงเพียงอย่างเดียวในการดำเนินการทั้งหมด เราเพียงแค่ต้องติดตามลิงก์พิเศษหนึ่งลิงก์ต่อโหนด ในรายการที่เชื่อมโยงอย่างเดียว เราเพิ่งมีลิงก์ถัดไป ในรายการที่เชื่อมโยงแบบทวีคูณ เรามี 2 ลิงก์ ถัดไปและก่อนหน้า รายการที่เชื่อมโยงแบบทวีคูณจะแสดงเป็น −
เริ่มต้นด้วยการกำหนดคลาสอย่างง่ายด้วยตัวสร้างที่เริ่มต้นส่วนหัวและส่วนท้ายให้เป็นค่าว่าง เราจะกำหนดโครงสร้างอื่นบนต้นแบบของคลาส DoublyLinkedList ที่จะเป็นตัวแทนของแต่ละโหนดในรายการที่เชื่อมโยง ตัวอย่าง class LinkedList { constructor() { this.head = null; &nb
เราจำเป็นต้องสร้างฟังก์ชัน insert(data, position) ที่แทรกข้อมูลที่ตำแหน่งที่กำหนดในรายการที่เชื่อมโยง เราจะดำเนินการตามขั้นตอนต่อไปนี้ - สร้างโหนดใหม่ ตรวจสอบว่ารายการว่างเปล่าหรือไม่ ถ้ามันเพิ่มโหนดไปที่หัวและท้ายแล้วกลับ ถ้าไม่ใช่ เราจะวนซ้ำไปยังตำแหน่งที่เราต้องการแทรกโดยใช้ currElem เราทำซ้ำราย
เราสามารถล้างเนื้อหาได้โดยการกำหนดองค์ประกอบคอนเทนเนอร์ใหม่ให้กับอาร์เรย์ที่ว่างเปล่า ตัวอย่างเช่น clear() { this.container = []; } ตัวอย่าง คุณสามารถตรวจสอบว่าฟังก์ชันนี้ทำงานได้ดีหรือไม่โดยใช้: let q = new Queue(2); q.enqueue(3); q.enqueue(4); q.display(); q.clear(); q.display(); ผล
นี่คือการใช้งานคลาส Queue ที่สมบูรณ์ - ตัวอย่าง class Queue { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.m
ลำดับความสำคัญของคิวเป็นประเภทข้อมูลนามธรรมซึ่งเหมือนกับโครงสร้างข้อมูลคิวปกติหรือสแต็ก แต่นอกจากนี้ แต่ละองค์ประกอบยังมี ลำดับความสำคัญ ที่เกี่ยวข้องด้วย ในคิวที่มีลำดับความสำคัญ องค์ประกอบที่มีลำดับความสำคัญสูงจะแสดงผลก่อนองค์ประกอบที่มีลำดับความสำคัญต่ำ หากองค์ประกอบสองรายการมีลำดับความสำคัญเท่าก
คลาสของเราจะมีฟังก์ชันดังต่อไปนี้ - enqueue(element):ฟังก์ชั่นเพิ่มองค์ประกอบในคิว dequeue():ฟังก์ชันที่ลบองค์ประกอบออกจากคิว peek():ส่งกลับองค์ประกอบจากด้านหน้าของคิว isFull():ตรวจสอบว่าเราถึงขีดจำกัดองค์ประกอบในคิวหรือไม่ isEmpty():ตรวจสอบว่าคิวว่างหรือไม่ clear():ลบองค์ประกอบทั้งหมด display():แส
การจัดคิวองค์ประกอบใน PriorityQueue หมายถึงการเพิ่มองค์ประกอบในอาร์เรย์ตามลำดับความสำคัญขององค์ประกอบ เราจะพิจารณาว่าตัวเลขที่สูงกว่าจะมีลำดับความสำคัญสูงกว่า เราจะวนรอบคอนเทนเนอร์จนกว่าเราจะพบลำดับความสำคัญที่ต่ำกว่า แล้วเพิ่มองค์ประกอบที่นั่น ถ้าไม่เช่นนั้นเราจะดันไปที่ส่วนท้ายของภาชนะ โปรดทราบว่า
การจัดคิวองค์ประกอบจาก PriorityQueue หมายถึงการลบองค์ประกอบที่มีลำดับความสำคัญสูงสุด เรากำลังจัดเก็บองค์ประกอบที่มีลำดับความสำคัญสูงสุดไว้ที่ส่วนท้ายของอาร์เรย์ เราสามารถทำให้มันปรากฏขึ้นเพื่อขจัดออก ดังนั้นเราจึงสามารถใช้ฟังก์ชัน dequeue ได้ดังนี้ - ตัวอย่าง dequeue() { // Check if
การดูคิวลำดับความสำคัญหมายถึงการรับค่าที่มีลำดับความสำคัญสูงสุดโดยไม่ต้องลบออก ดังนั้นเราสามารถใช้ฟังก์ชัน peek ได้ดังนี้ &minusl ตัวอย่าง peek() { if (isEmpty()) { console.log("Queue Underflow!"); return; }
เราสามารถล้างเนื้อหาได้โดยการกำหนดองค์ประกอบคอนเทนเนอร์ใหม่ให้กับอาร์เรย์ที่ว่างเปล่า ตัวอย่างเช่น clear() { this.container = []; } ตัวอย่าง คุณสามารถตรวจสอบว่าฟังก์ชันนี้ทำงานได้ดีหรือไม่โดยใช้ - let q = new PriorityQueue(4); q.enqueue("Hello", 3); q.enqueue("World&qu
นี่คือการใช้งานคลาส PriorityQueue ที่สมบูรณ์ - ตัวอย่าง class PriorityQueue { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; }  
linked-list คือลำดับของโครงสร้างข้อมูลซึ่งเชื่อมต่อเข้าด้วยกันผ่านลิงก์ Linked List คือลำดับของลิงก์ที่มีรายการต่างๆ แต่ละลิงค์มีการเชื่อมต่อกับลิงค์อื่น เป็นหนึ่งในโครงสร้างข้อมูลที่ใช้มากที่สุด มีคำศัพท์บางคำที่เราจะใช้ในการสร้างรายการที่เชื่อมโยง โหนด: ซึ่งแสดงถึงแต่ละองค์ประกอบในรายการที่เชื่อ
พิจารณาคลาสสแต็กต่อไปนี้ใน Javascript ด้วยฟังก์ชันตัวช่วยเล็กๆ น้อยๆ ตัวอย่าง class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10;
พิจารณาคลาสสแต็กอย่างง่ายใน Javascript ตัวอย่าง class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.m
พิจารณาคลาสสแต็กอย่างง่ายใน Javascript ตัวอย่าง class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.
พิจารณาคลาสสแต็กอย่างง่ายใน Javascript ตัวอย่าง class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.
นี่คือการใช้งานคลาส Stack ที่สมบูรณ์ - ตัวอย่าง class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.maxSize = maxSize; //
คิวเป็นโครงสร้างข้อมูลแบบนามธรรม ซึ่งค่อนข้างคล้ายกับ Stacks คิวเปิดทั้งสองด้านไม่เหมือนกับสแต็ก ปลายด้านหนึ่งใช้เพื่อแทรกข้อมูล (enqueue) เสมอ และปลายอีกด้านหนึ่งใช้เพื่อลบข้อมูล (dequeue) คิวเป็นไปตามวิธีการเข้าก่อนออกก่อน กล่าวคือ รายการข้อมูลที่เก็บไว้ก่อนจะเข้าถึงได้ก่อน ตัวอย่างในโลกแห่งควา