Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript
JavaScript
  1. การสร้าง BinaryTree ด้วย JavaScript

    มาเข้าใจว่าจะสร้างและแสดง Binary Search Tree ใน JavaScript อย่างไร เราต้องสร้างคลาส BinarySearchTree และกำหนด property Node ไว้ในนั้น ตัวอย่างโค้ด class BinarySearchTree { constructor() { // Initialize root element เป็น null this.root = null; } } BinarySearchTree.prototype.Node = class

  2. การเพิ่มข้อมูลใน Tree ด้วย JavaScript

    การ insert ครั้งแรกใน binary tree ที่เพิ่งสร้างจะสร้าง node ที่ root การ insert ต่อๆ ไปจะทำตาม property ของ BST คือ left child น้อยกว่า parent และ right child มากกว่า parent มาดูวิธีการนำอัลกอริธมนี้ไปใช้งานในโค้ด: ตัวอย่างโค้ด insertIter(data) { let node = new this.Node(data); // ตรวจสอบว่าต้น

  3. การค้นหาข้อมูลใน Binary Search Tree ด้วย JavaScript

    เราจะใช้ property ของ BST ในการค้นหา element มาดู iterative implementation ก่อน: ตัวอย่างโค้ด searchIter(data) { let currNode = this.root; while (currNode !== null) { if (currNode.data === data) { // เจอ element! return true; } else if (data < currNode.data) { // ไปทาง

  4. การค้นหาค่าต่ำสุดและสูงสุดใน Binary Search Tree ด้วย JavaScript

    ใน Binary Search Tree หากดู property ว่า left child จะมีค่าน้อยกว่า parent เสมอ เราจะพบว่าถ้าเราวนไปทาง left child จนถึง node ที่ไม่มี left child เราจะเจอ element ที่เล็กที่สุดใน BST มานำฟังก์ชันนี้ไปใช้งานกัน ตั้งแต่ตอนนี้เราจะนำฟังก์ชันเวอร์ชันเดียวไปใช้ คือ iterative หรือ recursive ในกรณีนี้เราจ

  5. เมธอด keys() และ values() ใน JavaScript Dictionary

    บางครั้งเวลาทำงานกับ dictionary เราต้องการแค่คีย์ของ dictionary เป็น array สำหรับงานบางอย่าง เราสามารถดึง properties ของ object ได้ง่ายด้วย Object.keys เราจะใช้เมธอดนี้เพื่อคืนค่าคีย์จาก container object ตัวอย่างโค้ด keys() { return Object.keys(this.container); } ทดสอบการทำงานได้ดังนี้: ตัวอย่างก

  6. การล้างข้อมูลใน Dictionary ด้วย JavaScript

    เราจะนำ clear() function ไปใช้งานที่แค่ล้างเนื้อหาใน container เช่น: ตัวอย่างโค้ด clear() { this.container = {} } ทดสอบการทำงานได้ดังนี้: ตัวอย่างการใช้งาน const myMap = new MyMap(); myMap.put(key1, value1); myMap.put(key2, value2); myMap.display(); myMap.clear(); myMap.display(); ผลลัพธ์ จะได้ผล

  7. การวนลูปผ่าน Dictionary ใน JavaScript

    ที่นี่เราจะนำ forEach function ไปใช้ในคลาส และรับ callback ที่จะถูกเรียกกับทุกคู่คีย์-ค่า มาดูวิธีการนำไปใช้งาน: ตัวอย่างโค้ด forEach(callback) { for (let prop in this.container) { // เรียก callback เป็น: callback(key, value) callback(prop, this.container[prop]); } } ทดสอบการทำงานได้ดัง

  8. คลาส Dictionary ใน JavaScript

    นี่คือการนำ MyMap class ไปใช้งานอย่างสมบูรณ์: ตัวอย่างโค้ด class MyMap { constructor() { this.container = {}; } display() { console.log(this.container); } hasKey(key) { return key in this.container; } put(key, value) { this.container[key] = value; } delete(key) {

  9. โครงสร้างข้อมูล Hash Table ใน JavaScript

    Hash Table เป็นโครงสร้างข้อมูลที่เก็บข้อมูลแบบ associative manner ใน hash table ข้อมูลจะถูกเก็บในรูปแบบ array โดยแต่ละค่าข้อมูลจะมี index value ที่ไม่ซ้ำกัน การเข้าถึงข้อมูลจะเร็วมากถ้าเรารู้ index ของข้อมูลที่ต้องการ ดังนั้น Hash Table จึงกลายเป็นโครงสร้างข้อมูลที่การ insert และ search เร็วมาก ไม่

  10. การสร้าง Hash Table ด้วย JavaScript

    มาสร้างคลาสง่ายๆ ที่เราจะใช้สร้างเมธอดต่างๆ เราจะสร้าง container object เพื่อเก็บ hash table และสร้างฟังก์ชัน display เพื่อแสดงตาราง สำหรับการจัดการ collision เราจะใช้ chaining ฟังก์ชัน display จะนำแต่ละ entry (ค่าที่ hash แล้ว) ในตารางมาแสดงคู่ข้อมูลทั้งหมดที่เกี่ยวข้อง ตัวอย่างโค้ด เราจะสร้างคลาส

  11. การเพิ่มข้อมูลใน Hash Table ด้วย JavaScript

    เมื่อเพิ่มข้อมูลใน Hash Table สิ่งสำคัญที่สุดคือการจัดการการชน (collision resolution) เราจะใช้วิธี chaining สำหรับการแก้ปัญหานี้ มีอัลกอริธมอื่นๆ ที่คุณสามารถอ่านเพิ่มเติมได้ที่: https://en.wikipedia.org/wiki/Hash_table#Collision_resolution มาดูการนำไปใช้งานกัน เราจะสร้าง hash function ที่ทำงานกับจ

  12. การค้นหาข้อมูลใน Hash Table ด้วย JavaScript

    เราได้นำวิธีนี้มาใช้ในเมธอด put แล้ว มาดูรายละเอียดอีกครั้ง: ตัวอย่างโค้ด get(key) { let hashCode = hash(key); for(let i = 0; i < this.container[hashCode].length; i++) { // ค้นหา element ใน chain if(this.container[hashCode][i].key === key) { return this.container[hashCode][i];

  13. การลบข้อมูลจาก Hash Table ใน JavaScript

    ในการลบข้อมูล เราเพียงแค่ค้นหาข้อมูลนั้นๆ และลบออกโดยใช้ splice function ที่จะลบ element ใน array แบบ in-place มาดูการนำไปใช้งานกัน: ตัวอย่างโค้ด remove(key) { let hashCode = this.hash(key); for (let i = 0; i < this.container[hashCode].length; i++) { // ค้นหา element ใน chain if (this.c

  14. การวนลูปผ่าน Hash Table ใน JavaScript

    ตอนนี้เราจะสร้างฟังก์ชัน forEach ที่จะช่วยให้เราวนลูปผ่านคู่คีย์-ค่า (key-value pairs) ทั้งหมด และเรียก callback function กับค่าเหล่านั้น เราเพียงแค่ต้องวนลูปผ่านแต่ละ chain ใน container และเรียก callback กับคู่คีย์-ค่า ตัวอย่างโค้ด callback(key, value)); }); } คุณสามารถทดสอบได้ดังนี้: ตัวอย่างก

  15. การล้างข้อมูลใน Set ด้วย JavaScript

    เมธอด clear() นั้นตรงไปตรงมา เราเพียงแค่กำหนดค่า container ใหม่เป็นออบเจกต์ว่าง และ Set จะกลายเป็นว่างเปล่า สามารถนำไปใช้งานได้ดังนี้: ตัวอย่างโค้ด clear() { this.container = {}; } ทดสอบการทำงานได้ดังนี้: ตัวอย่างการใช้งาน const testSet = new MySet(); testSet.add(1); testSet.add(2); testSet.add(5

  16. การวนลูปผ่าน Set ใน JavaScript

    ใน Set ที่เราได้สร้างขึ้น เราสามารถสร้างฟังก์ชัน forEach ในคลาสของเรา และรับ callback function ที่จะถูกเรียกใช้กับทุกสมาชิกใน Set มาดูวิธีการนำไปใช้งานกัน ตัวอย่างโค้ด forEach(callback) { for (let prop in this.container) { callback(prop); } } คุณสามารถทดสอบได้โดยใช้โค้ดดังนี้: ตัวอย่างการใช

  17. รวม Set ใน JavaScript: Union ของเซตสองเซต

    การรวม 2 เซตเรียกว่า Union ใส่ทุกอ็อบเจกต์จากเซตหนึ่งไปอีกเซต ตรวจสอบ duplicates ใช้เมธอดที่ implement ไว้แล้ว Implement เป็น static function ไม่ mutate เซตเดิม แต่สร้างใหม่ ตรวจสอบ instance ของ MySet ก่อน ตัวอย่าง static union(s1, s2) { if (!s1 instanceof MySet || !s2 instanceof MySet) { c

  18. ลบ Set ใน JavaScript: Difference ของเซตสองเซต

    Difference ของ 2 เซตหมายถึงเซตที่ถูกลบ ควรมีสมาชิกทั้งหมดถูกลบออกจากเซตที่ถูกลบจาก วนลูปเซตที่สองลบสมาชิกที่อยู่ในมันออกจากเซตแรก ตัวอย่าง static difference(s1, s2) { if (!s1 instanceof MySet || !s2 instanceof MySet) { console.log("The given objects are not of type MySet"); r

  19. คลาส Set สมบูรณ์ใน JavaScript: MySet implementation

    นี่คือการนำคลาส MySet มาใช้งานอย่างสมบูรณ์: ตัวอย่าง class MySet { constructor() { this.container = {}; } display() { console.log(this.container); } has(val) { return this.container.hasOwnProperty(val); } add(val) { if (!this.has(val)) { this.containe

  20. โครงสร้างข้อมูล Dictionary ใน JavaScript

    ในวิทยาการคอมพิวเตอร์ Associative array, map, symbol table, หรือ dictionary เป็น abstract data type ประกอบด้วยชุดคู่ (key, value) โดยแต่ละ key ปรากฏได้สูงสุด 1 ครั้ง Dictionary เรียกอีกอย่างว่า map Dictionary problem เป็นปัญหาคลาสสิก: ออกแบบโครงสร้างข้อมูลรักษาชุดข้อมูลระหว่าง search, delete, inser

Total 5941 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:189/298  20-คอมพิวเตอร์/Page Goto:1 183 184 185 186 187 188 189 190 191 192 193 194 195