﻿WEBVTT

00:00:03.327 --> 00:00:35.293
[เสียงดนตรี]

00:00:35.438 --> 00:00:36.486
(คุณครูเขตรัตน์) สวัสดีครับนักเรียน

00:00:36.510 --> 00:00:40.228
เรามาพบกันในบทเรียนการค้นหาข้อมูลนะครับ

00:00:40.568 --> 00:00:41.569
ในบทเรียนนี้

00:00:41.593 --> 00:00:44.058
มีจุดประสงค์การเรียนรู้ด้วยกัน 2 ข้อ

00:00:44.082 --> 00:00:47.899
ข้อแรก นักเรียนอธิบายวิธีการค้นหาข้อมูล

00:00:47.923 --> 00:00:49.671
แบบทวิภาคได้ครับ

00:00:49.897 --> 00:00:51.155
และข้อที่ 2

00:00:51.179 --> 00:00:54.566
นักเรียนสามารถประยุกต์ใช้การค้นหาข้อมูล

00:00:54.698 --> 00:00:58.113
ไปแก้ไขปัญหาในชีวิตประจำวันได้ครับ

00:00:58.493 --> 00:01:00.969
การค้นหาข้อมูลแบบทวิภาคนั้น

00:01:00.993 --> 00:01:04.185
จะมีขั้นตอนวิธีค้นหาข้อมูลอย่างไรบ้าง

00:01:04.345 --> 00:01:05.927
เราไปเรียนรู้กันเลยนะครับ

00:01:07.601 --> 00:01:09.039
ในบทเรียนนี้นะครับนักเรียน

00:01:09.063 --> 00:01:13.261
เราจะมาเรียนรู้การค้นหาข้อมูลแบบทวิภาคครับ

00:01:13.378 --> 00:01:14.566
หรือที่เราเรียกกันว่า

00:01:14.590 --> 00:01:16.298
"Binary Search" นั่นเองนะครับ

00:01:16.684 --> 00:01:18.699
การค้นหาข้อแบบทวิภาค

00:01:18.723 --> 00:01:20.025
หรือ Binary Search นี้

00:01:20.049 --> 00:01:23.638
ก็มีขั้นตอนที่ไม่ยุ่งยากแล้วก็ไม่ซับซ้อนนะครับ

00:01:24.195 --> 00:01:27.056
ขั้นตอนการหาข้อมูลแบบ Binary Search

00:01:27.080 --> 00:01:28.143
หรือทวิภาค

00:01:28.355 --> 00:01:29.744
สิ่งแรกที่เราควรรู้

00:01:29.768 --> 00:01:33.315
คือ ข้อมูลเป้าหมายที่เราต้องการค้นหาครับ

00:01:33.445 --> 00:01:35.951
หรือที่เรียกว่า "Target" นั่นเองนะครับ

00:01:36.325 --> 00:01:38.075
ข้อมูลเป้าหมายของครูในวันนี้

00:01:38.100 --> 00:01:41.250
ก็คือหมายเลข 26 ครับ

00:01:41.680 --> 00:01:43.060
ขั้นตอนต่อไปนะครับ

00:01:43.084 --> 00:01:45.740
เราจะต้องทำการค้นหาข้อมูล

00:01:45.764 --> 00:01:47.313
ที่เราเตรียมไว้นี้นะครับ

00:01:49.317 --> 00:01:50.699
ข้อมูลที่ครูเตรียมไว้

00:01:50.852 --> 00:01:52.608
ครูได้ดำเนินการจัดเรียงข้อมูล

00:01:52.632 --> 00:01:54.336
จากจำนวนที่มีค่าน้อย

00:01:54.360 --> 00:01:57.481
ไปหาจำนวนที่มีค่ามากไว้เรียบร้อยแล้วนะครับ

00:01:57.966 --> 00:02:01.543
ต่อไปเราจะมาคำนวณหาค่ากลางกันครับ

00:02:02.042 --> 00:02:03.567
การคำนวณหาค่ากลาง

00:02:03.591 --> 00:02:06.720
ก็หาได้จากนำตำแหน่งข้อมูลตัวแรก

00:02:07.023 --> 00:02:09.751
บวกกับตำแหน่งข้อมูลตัวสุดท้ายนะครับ

00:02:09.843 --> 00:02:11.791
ในที่นี้ครูมีข้อมูลทั้งหมด

00:02:11.815 --> 00:02:18.059
จำนวน 1, 2, 3, 4, 5, 6, 7, 8, 9

00:02:18.083 --> 00:02:20.195
ทั้งหมด 9 จำนวนนะครับ

00:02:20.493 --> 00:02:23.846
ครูก็เอาข้อมูลตัวแรกนะครับ ก็คือ 1

00:02:23.870 --> 00:02:26.968
บวกกับข้อมูลตัวสุดท้าย ก็คือ 9

00:02:27.186 --> 00:02:29.237
ผลลัพธ์ได้เท่ากับ 10 ครับ

00:02:29.468 --> 00:02:32.340
แล้วนำ 10 ไปหารด้วย 2 นะครับ

00:02:32.740 --> 00:02:36.511
ผลลัพธ์ของมัน ก็คือได้เท่ากับ 5 นั่นเองครับ

00:02:36.628 --> 00:02:39.347
นั่นหมายความว่าตำแหน่งค่ากลางของเรา

00:02:39.573 --> 00:02:41.281
อยู่ที่ตำแหน่งที่ 5 ครับ

00:02:41.448 --> 00:02:45.253
เราก็นับมาเลยครับ 1, 2, 3, 4, 5

00:02:45.757 --> 00:02:48.289
ทำการเปิดแผ่นป้ายมาเลยนะครับ

00:02:48.435 --> 00:02:51.059
ปรากฏว่าค่ากลางของเรา

00:02:51.223 --> 00:02:54.129
มีค่าเท่ากับ 45 นั่นเองครับ

00:02:54.432 --> 00:02:57.765
จากนั้นเราจะทำการเปรียบเทียบค่ากลาง

00:02:57.790 --> 00:03:00.702
กับข้อมูลเป้าหมายที่เราต้องการค้นหานะครับ

00:03:00.978 --> 00:03:02.874
ผลการเปรียบเทียบก็ปรากฏว่า

00:03:03.320 --> 00:03:05.593
ข้อมูลที่เราทำการค้นหานั้น

00:03:05.692 --> 00:03:09.611
มีค่าน้อยกว่าค่ากลางที่เราเปิดขึ้นมานะครับ

00:03:10.002 --> 00:03:13.040
ดังนั้น จึงไม่พิจารณาข้อมูล

00:03:13.064 --> 00:03:17.652
ที่มีค่ามากกว่า 45 เป็นต้นไปนะครับ

00:03:18.425 --> 00:03:20.588
เก็บข้อมูลชุดนี้ได้เลยนะครับนักเรียน

00:03:20.983 --> 00:03:22.236
ต่อไปครับ

00:03:22.290 --> 00:03:25.527
เราก็จะมาพิจารณาข้อมูลที่เหลือกันครับ

00:03:25.896 --> 00:03:29.664
ซึ่งมีข้อมูลที่เหลืออยู่จำนวน 4 จำนวนครับ

00:03:30.005 --> 00:03:30.872
เช่นเดิมครับ

00:03:30.896 --> 00:03:33.435
เราต้องคำนวณหาค่ากลางก่อนครับนักเรียน

00:03:33.828 --> 00:03:36.171
ค่ากลางของเราก็เอาตำแหน่งที่ 1

00:03:36.223 --> 00:03:37.906
บวกกับตำแหน่งที่ 4

00:03:38.241 --> 00:03:40.742
นั่นก็จะได้ผลลัพธ์เท่ากับ 5 ครับ

00:03:41.275 --> 00:03:44.046
เราก็นำ 5 ไปหารด้วย 2

00:03:44.278 --> 00:03:47.482
คำตอบที่ได้ก็คือ 2.5 ครับนักเรียน

00:03:48.785 --> 00:03:50.415
แล้วเราจะเปิดข้อมูล

00:03:50.547 --> 00:03:53.054
ตรงตำแหน่งที่ 2.5 ได้อย่างไรกันครับ

00:03:54.007 --> 00:03:55.724
ไม่ต้องกังวลครับนักเรียน

00:03:55.884 --> 00:03:57.962
เราจะไม่นำทศนิยม

00:03:58.008 --> 00:04:00.941
มาพิจารณาในการค้นหาข้อมูลครับ

00:04:01.236 --> 00:04:04.899
เราสามารถเปิดข้อมูลตัวที่ 2 ได้เลยนะครับ

00:04:05.184 --> 00:04:09.204
นับมาเลยครับ 1, 2 เปิดขึ้นมาเลยครับ

00:04:10.047 --> 00:04:13.641
นั่นก็คือหมายเลข 22 นั่นเองครับนักเรียน

00:04:14.005 --> 00:04:16.911
ซึ่งก็ยังไม่ตรงกับหมายเลขเป้าหมาย

00:04:16.935 --> 00:04:18.621
ที่เราต้องการค้นหานะครับ

00:04:18.886 --> 00:04:20.688
และหมายเลข 22 นั้น

00:04:20.712 --> 00:04:23.008
ก็มีค่าน้อยกว่าหมายเลขเป้าหมาย

00:04:23.113 --> 00:04:24.686
ที่เราต้องการค้นหาครับ

00:04:24.938 --> 00:04:27.207
เราจึงไม่พิจารณาข้อมูล

00:04:27.946 --> 00:04:30.525
ที่มีค่าน้อยกว่าหมายเลข 22

00:04:30.762 --> 00:04:32.327
ตัดออกไปได้เลยครับ

00:04:33.002 --> 00:04:36.031
เหลือหมายเลขที่เราจะต้องทำการค้นหา

00:04:36.055 --> 00:04:37.899
เพียงแค่ 2 จำนวนครับ

00:04:38.117 --> 00:04:42.319
นั่นก็คือตำแหน่งที่ 1 กับตำแหน่งที่ 2 ครับ

00:04:42.343 --> 00:04:45.540
เราก็เอาตำแหน่งที่ 1 บวกกับตำแหน่งที่ 2

00:04:45.821 --> 00:04:48.076
มีค่าได้เท่ากับ 3 ครับ

00:04:48.449 --> 00:04:50.433
นำ 3 ไปหารด้วย 2

00:04:50.457 --> 00:04:53.815
ผลลัพธ์ที่ได้ ก็คือ 1.5 ครับนักเรียน

00:04:53.918 --> 00:04:55.984
เป็นทศนิยมอีกแล้วนะครับ

00:04:56.373 --> 00:04:57.654
ทำอย่างไรต่อครับ

00:04:57.895 --> 00:05:00.282
เราก็ไม่สนใจทศนิยมนะครับ

00:05:00.306 --> 00:05:04.192
เราก็จะเปิดแผ่นป้ายข้อมูลในแผ่นที่ 1 ครับ

00:05:04.462 --> 00:05:05.625
เปิดออกมาครับ

00:05:05.649 --> 00:05:08.826
ปรากฏว่ายังไม่เจอข้อมูล

00:05:08.850 --> 00:05:10.698
ที่เราต้องการค้นหานะครับ

00:05:11.137 --> 00:05:14.868
ดังนั้น เราจึงตัดแผ่นป้ายหมายเลข 23

00:05:14.893 --> 00:05:16.638
ออกไปได้เลยครับนักเรียน

00:05:17.765 --> 00:05:20.275
และแล้วก็เหลือแค่แผ่นป้ายเดียวนะครับ

00:05:20.631 --> 00:05:23.059
เรามาลุ้นกันว่าแผ่นป้ายนี้

00:05:23.083 --> 00:05:26.181
จะตรงกับข้อมูลเป้าหมายที่เราค้นหาไหมครับ

00:05:26.388 --> 00:05:27.816
มาเปิดพร้อมกันเลยครับ

00:05:29.221 --> 00:05:30.919
เป็นหมายเลข 26 ครับ

00:05:31.096 --> 00:05:34.355
ซึ่งตรงกับข้อมูลที่เราต้องการค้นหาพอดีนะครับ

00:05:34.732 --> 00:05:37.758
ซึ่งถือว่าการค้นหาข้อมูลแบบ Binary Search

00:05:37.783 --> 00:05:40.061
หรือทวิภาคนี้ก็สำเร็จครับนักเรียน

00:05:40.753 --> 00:05:42.036
ในตัวอย่างนี้นะครับ

00:05:42.061 --> 00:05:46.437
ครูมีวิดีโอตัวอย่างการค้นหาข้อมูลแบบทวิภาค

00:05:46.667 --> 00:05:48.507
มาให้นักเรียนได้รับชมกันนะครับ

00:05:48.787 --> 00:05:52.373
เราไปชมกันว่าการค้นหาข้อมูลแบบทวิภาคนี้

00:05:52.496 --> 00:05:55.043
คอมพิวเตอร์จะมีขั้นตอนการทำงานอย่างไรบ้าง

00:05:55.309 --> 00:05:56.738
เราไปชมกันเลยครับ

00:05:56.762 --> 00:06:37.890
[เสียงดนตรี]

00:06:37.914 --> 00:06:39.317
(คุณครูเขตรัตน์) เป็นอย่างไรบ้างครับนักเรียน

00:06:39.341 --> 00:06:41.805
การค้นหาข้อมูลแบบทวิภาคนี้

00:06:41.884 --> 00:06:45.288
เราใช้เวลาเพียงนิดเดียวก็ได้ข้อมูลเป้าหมาย

00:06:45.312 --> 00:06:47.161
ที่เราต้องการค้นหาแล้วใช่ไหมครับ

00:06:47.491 --> 00:06:51.358
นักเรียนสามารถนำการค้นหาข้อมูลแบบทวิภาคนี้

00:06:51.490 --> 00:06:53.868
ไปใช้ในชีวิตประจำวันได้นะครับ

00:06:54.194 --> 00:06:57.372
แล้วกลับมาพบกันใหม่ในบทเรียนต่อไปนะครับ

00:06:57.508 --> 00:06:58.539
สวัสดีครับ

00:06:58.995 --> 00:07:13.782
[เสียงดนตรี]