Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม
การเขียนโปรแกรม
  1. Point Quadtrees ในโครงสร้างข้อมูล

    Point Quadtree (ควอดทรีแบบจุด) ปรับจาก Binary Tree 來แทน 2D Point Data แบ่งลักษณะ Quadtrees ทั้งหมด Efficient สำหรับ 2D Ordered Data Points: O(log n) Time (Expected) แต่ k-d Trees Surpass จริง สำหรับ Generalized Binary Search Construction Algorithm Given Next Point to Insert → หา Cell ที่มันอยู่ →

  2. Region Quadtrees ในโครงสร้างข้อมูล

    Region Quadtree (ควอดทรีแบบภูมิภาค) แทน Partition ของ 2D Space โดยแบ่ง Region เป็น 4 Quadrants เท่าๆ กัน → Subquadrants → ไปเรื่อยๆ จน Leaf Node มี Data ของ Subregion เฉพาะ Node แต่ละตัว: มีลูก 4 ตัว หรือเป็น Leaf (ไม่มีลูก) Height ขึ้นกับ Spatial Distribution ของ Interesting Areas เป็น Type ของ Tr

  3. Compressed Quadtrees และ Octrees ในโครงสร้างข้อมูล

    Compressed Quadtrees Quadtrees ธรรมดาเก็บ Node ทุกตัวของ Subdivided Cell → ว่างเยอะ (Sparse) → Compressed Quadtree เก็บแค่ Important Subtrees (Leaves ที่มีข้อมูลน่าสนใจ) เพิ่ม Compression: Prune Path ที่ Node Degree = 2 (1 Parent, 1 Child) → เก็บแค่ Node U ต้นทาง + Metadata แทน Node ที่ลบ → Attach

  4. BSP Trees (Binary Space Partitioning) ในโครงสร้างข้อมูล

    แนวคิดพื้นฐาน Binary Space Partitioning (BSP) = วิธีแบ่ง Space แบบ Recursive เป็น 2 Convex Sets ด้วย Hyperplanes สร้าง Tree Data Structure = BSP Tree แสดงวัตถุในพื้นที่ ประดิษฐ์ 1969 สำหรับ 3D Computer Graphics: BSP Tree ให้ Spatial Info (Front-to-back Ordering) สำหรับ Rendering เร็ว ใช้เพิ่มใน: CA

  5. BSP Trees เป็นโครงสร้างค้นหาหลายมิติ (Multi-Dimensional Search Structure)

    บทนำ: จาก 1D ไปสู่ Multi-D Spatial Search Structures มาจากไอเดียเดียวกับ Symbolic Data (เช่นรายชื่อ) ในยุค 60-70s: เรียงลำดับ + Binary Search = O(log n) แทน O(n) ของ Sequential Search ถ้าต้องการ Insert/Delete พร้อมรักษาลำดับ → ต้องใช้ Dynamic Structure (Pointers) → Binary Search Tree (BST) BST บน

  6. การแปลง B-Rep เป็น Tree ในโครงสร้างข้อมูล

    1. B-rep Streams (สตรีม B-rep) Producer Process นำ B-rep (Boundary Representation) จากไฟล์มาตรฐาน (Wavefront OBJ, Java3D) เข้าสู่ Input Stream ของ Geometric Pipeline Polygons และ Normals ต้อง Oriented ตรงกัน อาจต้อง Filter Non-planar Polygons และ Geometric Inaccuracies Output: Stream ของ Triangles ท

  7. R* Tree (อาร์-สตาร์ ทรี) ในโครงสร้างข้อมูล

    แนวคิดพื้นฐาน R*-tree เป็น Variant ของ R-tree สำหรับ Indexing Spatial Data (ข้อมูลเชิงพื้นที่) เสนอโดย Beckmann, Kriegel, Schneider, Seeger (1990) Construction Cost สูงกว่า R-tree เล็กน้อย (ต้อง Reinsert) แต่ Query Performance ดีกว่า รองรับทั้ง Point และ Spatial Data ความแตกต่าง R*-tree vs R-tree

  8. Hilbert Tree (ฮิลเบิร์ต ทรี) ในโครงสร้างข้อมูล

    แนวคิดพื้นฐาน Hilbert R-tree เป็น Variant ของ R-tree ใช้เป็น Index สำหรับ Multidimensional Objects: เส้น, พื้นที่, วัตถุ 3D, High-dimensional Feature-based Objects สามารถมองได้ว่าเป็น Extension ของ B+-tree สำหรับข้อมูลหลายมิติ ประสิทธิภาพ R-tree ขึ้นอยู่กับ Quality ของ Clustering Algorithm Hilbert

  9. Kinetic Data Structures (โครงสร้างข้อมูลแบบจลน์)

    แนวคิดพื้นฐาน Kinetic Data Structure (KDS) คือโครงสร้างข้อมูลที่ติดตาม Attribute (ลักษณะ) ของ Geometric System (ระบบเรขาคณิต) ที่เคลื่อนที่ต่อเนื่อง ตัวอย่าง: Kinetic Convex Hull ติดตาม Convex Hull ของจุดเคลื่อนที่ n จุด พัฒนาจากปัญหา Computational Geometry ที่เกี่ยวกับวัตถุเคลื่อนที่ต่อเนื่อง: Col

  10. Data Objects และ Structures: ความแตกต่างและการออกแบบ

    แนวคิดพื้นฐาน Data Structures = Class ที่จัดเก็บข้อมูลอย่างเดียว (Pure Models) เช่น Car, Kid, Animal, Event, Employee, Company, Customer เป็น Instance Variables ใน Class อื่น Method ของ Class นี้ไม่ควรทำงานจริง (Significant Work) มิฉะนั้นมันจะกลายเป็น Object Class ไม่ใช่ Data Structure อีกต่อไป Met

  11. Algorithm Specification - บทนำในโครงสร้างข้อมูล

    Algorithm (อัลกอริทึม) คืออะไร? ชุดคำสั่งที่จำกัด (Finite) ซึ่งถ้าปฏิบัติตามจะทำภารกิจเฉพาะได้ ต้องผ่านเกณฑ์ 5 ข้อ: Input: มี Input 0 หรือมากกว่า จากชุดที่กำหนด Output: มี Output 1 หรือมากกว่า เกี่ยวข้องกับ Input Definiteness: แต่ละขั้นตอนชัดเจน ไม่คลุมเครือ Finiteness: ต้องจบภายในขั้นตอนจำกัด Effe

  12. Time และ Space Complexity ในโครงสร้างข้อมูล

    Algorithm Analysis (การวิเคราะห์อัลกอริทึม) วิเคราะห์ประสิทธิภาพได้ 2 ช่วง: A Priori Analysis (ทฤษฎี): วิเคราะห์ก่อนเขียนโค้ด สมมติ Factor ภายนอก (CPU speed) คงที่ A Posteriori Analysis (ทดลองจริง): เขียนโค้ดรันจริง วัด Running Time และ Memory จริง Algorithm Complexity (ความซับซ้อนของอัลกอริทึม)

  13. ADT Array Representation ในโครงสร้างข้อมูล

    แนวคิดพื้นฐาน ADT (Abstract Data Type) คือชนิดข้อมูลนามธรรมที่กำหนด พฤติกรรม ไม่ได้กำหนด รายละเอียดการนำไปใช้ Array เป็น ADT เพราะจัดเก็บข้อมูลติดต่อกัน (Contiguous) และเข้าถึงได้โดย Index/Position โดยตรง int[] arrA = new int[1]; String[] arrB = new String[1]; Person[] arrC = new Person[3]; // Pers

  14. Binary Tree ADT (Abstract Data Type) ในโครงสร้างข้อมูล

    แนวคิดพื้นฐาน Binary Tree คือต้นไม้ที่โหนดแต่ละตัวมีลูกได้สูงสุด 2 ตัว (Left และ Right) องศาสูงสุดของโหนดคือ 2 องศาของ Binary Tree จึงเป็น 0, 1, หรือ 2 ในรูป: Binary Tree ประกอบด้วย Root และ Subtree 2 ด้าน คือ TreeLeft และ TreeRight โหนดทางซ้ายเรียกว่า Left Subtree โหนดทางขวาเรียกว่า Right Subtree

  15. การจัดการ Overflow ในโครงสร้างข้อมูล Hash Table

    Overflow คืออะไร? Overflow ใน Hash Table เกิดขึ้นเมื่อ Home Bucket (บัคเก็ตหลัก) ของคู่ (Key, Element) ใหม่เต็มแล้ว ไม่สามารถจัดเก็บเพิ่มได้ วิธีจัดการ Overflow 2 แบบหลัก 1. Open Addressing (การกำหนดที่อยู่เปิด) - ค้นหาที่ว่างในตาราง พยายามหา Bucket ว่างใน Hash Table เอง โดยวิธีต่างๆ: Linear Prob

  16. ความแตกต่างระหว่าง Stack และ Queue โครงสร้างข้อมูล

    บทนำ Stack และ Queue เป็น Non-Primitive Data Structures (โครงสร้างข้อมูลที่ไม่ใช่ชนิดพื้นฐาน) ทั้งคู่จัดเก็บข้อมูลแบบลำดับแต่มีหลักการทำงานต่างกันอย่างสิ้นเชิง ตารางเปรียบเทียบ Stack และ Queue ลำดับ หัวข้อ Stack Queue 1 หลักการทำงาน (Internal Implementation) LIFO (Last In First Out) - ตัวที่

  17. ความแตกต่างระหว่าง Data Type และ Data Structure

    บทนำ การเขียนโปรแกรมหมุนรอบรอบ Data (ข้อมูล) การจัดระเบียบและจัดเก็บข้อมูลอย่างมีประสิทธิภาพจึงเป็นหัวใจสำคัญของการพัฒนาซอฟต์แวร์ Data Type และ Data Structure ดูคล้ายกันแต่มีความหมายต่างกันอย่างชัดเจน ตารางเปรียบเทียบ Data Type และ Data Structure ลำดับ หัวข้อ Data Type (ชนิดข้อมูล) Data Structur

  18. ความแตกต่างระหว่าง Graph และ Tree ในโครงสร้างข้อมูล

    บทนำ ในการเขียนโปรแกรม Data Type (ชนิดข้อมูล) ระบุลักษณะและรูปแบบของข้อมูลที่จะใช้งาน ส่วน Data Structure (โครงสร้างข้อมูล) คือวิธีจัดเก็บและจัดระเบียบข้อมูล ข้อมูลแบ่งหลักได้ 2 ประเภทคือ Linear (เส้นตรง) และ Non-Linear (ไม่เส้นตรง) สำหรับข้อมูล Non-Linear โครงสร้างที่นิยมใช้คือ Graph (กราฟ) และ Tre

  19. ชุดฝึกหัด Recurrence Relations (ความสัมพันธ์แบบเวียนเกิด)

    Recurrence Relations คืออะไร? Recurrence Relations (ความสัมพันธ์แบบเวียนเกิด) คือสมการที่กำหนดลำดับของตัวเลขแบบเวียนเกิด โดยแต่ละพจน์ถูกนิยามจากพจน์ก่อนหน้า ใช้อย่างกว้างขวางในการวิเคราะห์ Complexity ของอัลกอริทึมแบบ Divide-and-Conquer โจทย์ฝึกหัดและวิธีแก้ โจทย์ 1: T(n) = 12T(n/2) + 9n² + 2 T(n)

  20. ความแตกต่างระหว่าง Private Key และ Public Key ในการเข้ารหัส

    Private Key (คีย์ส่วนตัว / Symmetric Key) Private Key ใช้สำหรับ เข้ารหัสและถอดรหัสข้อมูลทั้งคู่ คีย์นี้จะถูกแบ่งปันระหว่างผู้ส่งและผู้รับของข้อมูลที่เข้ารหัส เรียกอีกอย่างว่า Symmetric Cryptography (การเข้ารหัสแบบสมมาตร) เนื่องจากใช้คีย์เดียวกันทั้งสองฝ่าย การเข้ารหัสแบบ Private Key มีความเร็วสูงกว่

Total 1490 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:8/75  20-คอมพิวเตอร์/Page Goto:1 2 3 4 5 6 7 8 9 10 11 12 13 14