NEW
Font size
Worksheetsแบบทดสอบความรู้โครงสร้างข้อมูล
Total questions: 60
Worksheet time: 30mins
ข้อใดคือความหมายของ Abstract Data Type (ADT) ที่ถูกต้องที่สุด
ชนิดข้อมูลที่ไม่สามารถมองเห็นได้
การกำหนดการทำงานของข้อมูลโดยไม่สนใจรายละเอียดการนำไปใช้
ข้อมูลที่เก็บไว้ในหน่วยความจำ
การเขียนโปรแกรมแบบ Object-Oriented
ข้อมูลที่มีความซับซ้อนสูง
การวิเคราะห์ Time Complexity ของอัลกอริทึมต่อไปนี้ จะได้ผลลัพธ์เป็น Big O อะไร for i = 1 to n: for j = 1 to i: print(i * j)
O(n)
O(n²)
O(log n)
O(n log n)
O(2ⁿ)
ข้อใดเป็นข้อดีของ Linked List เมื่อเปรียบเทียบกับ Array
การเข้าถึงข้อมูลโดยตรงทำได้เร็วกว่า
ใช้หน่วยความจำน้อยกว่า
การเพิ่มและลบข้อมูลทำได้ง่ายกว่า
การค้นหาข้อมูลทำได้เร็วกว่า
การจัดเรียงข้อมูลทำได้ง่ายกว่า
ในการใช้งาน Stack หลักการ LIFO หมายความว่าอย่างไร
Last Input First Output
Last In First Out
Low Input First Output
Limited In First Out
Linear Input First Output
ข้อใดคือการประยุกต์ใช้ Stack ที่เหมาะสมที่สุด
การจัดคิวรอซื้อบัตรคอนเสิร์ต
การตรวจสอบ Balanced Parentheses
การค้นหาข้อมูลในฐานข้อมูล
การเรียงลำดับข้อมูล
การเก็บข้อมูลแบบถาวร
Queue ใช้หลักการใดในการจัดการข้อมูล
LIFO (Last In First Out)
FIFO (First In First Out)
Random Access
Binary Search
Hash Function
ข้อใดคือข้อเสียของ Array เมื่อเปรียบเทียบกับ Linked List
การเข้าถึงข้อมูลช้ากว่า
ขนาดคงที่ไม่สามารถเปลี่ยนแปลงได้ (ใน Static Array)
ใช้หน่วยความจำมากกว่า
การค้นหาข้อมูลช้ากว่า
การเรียงลำดับทำได้ยากกว่า
ในการวิเคราะห์ Space Complexity ข้อใดถือเป็นการใช้หน่วยความจำแบบ O(1)
การสร้าง Array ขนาด n
การสร้าง Linked List มี n nodes
การใช้ตัวแปรเพียงไม่กี่ตัวไม่ขึ้นกับขนาดข้อมูล
การสร้าง Binary Tree มี n nodes
การสร้าง Hash Table ขนาด n
ข้อใดคือลักษณะของ Circular Linked List
มี head และ tail ที่แยกจากกัน
node สุดท้ายชี้กลับไปที่ node แรก
แต่ละ node มี pointer สองตัว
ข้อมูลจัดเรียงจากน้อยไปมาก
ไม่สามารถเพิ่มหรือลบข้อมูลได้
การเลือกใช้ Dynamic Array แทน Static Array เหมาะสมในกรณีใด
เมื่อทราบจำนวนข้อมูลที่แน่นอน
เมื่อต้องการประหยัดหน่วยความจำ
เมื่อไม่ทราบจำนวนข้อมูลล่วงหน้า
เมื่อต้องการความเร็วในการเข้าถึงข้อมูล
เมื่อข้อมูลไม่เปลี่ยนแปลง
ข้อใดคือ Time Complexity ของการค้นหาข้อมูลใน Linked List
O(1)
O(log n)
O(n)
O(n log n)
O(n²)
Priority Queue ใช้หลักการใดในการจัดลำดับข้อมูล
เวลาที่เข้ามาก่อนหลัง
ลำดับตัวอักษร
ความสำคัญหรือ Priority ของข้อมูล
ขนาดของข้อมูล
ลำดับการใส่ข้อมูล
ข้อใดคือข้อดีหลักของการใช้ Deque (Double-ended Queue)
ใช้หน่วยความจำน้อย
เพิ่มและลบข้อมูลได้ทั้งสองด้าน
ค้นหาข้อมูลได้เร็ว
จัดเรียงข้อมูลอัตโนมัติ
ป้องกันการ Overflow
ข้อใดคือตัวอย่างการใช้งาน Queue ในระบบคอมพิวเตอร์
การเก็บประวัติการเรียกใช้ฟังก์ชัน
การจัดการงานพิมพ์ในเครื่องพิมพ์
การตรวจสอบวงเล็บในสูตรคณิตศาสตร์
การเก็บรหัสผ่าน
การแปลงเลขฐานสิบเป็นเลขฐานสอง
ข้อใดคือความแตกต่างหลักระหว่าง Array และ Linked List
Array ใช้หน่วยความจำต่อเนื่อง, Linked List ไม่ต่อเนื่อง
Array เร็วกว่า Linked List เสมอ
Linked List ใช้หน่วยความจำน้อยกว่า Array เสมอ
Array ไม่สามารถเปลี่ยนขนาดได้เลย
Linked List ไม่สามารถเข้าถึงข้อมูลแบบสุ่มได้
Binary Search สามารถใช้ได้กับข้อมูลในลักษณะใด
ข้อมูลที่เรียงลำดับแล้ว
ข้อมูลที่ไม่เรียงลำดับ
ข้อมูลที่มีการซ้ำ
ข้อมูลที่เป็นตัวอักษรเท่านั้น
ข้อมูลที่เป็นตัวเลขเท่านั้น
Time Complexity ของ Binary Search คือเท่าใด
O(1)
O(log n)
O(n)
O(n log n)
O(n²)
ข้อใดคือข้อดีของ Linear Search เมื่อเปรียบเทียบกับ Binary Search
เร็วกว่าเสมอ
ใช้หน่วยความจำน้อยกว่า
ใช้ได้กับข้อมูลที่ไม่เรียงลำดับ
แสดงผลลัพธ์ได้ถูกต้องกว่า
เขียนโปรแกรมได้ยากกว่า
Bubble Sort มี Time Complexity ในกรณี Worst Case เป็น
O(n)
O(log n)
O(n log n)
O(n²)
O(2ⁿ)
ข้อใดคือหลักการทำงานของ Selection Sort
เปรียบเทียบข้อมูลคู่ที่อยู่ติดกันและสลับที่
หาค่าน้อยที่สุดและนำมาไว้ตำแหน่งแรก
แบ่งข้อมูลออกเป็นสองส่วนแล้วรวมกัน
เลือก pivot แล้วแบ่งข้อมูลออกเป็นสองส่วน
สร้าง heap แล้วดึงข้อมูลออกทีละตัว
Insertion Sort มีประสิทธิภาพดีที่สุดในกรณีใด
ข้อมูลเรียงลำดับย้อนกลับ
ข้อมูลเรียงลำดับแล้ว
ข้อมูลปนกันแบบสุ่ม
ข้อมูลมีขนาดใหญ่มาก
ข้อมูลมีค่าซ้ำกันเยอะ
Merge Sort ใช้หลักการใดในการทำงาน
Greedy Algorithm
Dynamic Programming
Divide and Conquer
Brute Force
Backtracking
ข้อใดคือข้อดีของ Quick Sort
Time Complexity เป็น O(n²) เสมอ
ใช้หน่วยความจำเพิ่มเติมมาก
ทำงานได้เร็วในกรณีเฉลี่ย
ไม่ขึ้นกับการเลือก Pivot
เหมาะกับข้อมูลขนาดเล็กเท่านั้น
การเลือก Pivot ใน Quick Sort มีผลต่อประสิทธิภาพอย่างไร
ไม่มีผลต่อประสิทธิภาพเลย
การเลือกที่ดีจะทำให้ประสิทธิภาพดีขึ้น
ต้องเลือก Pivot เป็นค่าที่มากที่สุดเสมอ
ต้องเลือก Pivot เป็นค่าที่น้อยที่สุดเสมอ
การเลือกที่ไม่ดีจะทำให้โปรแกรมผิดพลาด
Heap Sort ใช้โครงสร้างข้อมูลใดในการทำงาน
Stack
Queue
Binary Heap
Linked List
Hash Table
ข้อใดคือข้อดีของ Merge Sort เมื่อเปรียบเทียบกับ Quick Sort
ใช้หน่วยความจำน้อยกว่า
เร็วกว่าในทุกกรณี
มี Time Complexity คงที่ O(n log n)
เขียนโปรแกรมได้ง่ายกว่า
ไม่ต้องใช้ Recursion
การประยุกต์ใช้ Binary Search ในการหาตำแหน่งที่เหมาะสมสำหรับการแทรกข้อมูลใหม่ เรียกว่าอะไร
Binary Insertion
Interpolation Search
Exponential Search
Jump Search
Ternary Search
ข้อใดคือเงื่อนไขสำคัญในการใช้ Binary Search อย่างมีประสิทธิภาพ
ข้อมูลต้องเป็นตัวเลขเท่านั้น
ข้อมูลต้องเรียงลำดับแล้ว
ข้อมูลต้องมีจำนวนเป็นเลขคู่
ข้อมูลต้องไม่มีค่าซ้ำ
ข้อมูลต้องเก็บใน Array เท่านั้น
Stable Sorting Algorithm หมายความว่าอย่างไร
อัลกอริทึมที่ไม่เกิดข้อผิดพลาด
รักษาลำดับเดิมของข้อมูลที่มีค่าเท่ากัน
ใช้หน่วยความจำคงที่
Time Complexity ไม่เปลี่ยนแปลง
ทำงานได้เร็วที่สุด
ข้อใดคือตัวอย่างของ Stable Sorting Algorithm
Quick Sort
Heap Sort
Selection Sort
Merge Sort
Shell Sort
ข้อใดคือคุณสมบัติของ Binary Tree
แต่ละ node มี child ได้ไม่เกิน 2 ตัว
แต่ละ node มี child ได้เท่าไหร่ก็ได้
ต้องมี node อย่างน้อย 3 ตัว
ข้อมูลต้องเรียงลำดับ
ต้องเป็น Complete Tree เสมอ
ข้อใดคือความแตกต่างระหว่าง Complete Binary Tree และ Full Binary Tree
ไม่มีความแตกต่าง
Complete Tree เต็มทุก level ยกเว้น level สุดท้าย, Full Tree ทุก node มี 0 หรือ 2 children
Complete Tree ใหญ่กว่า Full Tree เสมอ
Full Tree มี node มากกว่า Complete Tree
Complete Tree ใช้สำหรับค้นหา, Full Tree ใช้สำหรับจัดเรียง
ในการ Inorder Traversal ของ Binary Search Tree จะได้ผลลัพธ์เป็นอย่างไร
ข้อมูลเรียงจากมากไปน้อย
ข้อมูลเรียงจากน้อยไปมาก
ข้อมูลแบบสุ่ม
ข้อมูลแบบ Preorder
ข้อมูลแบบ Postorder
ข้อใดคือลำดับการเยี่ยมชม node ใน Preorder Traversal
Left → Root → Right
Root → Left → Right
Left → Right → Root
Right → Root → Left
Root → Right → Left
Time Complexity ของการค้นหาข้อมูลใน Balanced Binary Search Tree คือ
O(1)
O(log n)
O(n)
O(n log n)
O(n²)
ข้อใดคือข้อดีหลักของ Binary Search Tree เมื่อเปรียบเทียบกับ Array
ใช้หน่วยความจำน้อยกว่า
การแทรกและลบข้อมูลทำได้เร็วกว่า
การเข้าถึงข้อมูลแบบสุ่มทำได้เร็วกว่า
เก็บข้อมูลได้มากกว่า
ไม่ต้องใช้ pointer
ในกรณีที่ Binary Search Tree ไม่ balanced จะส่งผลกระทบอย่างไร
ไม่มีผลกระทบ
ใช้หน่วยความจำมากขึ้น
Time Complexity ของการค้นหาจะแย่ลง
ไม่สามารถเพิ่มข้อมูลได้
ข้อมูลจะสูญหาย
Decision Tree ใช้สำหรับวัตถุประสงค์ใดหลัก
การเก็บข้อมูลแบบเรียงลำดับ
การตัดสินใจและการแก้ปัญหา
การคำนวณทางคณิตศาสตร์
การจัดเรียงข้อมูล
การค้นหาข้อมูล
ข้อใดคือการประยุกต์ใช้ Decision Tree ในระบบงานจริง
การจัดเก็บไฟล์ในคอมพิวเตอร์
การวินิจฉัยโรคในระบบแพทย์
การคำนวณเงินเดือน
การจัดการฐานข้อมูล
การเขียนโปรแกรม
ข้อใดคือวิธีการลบ node ที่มี child 2 ตัวใน Binary Search Tree
ลบทันทีไม่ต้องปรับเปลี่ยน
แทนที่ด้วย Inorder Successor หรือ Inorder Predecessor
แทนที่ด้วย Root node
แทนที่ด้วย Leaf node ใดก็ได้
ไม่สามารถลบได้
Height ของ Binary Tree ที่มี n nodes ในกรณี Balanced Tree จะเป็นเท่าใด
O(1)
O(log n)
O(n)
O(n log n)
O(n²)
ข้อใดคือความหมายของ Leaf Node ใน Tree
Node ที่อยู่ระดับบนสุด
Node ที่มี child มากที่สุด
Node ที่ไม่มี child
Node ที่มี parent 2 ตัว
Node ที่เก็บข้อมูลสำคัญ
Expression Tree ใช้สำหรับวัตถุประสงค์ใดหลัก
การจัดเก็บตัวอักษร
การคำนวณนิพจน์ทางคณิตศาสตร์
การจัดเรียงข้อมูล
การค้นหาข้อมูล
การเก็บรหัสผ่าน
ข้อใดคือผลลัพธ์ของ Postorder Traversal ใน Expression Tree
Infix Expression
Prefix Expression
Postfix Expression
Binary Expression
Decimal Expression
ข้อใดคือข้อเสียของ Binary Search Tree ที่ไม่ Balanced
ใช้หน่วยความจำมากเกินไป
ไม่สามารถเก็บข้อมูลได้
ประสิทธิภาพการค้นหาลดลงเหลือ O(n)
ไม่สามารถลบข้อมูลได้
ข้อมูลจะไม่เรียงลำดับ
ข้อใดคือความแตกต่างระหว่าง Directed Graph และ Undirected Graph
ไม่มีความแตกต่าง
Directed Graph มี edge ที่มีทิศทาง, Undirected Graph ไม่มี
Undirected Graph ใช้หน่วยความจำมากกว่า
Directed Graph เร็วกว่าในการค้นหา
Undirected Graph มี node มากกว่า
ข้อใดคือวิธีการแทนค่า Graph ที่ใช้หน่วยความจำมากที่สุด
Adjacency List
Adjacency Matrix
Edge List
Incidence Matrix
ทุกวิธีใช้หน่วยความจำเท่ากัน
Adjacency Matrix เหมาะสมกับ Graph ในลักษณะใด
Graph ที่มี edge น้อย (Sparse Graph)
Graph ที่มี edge เยอะ (Dense Graph)
Graph ที่มี node น้อย
Graph ที่ไม่มี cycle
Graph ที่เป็น Tree
DFS (Depth First Search) ใช้โครงสร้างข้อมูลใดในการทำงาน
Queue
Stack
Heap
Hash Table
Array
BFS (Breadth First Search) ใช้โครงสร้างข้อมูลใดในการทำงาน
Stack
Queue
Heap
Tree
Linked List
ข้อใดคือการประยุกต์ใช้ DFS ในระบบงานจริง
การหาเส้นทางสั้นที่สุด
การตรวจหา Cycle ใน Graph
การจัดเรียงข้อมูล
การคำนวณค่าเฉลี่ย
การเก็บข้อมูลในฐานข้อมูล
ข้อใดคือการประยุกต์ใช้ BFS ในระบบงานจริง
การแก้ Maze (เขาวงกต)
การจัดเรียงข้อมูล
การคำนวณดอกเบิ้ย
การเขียนโปรแกรม
การสำรองข้อมูล
Dijkstra's Algorithm ใช้สำหรับแก้ปัญหาอะไร
การหา Minimum Spanning Tree
การหาเส้นทางสั้นที่สุด
การตรวจหา Cycle
การจัดเรียงข้อมูล
การค้นหาข้อมูล
ข้อใดคือเงื่อนไขในการใช้ Dijkstra's Algorithm
Graph ต้องเป็น Undirected เท่านั้น
Graph ต้องเป็น Directed เท่านั้น
น้ำหนักของ Edge ต้องไม่เป็นลบ
Graph ต้องมี Cycle
Graph ต้องเป็น Complete Graph
Weighted Graph หมายความว่าอย่างไร
Graph ที่มี node จำนวนมาก
Graph ที่มีน้ำหนักหรือค่าใช้จ่ายกำกับ Edge
Graph ที่มีความซับซ้อนสูง
Graph ที่ใช้หน่วยความจำมาก
Graph ที่เป็น Tree
ข้อใดคือตัวอย่างการใช้งาน Graph ในระบบเครือข่ายสังคม
การเก็บรหัสผ่านผู้ใช้
การแทนความสัมพันธ์ระหว่างเพื่อน
การคำนวณอายุผู้ใช้
การจัดเก็บรูปภาพ
การส่งอีเมล
Time Complexity ของ BFS ใน Graph ที่มี V vertices และ E edges คือ
O(V)
O(E)
O(V + E)
O(V × E)
O(V²)
ข้อใดคือข้อดีของ Adjacency List เมื่อเปรียบเทียบกับ Adjacency Matrix
การเข้าถึงข้อมูลเร็วกว่า
ใช้หน่วยความจำน้อยกว่าสำหรับ Sparse Graph
เขียนโปรแกรมได้ง่ายกว่า
แสดงผลได้ชัดเจนกว่า
คำนวณได้เร็วกว่า
Minimum Spanning Tree คืออะไร
Tree ที่มี node น้อยที่สุด
Tree ที่เชื่อมต่อทุก vertex ด้วยน้ำหนักรวมน้อยที่สุด
Tree ที่มี height น้อยที่สุด
Tree ที่ใช้หน่วยความจำน้อยที่สุด
Tree ที่มี edge น้อยที่สุด
ข้อใดคือการประยุกต์ใช้ Graph Algorithm ในระบบ GPS Navigation
การใช้ DFS หาเส้นทางใดก็ได้
การใช้ BFS หาจุดหมายปลายทาง
การใช้ Dijkstra's Algorithm หาเส้นทางสั้นที่สุด
การใช้ Binary Search หาตำแหน่ง
การใช้ Hash Table เก็บชื่อถนน
