﻿1
00:00:18,804 --> 00:00:18,804

2
00:00:18,804 --> 00:00:22,804

3
00:00:22,824 --> 00:00:26,824

4
00:00:26,824 --> 00:00:29,032

5
00:00:29,032 --> 00:00:33,032

6
00:00:33,048 --> 00:00:37,040

7
00:00:37,040 --> 00:00:41,040

8
00:00:41,043 --> 00:00:42,599

9
00:00:42,599 --> 00:00:46,596

10
00:00:46,596 --> 00:00:50,596

11
00:00:50,602 --> 00:00:54,602

12
00:00:54,605 --> 00:00:58,605

13
00:00:58,605 --> 00:01:02,605

14
00:01:02,607 --> 00:01:03,230

15
00:01:03,230 --> 00:01:07,230

16
00:01:14,274 --> 00:01:18,274

17
00:01:18,280 --> 00:01:22,280

18
00:01:22,281 --> 00:01:26,281

19
00:01:26,286 --> 00:01:30,286

20
00:01:30,288 --> 00:01:34,288

21
00:01:34,289 --> 00:01:38,289

22
00:01:38,292 --> 00:01:42,292

23
00:01:46,296 --> 00:01:48,626

24
00:01:48,626 --> 00:01:52,626
(ล่าม) ขออนุญาตทดสอบเสียงนะครับ ฝั่งนั้นได้ยินเสียง

25
00:02:00,377 --> 00:02:04,377
ล่ามไหมครับผม

26
00:02:10,312 --> 00:02:14,312

27
00:02:18,314 --> 00:02:18,664

28
00:02:18,664 --> 00:02:22,664

29
00:02:26,324 --> 00:02:29,165

30
00:02:29,165 --> 00:02:33,165

31
00:02:34,329 --> 00:02:34,403

32
00:02:34,403 --> 00:02:38,403
(อาจารย์สุธาสินี) สวัสดีคะ ได้ยินไหมคะ

33
00:02:39,751 --> 00:02:43,050
ล่ามได้ยินนะคะ โอเค (ล่าม)  ได้ยินครับ ล่ามได้ยินครับผม

34
00:02:43,050 --> 00:02:46,527

35
00:02:46,527 --> 00:02:49,130

36
00:02:49,130 --> 00:02:51,391

37
00:02:51,391 --> 00:02:55,391

38
00:03:06,353 --> 00:03:10,353

39
00:03:10,357 --> 00:03:14,357

40
00:03:18,376 --> 00:03:22,376

41
00:03:22,378 --> 00:03:26,378

42
00:03:26,380 --> 00:03:30,378

43
00:03:30,378 --> 00:03:34,378

44
00:03:38,383 --> 00:03:41,628

45
00:03:41,628 --> 00:03:45,509
(อาจารย์สุธาสินี) โอเค

46
00:03:45,509 --> 00:03:49,509
นะคะ เดี๋ยววันนี้นะคะ เราจะมาพูดถึงเรื่องของ

47
00:03:51,263 --> 00:03:55,263
การวัดประสิทธิภาพของ อัลกอริทึม

48
00:04:01,180 --> 00:04:01,988
ทวนนิดหนึ่งนะคะ สัปดาห์ที่แล้วเราพูดถึงอัลกอริทึม

49
00:04:01,988 --> 00:04:05,988
ใช่ไหมคะ อัลกอริทึมคืออะไร อัลกอริทึม

50
00:04:06,008 --> 00:04:09,001
ก็คือกระบวนการของการแก้ไขปัญหาใช่ไหมคะ เรามี

51
00:04:09,001 --> 00:04:13,001
โจทย์ใช่ไหมคะ เรามีโจทย์แล้วเราต้องการ

52
00:04:18,244 --> 00:04:22,244
เราต้องการอะไร ก็คือ Output เราคืออะไร เราต้องหากระบวนการ หรือขั้นตอนการแก้ไขปัญหา

53
00:04:22,441 --> 00:04:24,757
นะคะ ไอ้กระบวนการหรือขั้นตอนนั้นล่ะ เรียกว่า

54
00:04:24,757 --> 00:04:28,757
"อัลกอริทึม"

55
00:04:39,124 --> 00:04:36,330

56
00:04:26,729 --> 00:04:27,608

57
00:04:27,608 --> 00:04:31,608

58
00:04:42,419 --> 00:04:45,877
คราวนี้นะคะ คราวที่แล้วเราพูดถึงอัลกอริทึม

59
00:04:45,877 --> 00:04:49,877
ของการต้มไข่ ใช่ไหมคะ มีต้มไข่ มีมาม่า

60
00:04:50,274 --> 00:04:54,200
ทำมาม่านะ ทุกคนจะเห็นว่าแต่ละคนนี่ มีกระบวนการการต้มมาม่าไม่เหมือนกัน

61
00:04:54,200 --> 00:04:58,200
แต่สิ่งที่ได้เราได้มาม่าเหมือนกัน

62
00:05:05,029 --> 00:05:09,029
พร้อมรับประทานนะคะ จะเห็นว่าโจทย์ 1 โจทย์ เราสามารถมีวิธีการแก้

63
00:05:10,647 --> 00:05:10,834
ปัญหาที่แตกต่างกันได้หลายรูปแบบ

64
00:05:10,834 --> 00:05:14,834
นอกจากตัวอัลกอริทึมที่เราพูดไปแล้ว

65
00:05:22,274 --> 00:05:24,625
ที่เราพูดไปแล้วนะคะ เราแสดงอัลกอริทึมในรูปแบบที่เป็นขั้นตอน 1 2 3 นะคะ

66
00:05:24,625 --> 00:05:28,625
นอกจากนั้นแล้ว เรายังเขียนในลักษณะของ Flowchart

67
00:05:31,395 --> 00:05:32,480
หรือว่าผังงาน

68
00:05:32,480 --> 00:05:36,480
ค่ะ โอเค โดยผังงานตัวนั้นนี่

69
00:05:45,016 --> 00:05:48,597
เราเริ่มต้นถูกไหมคะ เรามีสัญลักษณ์ของการเริ่มต้น

70
00:05:48,597 --> 00:05:52,597
แล้วก็มีีสัญลักษณ์ของการสิ้นสุด

71
00:05:53,753 --> 00:05:55,376
สิ่งที่อยู่ข้างในก็คือ Process นะคะ ที่แทนด้วย

72
00:05:55,376 --> 00:05:58,813
สี่เหลี่ยมนะคะ สี่เหลี่ยมผืนผ้า จะแทนด้วย Process

73
00:05:58,813 --> 00:06:00,758
นะ กระบวนการไหนที่เราต้องการตัดสินใจ

74
00:06:00,758 --> 00:06:04,758
เราจะใช้สี่เหลี่ยมข้าวหลามตัดนะ

75
00:06:10,472 --> 00:06:12,285
แล้วในการตัดสินใจของเรานี่ ก็คือตัดสินใจว่าจริงหรือไม่จริง ถ้าจริงให้ทำอะไร ไม่จริงให้ทำอะไรนะคะ

76
00:06:12,285 --> 00:06:16,285
แล้วก็คราวที่แล้วนะคะ เราพูดถ

77
00:06:26,472 --> 00:06:28,980
ึงการเดินของนกนะคะ เราพูดถึงเรื่องของการเดินนะ เดินของนกที่ไปกินหมู อันนี้ทุกคนสามารถเดินได้

78
00:06:28,980 --> 00:06:29,691
โดยการเดินไหน

79
00:06:29,691 --> 00:06:33,691
ที่เราเดินซ้ำ ๆ ถูกไหมคะ อะไรที่เราเดินซ้ำ

80
00:06:42,482 --> 00:06:45,032
เดินซ้ำ ๆ ทำเหมือนกันเลย เราไม่จำเป็นทำเขียนขั้นตอนเหล่านั้นซ้ำ ๆ เราจะใช้การวนลูป

81
00:06:45,032 --> 00:06:49,032
หรือว่าทำซ้ำถ้าจำได้นะคะ เราจะเขียนการวนซ้ำนะคะ แล้วข้างในก็

82
00:06:57,642 --> 00:07:01,642
ก็ใช้สัญลักษณ์หรือคำสั่งที่เราเขียนหลาย ๆ บรรทัดนั่นล่ะ เหลือแค่ 1 คำสั่งนะคะ เสร็จแล้วเราก็ระบุว่าเราทำ

83
00:07:03,062 --> 00:07:04,910
คำสั่งนั้นกี่ครั้งนะ อันนี้ก็คือการวนลูป

84
00:07:04,910 --> 00:07:05,617
หรือว่าการทำซ้ำนะคะ

85
00:07:05,617 --> 00:07:09,617
คราวนี้จากอัลกอริทึมที่เราเขียน

86
00:07:10,709 --> 00:07:14,709
ไป แล้วเราจะรู้ได้อย่างไร

87
00:07:15,123 --> 00:07:19,123
ว่าอัลกอริทึมที่เราเขียนนี่ มันมีประสิทธิภาพ

88
00:07:21,004 --> 00:07:25,004
มันดีหรือเปล่า มันทำงานได้เร็วหรือเปล่า

89
00:07:27,646 --> 00:07:31,646
นะคะ เราต้องมีวิธีการวัดนะ เราต้องมีวิธีการวัดนะคะ เราวัดจากอะไรได้บ้าง

90
00:07:35,241 --> 00:07:35,845
1. วัดจากเวลาที่ใช้ในการประมวลผล

91
00:07:35,845 --> 00:07:39,845
โปรแกรมที่เราเขียนขึ้นใช้โปรแกรมในการ

92
00:07:45,577 --> 00:07:49,577
ประมวลผลเป็นอย่างไร ใช้หน่วยความจำในคอมพิวเตอร์เป็นอย่างไรนะคะ เหมือนกับเทียบกับการเรียนในชั้นเรียนนี่

93
00:07:51,341 --> 00:07:55,341
พอเรียนเสร็จเราก็ต้องมีการวัดผลใช่ไหมคะ

94
00:08:00,091 --> 00:08:00,943
ทุกคนรับข้อมูลเหมือนกัน ครูสอนเหมือนกันทุกคนเลย แต่

95
00:08:00,943 --> 00:08:04,943
การวัดผลทุกคนก็อาจจะแตกต่างกันเห็นไหมคะ

96
00:08:09,447 --> 00:08:13,447
บางคนได้ A ได้ B ได้ C  ใช่ไหมคะ

97
00:08:18,096 --> 00:08:22,096
อัลกอริทึมก็มีวิธีการวัดประสิทธิภาพ เราจะได้รู้ว่าสิ่งที่เราเขียนมีประสิทธิภาพมากแค่ไหน

98
00:08:22,728 --> 00:08:25,677
มันขึ้นกับว่าหน่วยเวลา หน่วยความจำ

99
00:08:25,677 --> 00:08:29,677
นะคะ ในคลอสนี้ครูจะใช้การวิเคราะห์เวลา

100
00:08:34,540 --> 00:08:37,092
การวิเคราะห์เวลาที่ใช้ประมวลผลนะคะ คราวนนี้เราจะเรียนเกี่ยวกับการวิเคราะห์เวลา การวิเคราะห์เวลาที่ใช้ในการประมวลผลนะคะ

101
00:08:37,092 --> 00:08:41,092
คราวนี้ เวลาที่ใช้ในการประมวลผลจะเป

102
00:08:50,546 --> 00:08:52,019
จะเป็นการประมาณเวลา โดยการใช้ตัววัดที่มีชื่อว่า Big-O

103
00:08:52,019 --> 00:08:56,019
Big-O เขียนอย่างนี้นะ Big

104
00:09:01,132 --> 00:09:02,551
แล้วก็ขีดแล้วก็ตัว O

105
00:09:02,551 --> 00:09:03,488
จริง ๆ มันมีตัววัดประสิทธิภาพหลายตัวนะคะ

106
00:09:03,488 --> 00:09:07,488
มี Big-O , Big-Omega , Big-Teta  นะคะ

107
00:09:07,692 --> 00:09:11,692
แต่ที่เราจะใช้กันวันนี้ในคอร์สก็คือ Big-O

108
00:09:15,425 --> 00:09:19,425
ทุกคนจะหา Big- O

109
00:09:21,314 --> 00:09:24,940
จากอัลกอริทึม 1 ตัว จะดูว่าเราจะใช้เวลาในการประมวลผลคิด

110
00:09:24,940 --> 00:09:25,557
เป็นเท่าไรนะคะ เขาบอกว่า

111
00:09:25,557 --> 00:09:29,557
Big-O ก็คือหน่วยวัดการทำงาน

112
00:09:38,583 --> 00:09:41,873
ความเร็วของการทำงานของโปรแกรม ด้วยที่เราวัดจากจำนวนรอบของการทำงานกับข้อมูล

113
00:09:41,873 --> 00:09:45,873
นับจำนวนรอบของการทำงานหมายความว่าอะไร

114
00:09:51,342 --> 00:09:55,342
เราเขียนโปรแกรมใช่ไหมคะ แต่ละบรรทัด เราเขียนโปรแกรมแต่ละบรรทัดเป็นลำดับลงมา

115
00:10:00,555 --> 00:10:04,555
เวลาเรากดปุ่ม Run ปุ๊บ มันจะค่อย ๆ ทำงานทีละบรรทัดใช่ไหมคะ มันจะทำงานทีละ

116
00:10:10,614 --> 00:10:13,406
บรรทัด ไล่ลงมาจากบนลงล่างนะคะ ถ้าเราเขียนโค้ดเรียงลำดับลงมาเรื่อย ๆ

117
00:10:13,406 --> 00:10:17,406
นะคะ จะทำงานเพียง 1 ครั้ง

118
00:10:19,211 --> 00:10:23,211
ทำบรรทัดที่ 1 เสร็จ ทำบรรทัดที่ 2 บรรท

119
00:10:26,634 --> 00:10:26,870
บรรทัดที่ 4 ไล่ลงมาเรื่อย ๆ นะ ไม่ได้วนกลับขึ้นไปข้างบนนะ

120
00:10:26,870 --> 00:10:27,818
แต่เมื่อไรก็ตามที่เรา

121
00:10:27,818 --> 00:10:31,818
ใช้ลูปหรือว่าการทำงานแบบ

122
00:10:33,056 --> 00:10:37,056
วนซ้ำที่เราเคยพูดไปแล้ว ตัวนี้

123
00:10:38,859 --> 00:10:42,859
อย่างเช่น ตรงนี้นะคะ เป็นการทำงานแบบวนซ้ำ แสดงว่า

124
00:10:43,107 --> 00:10:45,921
เราทำงานมากกว่า 1 รอบ

125
00:10:45,921 --> 00:10:49,921
ใช่ไหมคะ เมื่อไรก็ตามทีมีการใช้ L

126
00:10:58,633 --> 00:11:02,633
oop หรือว่าวนซ้ำ แสดงว่าคำสั่งนั้นนี่อาจจะมีการทำงานมากกว่า 1 ครั้ง เราจะต้องรู้ว่าแล้วมันทำงานกี่ครั้ง

127
00:11:03,878 --> 00:11:07,878
แล้วมันทำวงานกี่ครั้ง ถ้า

128
00:11:13,683 --> 00:11:17,683
ไม่มีการวนลูปมันจะทำงาน 1 ครั้งนะคะ แต่เมื่อiก็ตามที่มีการทำซ้ำหรือวนลูป เราจะทำงานตามจำนวน

129
00:11:17,937 --> 00:11:20,683
รอบที่เรากำหนดว่าเรากำหนดให้มันทำงานกี่ครั้ง

130
00:11:20,683 --> 00:11:24,683
นะคะ แล้วเราถึงจะเอามาหา

131
00:11:30,443 --> 00:11:34,096
ความเร็วของการทำงานของโปรแกรม คราวนี้ สัญลักษณ์ของ Big-O

132
00:11:34,096 --> 00:11:37,974
ก็คือตัว O ใหญ่ เราจะใช้ตัว O

133
00:11:37,974 --> 00:11:41,974
ใหญ่เป็นสัญลักษณ์ในการหาความเร็ว

134
00:11:46,091 --> 00:11:47,447
ของการทำงาน แล้วเริ่มต้นนะคะ อย่างที่ครูบอกว่า Big-O คือ

135
00:11:47,447 --> 00:11:51,447
การวัดความเร็วของการทำงานโดยวัดจากจำนวน

136
00:11:52,984 --> 00:11:56,984
รอบ เพราะฉะนั้น เรามาดูว่าเรานับ

137
00:12:02,671 --> 00:12:06,034
แล้วเรานับจำนวนครั้งของการทำงานหรือจำนวนรอบของการทำงานนี่นับอย่างไร มีอยู่

138
00:12:06,034 --> 00:12:10,034
2 แบบนะคะ

139
00:12:10,458 --> 00:12:14,458
แบบค่าคงที่ แบบที่ครูบอกทำตามลำดับลงมาเรื่อ

140
00:12:18,682 --> 00:12:19,856
ย ๆ หรือทำงานแบบลูปลำดับ ก็คือวนซ้ำ เราใช้ลูปอะไรบ้าง

141
00:12:19,856 --> 00:12:23,856
ในการเขียนโปรแกรม ในการวนซ้ำ เราใช้ลูป

142
00:12:25,233 --> 00:12:29,233
อะไรบ้างเอ่ย ตอนเราเขียน Python เราใช้

143
00:12:34,687 --> 00:12:37,400
อะไร จำได้ไหม จำได้ไหมคะ Loop อะไร ในการวนลูปในภาษา Python

144
00:12:37,400 --> 00:12:39,013
น่ะค่ะ เราใช้ลูปอะไรบ้าง

145
00:12:39,013 --> 00:12:43,013
เราใช้ลูปอะไรบ้าง

146
00:12:47,109 --> 00:12:51,109
ใช่ เราใช้อะไรคะ ใน Python ที่เราเขียน ก็คือ Loop

147
00:12:57,261 --> 00:13:01,261
For ใช่ มี

148
00:13:05,358 --> 00:13:09,358
While ใช่ไหมคะ

149
00:13:14,721 --> 00:13:15,724
มี while นะคะ อย่างที่เพื่อนบอก

150
00:13:15,724 --> 00:13:19,724
นะคะ อีกตัวหนึ่งคืออะไร

151
00:13:21,935 --> 00:13:25,935
For นะคะ เราจะคุ้นเคยนะ การทำงานแบบวนซ้ำ จะมี for กับ While

152
00:13:28,337 --> 00:13:28,766
for กับ while ต่างกันอย่างไรคะ

153
00:13:28,766 --> 00:13:32,766
ทราบไหม เมื่อไหร่เราจะใช้ Fo

154
00:13:38,733 --> 00:13:42,733
r เมื่อไรเราจะใช้ while 1.

155
00:13:50,741 --> 00:13:54,741

156
00:14:02,748 --> 00:14:06,748
อันนี้เราสันนิฐานได้เลย

157
00:14:08,429 --> 00:14:09,077
อาจจะทำงาน 1 ครั้งหรือมากกว่า 1 ครั้งนะคะ ขึ้นอยู่กับเงื่อนไข

158
00:14:09,077 --> 00:14:13,077
แสดงว่าเราต้องการวนซ้ำ

159
00:14:15,222 --> 00:14:16,119
เราสามารถใช้ for หรือใช้ while ได้

160
00:14:16,119 --> 00:14:20,119
เมื่อไรที่เราทราบจำนวนรอบของการวน

161
00:14:26,762 --> 00:14:30,762
ของการวนซ้ำเราจะใช้ for นะคะ เพื่อความง่าย เมื่อไรก็ตามที่เรารู้จำนวนรอบของการวนซ้ำ

162
00:14:32,206 --> 00:14:34,621
เราจะใช้ for เช่น เขาบอกว่าให้วิ่ง

163
00:14:34,621 --> 00:14:38,621
รอบสนามฟุตบอล 10 รอบ แสดงว่าต้องวิ่ง 10 ร

164
00:14:42,771 --> 00:14:46,771
อบ วิ่ง 11 รอบได้ไหม ไม่นับถูกไหม ครูบอกว่า 10 รอบ ก็ต้อง 10 รอบ ก็ต้องใช้ for

165
00:14:48,636 --> 00:14:52,636
ใช่ไหมคะ แต่ถ้าครูบอกว่าวิ่งจนกระทั่งเพื่อนนาย A มา

166
00:14:58,056 --> 00:14:59,796
รู้ไหมกี่รอบ ไม่รู้ เพราะว่าไม่รู้นาย A มาตอนไหน

167
00:14:59,796 --> 00:15:03,796
เราถึงจะหยุดนะคะ เพราะฉะนั้น

168
00:15:05,924 --> 00:15:09,924
While เราไม่รู้จำนวนรอบที่แน่นอน

169
00:15:14,798 --> 00:15:17,799
ถูกไหม แต่ for นี่ให้เราคิดว่าเรารู้จำนวนรอบที่แน่นอนนะคะ เช่น แม่ให้เงินมานะ

170
00:15:17,799 --> 00:15:21,799
มาโรงเรียนบอกว่า

171
00:15:22,441 --> 00:15:26,441
ไม่ใช่มาโรงเรียน แม่ให้ไปซื้อของ

172
00:15:28,732 --> 00:15:30,724
นะคะ ไปซื้อหมูปิ้ง ให้เงิน

173
00:15:30,724 --> 00:15:34,724
100 บาท ไปซื้อหมูปิ้ง

174
00:15:36,847 --> 00:15:40,847
เรารู้ไหมต้องซื้อได้กี่ไม้

175
00:15:42,424 --> 00:15:43,127
ไม่รู้เหมือนกันนะ

176
00:15:43,127 --> 00:15:47,127
เราก็ใช้ While ก็ได้นะคะ

177
00:15:49,870 --> 00:15:53,870
เงินเป็น 0 เมื่อไรถึงหยุด

178
00:15:55,628 --> 00:15:59,628
เหมือนซื้อหวยถูกไหม ซื้อไปเรื่อย ๆ

179
00:16:02,557 --> 00:16:06,557
ไม่รู้จนกว่าจะถูกอย่างนี้ ไม่รู้จำนวนรอบต้องซื้อกี่งวดใช่ไหมคะ คราวนี้ เราแยก

180
00:16:08,432 --> 00:16:12,432
Loop while กับ Loop for พอได้ คราวนี้

181
00:16:14,524 --> 00:16:16,930
การนับตัวดำเนินการ

182
00:16:16,930 --> 00:16:20,846
ก็คือ 1 2 3 4 นะ นับก็คือนับจำนวนรอบนะคะ ในการทำงาร ในกรณี

183
00:16:20,846 --> 00:16:24,846
ที่ไม่มี Loop การวนซ้ำ

184
00:16:25,978 --> 00:16:29,978
นะคะ เรียงลำดับลงมาเรืิ่อย ๆ

185
00:16:34,843 --> 00:16:36,222
นะคะ เช่น ครูมีคำสั่งอยู่ 2 บรรทัด คำสั่งอยู่ 2 บรรทัด ไม่ใช่การ

186
00:16:36,222 --> 00:16:40,222
วนลูปใช่ไหม เพราะไม่มีคำว่า for กับไม่มีคำว่า "while"

187
00:16:45,849 --> 00:16:47,378
คำสั่งแรก count = 0

188
00:16:47,378 --> 00:16:50,956
คืออะไร เราให้

189
00:16:50,956 --> 00:16:54,956
ค่ากับตัวแปรที่ชื่อว่า count

190
00:17:02,529 --> 00:17:05,289
c-o-u-n-t เมื่อเรา Run คำสั่งนี้ปุ๊บ เมื่อคำสั่งนี้ถูกประมวลผล

191
00:17:05,289 --> 00:17:09,289
count จะมีค่าเป็น 0 ใช่ไหมคะ

192
00:17:10,886 --> 00:17:14,886
อ่านบรรทัดที่ 1 นี่ เมื่อผ่านบรรทัดที่ 1 ไป

193
00:17:15,725 --> 00:17:19,725
count จะมีค่าเป็น 0 นะคะ

194
00:17:21,747 --> 00:17:25,747
count จะมีค่าเป็น 0 เสร็จแล้วทำงานบรรทัดที่ 2 บรรทัดที่ 2 คือ การคำนวณใช่ไหมคะ

195
00:17:28,466 --> 00:17:29,845
คำนวณ คำนวณเสร็จแล้วก็เก็บในตัวแปรที่ชื่อว่า

196
00:17:29,845 --> 00:17:33,845
Tatal เวลาเรากด Run ถูกไหมคะ

197
00:17:38,300 --> 00:17:42,300
เราเขียนโปรแกรม Python นะ แล้วเรากด Run นี่ บรรทัด

198
00:17:45,683 --> 00:17:49,025
ที่ 1 เสร็จ กรณีที่ไม่มี Error นะ กรณีที่

199
00:17:49,025 --> 00:17:52,973
บรรทัดที่ 1 เสร็จ แล้วก็มาบรรทัดที่ 2

200
00:17:52,973 --> 00:17:54,316
มันหมดแล้วไม่มีอะไร มันก็จบการทำงานใช่ไหมคะ เพราะฉะนั้น ครูเลยถามว่า ไอ้

201
00:17:54,316 --> 00:17:58,316
คำสั่งของบรรทัดที่ 1 มันทำงานกี่ครั้ง

202
00:18:01,392 --> 00:18:05,392
คิดว่ามันทำงานกี่ครั้ง

203
00:18:06,221 --> 00:18:07,391
ครูกดปุ่ม

204
00:18:07,391 --> 00:18:11,391
Run ปุ๊บ มันมาอ่านบรรทัดที่ 1 ใส่ค่าให้กับ

205
00:18:17,149 --> 00:18:18,947
ตัวแปร count เสร็จแล้วก็มาทำบรรทัดที่ 2

206
00:18:18,947 --> 00:18:22,947
คำนวณเสร็จ เก็บใน

207
00:18:25,794 --> 00:18:29,794
เพราะฉะนั้น บรรทัดที่ 1 นี่ทำงานกี่ครั้ง 1 ครั้งใช่ไหมคะ ทำงานแค่ 1 ครั้ง ต่อการ Run นะ

208
00:18:31,159 --> 00:18:33,357
ต่อการ Run บรรทัดที่ 2 ทำงานกี่ครั้ง

209
00:18:33,357 --> 00:18:37,357
กด Run สิ Run ครั้งหนุ่ง 1

210
00:18:40,072 --> 00:18:42,375
กด Run Run ครั้งหนึ่งถูกไหมคะ บรรทัดที่ 1 ก็ต้องทำ

211
00:18:42,375 --> 00:18:44,724
บรรทัดที่ 2 ก็ต้องทำ 1 ครั้งเหมือนกัน แล้วก็จบ

212
00:18:44,724 --> 00:18:47,982
ใช่ไหมคะ เพราะฉะนั้น

213
00:18:47,982 --> 00:18:51,982
เมื่อไหร่ก็ตาม โปรแกรมของเราไม่มีการวน

214
00:18:58,460 --> 00:18:58,692
โปรแกรมของเราไม่มีการวนลูป

215
00:18:58,692 --> 00:19:02,692
การทำงานแต่ละบรรทัด จะทำงาน 1 ครั้ง

216
00:19:03,573 --> 00:19:05,233
นะคะ จะทำงาน 1 ครั้งเท่านั้น เราจะ

217
00:19:05,233 --> 00:19:09,233
นับตัวดำเนินการตัวนี้ คือ 1

218
00:19:12,977 --> 00:19:15,817
ก็คือ 1 ครั้ง ตัวนี้ 1 ครั้ง ถ้าเราจะหาค่า Big-O นะคะ

219
00:19:15,817 --> 00:19:19,817
เรานับตัวดำเนินการได้แล้ว ต่อไปเราจะหาค่า Big-O

220
00:19:21,018 --> 00:19:25,018
นะคะ เราต้องหารค่าฟังก์ชันก่อน

221
00:19:27,036 --> 00:19:28,878
คือ F นะคะ F ย่อมาจาก Function

222
00:19:28,878 --> 00:19:32,878
F= ตัวเลขตัวนี้มากจากไหน 1 ตัวนี้

223
00:19:34,499 --> 00:19:38,499
ก็คือ 1 ตัวนี้ของบรรทัดที่ 1 บวกด้วย 1 ตัวที่ 2 ก็คือ

224
00:19:41,640 --> 00:19:44,685
จำนวนรอบของบรรทัดที่ 2 นะคะ ทำงาน

225
00:19:44,685 --> 00:19:47,915
1 ครั้ง ทำงาน 1 ครั้ง บวกกันเป็น 2

226
00:19:47,915 --> 00:19:51,915
ครั้งนะคะ เราถือว่าค่า

227
00:19:53,850 --> 00:19:57,850
Big-O ก็คือเป็น O (1

228
00:20:01,764 --> 00:20:03,613
) เขียน O (1)

229
00:20:03,613 --> 00:20:04,051
นะคะ เป็น O(1)

230
00:20:04,051 --> 00:20:05,445

231
00:20:05,445 --> 00:20:09,445
แล้วถ้าเป็น

232
00:20:17,412 --> 00:20:20,592
เงื่อนไขบ้าง เป็นเงื่อนไขคืออะไร เป็นการตัดสินใจ

233
00:20:20,592 --> 00:20:23,366
มีการตัดสินใจ เมื่อไรก็ตามที่เราตัดสินใจ

234
00:20:23,366 --> 00:20:24,169
คือ การเลือก การตัดสินใจ

235
00:20:24,169 --> 00:20:28,169
คือการเลือกถูกไหมคะ เลือกว่าจะไปทางซ้า

236
00:20:34,963 --> 00:20:38,963
ย จะไปทางซ้ายหรือจะไปทางขวา เวลาเราเจอ 4 แยก เราต้องตัดสินใจใช่ไหม เราต้องตัดสินใจ เลี้ยวซ้าย

237
00:20:39,998 --> 00:20:41,899
เลี้ยวขวานะคะ เพราะฉะนั้น

238
00:20:41,899 --> 00:20:45,899
การตัดสินใจเราใช้คำสั่ง if

239
00:20:50,560 --> 00:20:53,857
i-f นะคะ ใช้คำสั่ง if ใน Python if คือ ถ้า ถ้าแล้วตามด้วยเงื่อนไขใช่ไหมคะ

240
00:20:53,857 --> 00:20:57,857
ข้างในตรวงนี้คือเงื่อนไข

241
00:21:02,151 --> 00:21:06,151
เงื่อนไขที่ครูกำหนด คือ

242
00:21:06,427 --> 00:21:09,164
ถ้า n น้อยกว่า 0

243
00:21:09,164 --> 00:21:13,164
ถ้า n น้อยกว่า 0

244
00:21:22,240 --> 00:21:26,240
n คือตัวเลข เดี๋ยวเราจะมาแทนค่า n กัน จากโค้ดตัวนี้นะคะ ถ้า n น้อยกว่า 0

245
00:21:27,164 --> 00:21:31,164
ให้ทำอะไร ถ้าเงื่อนไขตัวนี้เป็นจริง จะมาทำบรรทัดที่ 2

246
00:21:32,046 --> 00:21:35,282
พูดผิด มาทำบรรทัดที่ 3 ถ้าเงื่อนไขตรงนี้

247
00:21:35,282 --> 00:21:39,282
เป็นจริง จะมาทำบรรทัดที่ 3 ให้ print คำว่า

248
00:21:45,725 --> 00:21:47,043
"negative integer" ก็คือตัวเลขติดลบ

249
00:21:47,043 --> 00:21:51,043
else คืออะไรคะ

250
00:21:53,447 --> 00:21:57,447
ถ้าเงื่อนไขตรงนี้ เงื่อนไขตัวนี้ไม่จริง ก็คือ

251
00:22:01,377 --> 00:22:05,377
n มันมากกว่า เท่ากับ

252
00:22:08,115 --> 00:22:12,115
0 ใช่ไหมคะ เงื่อนไขตรงนี้ไม่จริง คืออะไร คือ n มากวว่า

253
00:22:18,759 --> 00:22:20,772
0 ก็คือเป็นนิเสธกับตัวนี้

254
00:22:20,772 --> 00:22:23,423
ตรงกันข้ามกับเงื่อนไขข้างบน

255
00:22:23,423 --> 00:22:26,127
ถ้าข้างบนนี่ไม่จริง ก็แสดงว่า n เรานี่

256
00:22:26,127 --> 00:22:30,127
ต้องมากกว่า เท่ากับ 0 เราจะแสดงคำว่าอะไร เราจะแสดงคำว่า

257
00:22:32,157 --> 00:22:36,157
"positive integer" คราวนี้ ทุกคนช่วยครูดู

258
00:22:41,445 --> 00:22:43,355
นะ สิ่งที่เราจะต้องตอบครูให้ได้ว่าจะทำงานบรรทัดที่ 3 หรือทำงานบรรทัดที่ 7

259
00:22:43,355 --> 00:22:46,085
นะคะ เดี๋ยวให้ยกมือนะ

260
00:22:46,085 --> 00:22:50,085
ยกมือ ครูถามตัวเลขครูจะ

261
00:22:56,070 --> 00:23:00,070
แทนค่า n ใด ๆ ให้ แล้วให้เราลองบอกครูหน่อยว่าเราจะทำงานบรรทัดที่ 3 หรือบรรทัดที่ 7

262
00:23:04,054 --> 00:23:08,054
ด้วยเงื่อนไขตอนนี้ ถ้า n น้อยกว่า 0 จะทำบรรทัดที่ 3

263
00:23:09,504 --> 00:23:10,964
ถ้า n มากกว่าเท่ากับ 0 จะทำบรรทัดที่ 7

264
00:23:10,964 --> 00:23:14,964
ครูกำหนดให้ n

265
00:23:20,278 --> 00:23:20,426
= 20

266
00:23:20,426 --> 00:23:22,918
ทำบรรทัดไหนเอ่ย

267
00:23:22,918 --> 00:23:26,918
บรรทัดไหนดี อันนี้ n เท่ากับ 20 นะ

268
00:23:28,027 --> 00:23:28,679

269
00:23:28,679 --> 00:23:32,679
คำถาม

270
00:23:35,612 --> 00:23:39,612
คือ จากโค้ดตัวนี้

271
00:23:42,870 --> 00:23:43,876
โค้ดตัวนี้ที่ครูให้มา ครูอยากรู้ว่า

272
00:23:43,876 --> 00:23:47,876
เมื่อครูแทน n ใด ๆ ด้วยตัวเลขนี้

273
00:23:50,540 --> 00:23:52,399
แทนค่า n ด้วยตัวเลขนี้

274
00:23:52,399 --> 00:23:56,399
เมื่อเอา n เท่ากับ 20 เอา 20

275
00:23:59,662 --> 00:24:03,365
ไปแทน n นี่ เมื่อเรา Run คำสั่งนี้ ครูจะทำบรรทัดที่ 3

276
00:24:03,365 --> 00:24:05,106
หรือบรรทัดที่ 7 อันไหนคะ

277
00:24:05,106 --> 00:24:05,777
น้อยกว่า

278
00:24:05,777 --> 00:24:09,777
ครูก็เลยอยากรู้ว่าเราจะโชว์บรรทัดที่ 3

279
00:24:17,273 --> 00:24:21,273
ที่หน้าจอหรือโชว์บรรทัดที่ 7 คนอื่นบรรทัดที่เท่าไรเอ่ย

280
00:24:22,829 --> 00:24:26,109
น้อยกว่า 0 เราจะทำบรรทัดไหนดีคะ

281
00:24:26,109 --> 00:24:28,218

282
00:24:28,218 --> 00:24:32,218

283
00:24:43,121 --> 00:24:47,121
เดี๋ยวนะ

284
00:24:47,780 --> 00:24:48,065
ครูลองกด 14 นะ ครูลองกด...

285
00:24:48,065 --> 00:24:52,065

286
00:25:03,154 --> 00:25:07,154

287
00:25:11,159 --> 00:25:15,159

288
00:25:15,160 --> 00:25:19,160

289
00:25:19,171 --> 00:25:23,166

290
00:25:23,166 --> 00:25:27,166

291
00:25:31,166 --> 00:25:35,166

292
00:25:35,173 --> 00:25:39,173

293
00:25:47,179 --> 00:25:51,179

294
00:25:51,187 --> 00:25:55,187

295
00:26:03,191 --> 00:26:07,191

296
00:26:07,196 --> 00:26:09,270

297
00:26:09,270 --> 00:26:13,270

298
00:26:19,204 --> 00:26:23,204

299
00:26:23,205 --> 00:26:24,332

300
00:26:24,332 --> 00:26:28,332

301
00:26:29,700 --> 00:26:30,271

302
00:26:30,271 --> 00:26:31,301

303
00:26:31,301 --> 00:26:35,301
โจทย์ครูนะคะ จากโค้ด

304
00:26:38,140 --> 00:26:40,992
ตัวนี้นะคะ ถ้าครูกำหนดให้ n เท่ากับ

305
00:26:40,992 --> 00:26:44,992
20 เมื่อเรา Run โปรแกรมตามเงื่อนไขแล้ว

306
00:26:46,623 --> 00:26:48,993
จะแสดงข้อความในบรรทัดที่ 3

307
00:26:48,993 --> 00:26:52,993
หรือ บรรทัดที่ 7

308
00:26:54,422 --> 00:26:54,589
เราต้องเช็กเงื่อนไขถูกไหมคะ เอา 20

309
00:26:54,589 --> 00:26:56,495
ไปแทน n

310
00:26:56,495 --> 00:27:00,495

311
00:27:01,449 --> 00:27:05,449

312
00:27:15,262 --> 00:27:19,262

313
00:27:23,267 --> 00:27:27,267

314
00:27:27,268 --> 00:27:31,268

315
00:27:39,276 --> 00:27:41,655
ได้ไหมคะ

316
00:27:41,655 --> 00:27:43,357
โอเค น้องตอบแล้วนะ

317
00:27:43,357 --> 00:27:46,788
คือ บรรทัดที่ 7 นะคะ

318
00:27:46,788 --> 00:27:50,788
ใช่ คือ ถ้าเราแทน n ด้วย 20 ใช่ไหมคะ

319
00:27:51,806 --> 00:27:55,806
แล้วก็เทียบ 20 น้อยกว่า 0 จริงไหม

320
00:28:02,223 --> 00:28:04,212
คะ 20 น้อยกว่า 0 จริงไหม ไม่จริง ถ้าไม่จริงให้ทำอะไร

321
00:28:04,212 --> 00:28:08,212
ให้มาทำหลัง else ใช่ไหมคะ เพราะฉะนั้น จะต้อง print

322
00:28:15,044 --> 00:28:18,110
บรรทัดนี้ออกมาที่หน้าจอ

323
00:28:18,110 --> 00:28:22,110
โอเค

324
00:28:27,313 --> 00:28:31,311

325
00:28:31,311 --> 00:28:35,311

326
00:28:43,320 --> 00:28:47,320

327
00:28:47,321 --> 00:28:47,399

328
00:28:47,399 --> 00:28:50,034
เอาใหม่นะ เอาทีละตัวนะคะ

329
00:28:50,034 --> 00:28:54,034

330
00:29:00,277 --> 00:29:03,017
เอาใหม่นะ สมมติว่า

331
00:29:03,017 --> 00:29:07,017
เดี๋ยวครูถามอย่างนี้แล้วกันนะ

332
00:29:08,746 --> 00:29:11,497
ถ้าคิดว่าถามทุกคนเลยนะคะ

333
00:29:11,497 --> 00:29:15,497
ถ้าทำงานบรรทัดที่ 3 นี่ เดี๋ยวจะให้ยกมือซ้าย

334
00:29:22,380 --> 00:29:24,716
นะ ถ้าทำงานบรรทัดที่ 7 ยกมือขวา เดี๋ยวครูเขียนให้ ถ้า

335
00:29:24,716 --> 00:29:25,503
ตัวนี้นะ

336
00:29:25,503 --> 00:29:29,503
ให้ยกมือขวา

337
00:29:30,654 --> 00:29:34,149
ถ้าทำงานตรงนี้ให้ยก

338
00:29:34,149 --> 00:29:36,803
มือซ้าย

339
00:29:36,803 --> 00:29:40,803
นะคะ เอาใหม่

340
00:29:40,932 --> 00:29:44,932
ทุกคนดูนะ

341
00:29:48,083 --> 00:29:52,083
ถ้าครูกำหนดให้

342
00:29:52,177 --> 00:29:55,283
n = 6 n

343
00:29:55,283 --> 00:29:59,283
= 6 ยกมือซ้ายหรือ

344
00:30:01,362 --> 00:30:04,883
มือขวา n = 6

345
00:30:04,883 --> 00:30:08,883
มีใคร

346
00:30:09,145 --> 00:30:13,145
ยกอีก ยกมือให้ครูดูหน่อย

347
00:30:16,681 --> 00:30:20,681
เร็ว n = 6 น้อยกว่า 0 จริงไหม น้อยกว่า 0

348
00:30:24,622 --> 00:30:28,622
จริงไหมคะ 6 น้อยกว่า 0 ไม่จริง

349
00:30:31,870 --> 00:30:35,870
เห็นไหม ไม่จริงแล้ว แสดงว่า 6 นี่ มัน

350
00:30:39,377 --> 00:30:40,526
น้อยกว่าหรือเท่ากับ 0 ต้องยกมือไหนคะ

351
00:30:40,526 --> 00:30:44,472
ยกมือขวานะ ยกมือขวา เอาใหม่ทุกคนต้องยกมือนะ นะคะ เปลี่ยนใหม่ ๆ

352
00:30:44,472 --> 00:30:46,721
ตัวเลข

353
00:30:46,721 --> 00:30:50,175

354
00:30:50,175 --> 00:30:53,998
25

355
00:30:53,998 --> 00:30:57,998
ยก ใครไม่ยก

356
00:30:59,867 --> 00:31:00,937
ยกมือด้วย

357
00:31:00,937 --> 00:31:04,937
25 มากกว่า 0

358
00:31:08,381 --> 00:31:10,933
ไหม 25 มากกว่า 0 ไหม มากกว่า

359
00:31:10,933 --> 00:31:14,933
เพราะฉะนั้น ยกมือ มากกว่า 0 ยกมือขวา

360
00:31:21,438 --> 00:31:22,124
ใช่ไหม เพื่อนตอบถูก

361
00:31:22,124 --> 00:31:22,307
ยกมือขวานะคะ

362
00:31:22,307 --> 00:31:26,307
เอาใหม่

363
00:31:26,967 --> 00:31:30,967
-10 -10

364
00:31:33,826 --> 00:31:35,854
-10

365
00:31:35,854 --> 00:31:39,854
ลบมันน้อยกว่า 0 ไหม

366
00:31:40,803 --> 00:31:41,053
น้อยกว่า

367
00:31:41,053 --> 00:31:45,053

368
00:31:50,869 --> 00:31:52,691
เพื่อนตอบถูก

369
00:31:52,691 --> 00:31:54,581
ยกมือ ซ้าย

370
00:31:54,581 --> 00:31:58,581
นะ ใช่ ยกมือซ้าย

371
00:31:59,150 --> 00:32:03,150

372
00:32:11,470 --> 00:32:15,470

373
00:32:15,473 --> 00:32:19,473

374
00:32:19,474 --> 00:32:23,474

375
00:32:23,480 --> 00:32:27,480

376
00:32:27,481 --> 00:32:31,481

377
00:32:31,487 --> 00:32:35,484

378
00:32:35,484 --> 00:32:39,484

379
00:32:43,488 --> 00:32:47,488

380
00:32:47,492 --> 00:32:51,492

381
00:32:51,494 --> 00:32:55,494

382
00:32:59,503 --> 00:33:03,503

383
00:33:03,507 --> 00:33:07,505

384
00:33:07,505 --> 00:33:11,505

385
00:33:11,524 --> 00:33:15,511

386
00:33:15,511 --> 00:33:19,511

387
00:33:19,514 --> 00:33:23,514

388
00:33:23,520 --> 00:33:27,520

389
00:33:31,519 --> 00:33:35,519
สมมติครูมีโจทย์ใหม่ อย่างนี้ยกมือซ้าย

390
00:33:38,827 --> 00:33:42,827
หรือมือขวา ครูแทนตัวเลขให้แล้ว

391
00:33:51,526 --> 00:33:52,236

392
00:33:52,236 --> 00:33:56,236
ได้ไหมคะ ถ้า 25 น้อยกว่า

393
00:34:00,663 --> 00:34:01,221
0 มันจริงไหม ไม่จริง

394
00:34:01,221 --> 00:34:05,221

395
00:34:08,080 --> 00:34:12,080
25 มันไม่ได้น้อยกว่า 0

396
00:34:14,134 --> 00:34:18,134
ไม่จริง เพราะฉะนั้น บรรทัดนี้ไม่ทำ ต้องย้ายมาทำ

397
00:34:18,456 --> 00:34:22,456
ตัวนี้ 25 มากกว่าเท่ากับ 0 ใช

398
00:34:27,570 --> 00:34:29,047
่ไหม ใช่ มันเลยมากกว่าเท่ากับ 0 ใช่ไหม ใช่ ก็เลยต้องยกมือซ้าย

399
00:34:29,047 --> 00:34:32,921

400
00:34:32,921 --> 00:34:36,921

401
00:34:47,574 --> 00:34:51,574

402
00:34:51,579 --> 00:34:55,579

403
00:34:55,587 --> 00:34:59,583

404
00:34:59,583 --> 00:35:03,583

405
00:35:03,586 --> 00:35:07,584

406
00:35:07,584 --> 00:35:11,584

407
00:35:11,593 --> 00:35:12,848
ดูเส้น อันนี้คือ 0 นะ แล้วก็ -10

408
00:35:12,848 --> 00:35:15,467
ใช่ไหมคะ

409
00:35:15,467 --> 00:35:19,467
มากกว่า 0 มาทางขวา อันนี้

410
00:35:22,684 --> 00:35:26,684
ไปทางซ้ายคือน้อยกว่า 0

411
00:35:27,136 --> 00:35:31,136
ถ้าตัวเลขอยู่ในช่วงนี้ถูกไหมคะ ให้ทำอะไร

412
00:35:35,450 --> 00:35:39,450
ยกมือซ้าย ใช่ไหม ถ้าตัวเลข

413
00:35:45,947 --> 00:35:49,947
อยู่ในช่วงนี้นะคะ อันนี้รวมถึงตัวนี้ด้วยนะ

414
00:35:55,619 --> 00:35:58,267

415
00:35:58,267 --> 00:36:02,267
ได้ไหม ดูเส้นจำนวนตัวนี้นะคะ

416
00:36:06,073 --> 00:36:10,073
ครูแปลงจากตัวนั้นมาเป็นเส้นจำนวนแบบตัวนี้แล้ว

417
00:36:14,306 --> 00:36:17,943
0 ตั้งแต่ 0 มาทางขวา ให้ยกมือซ้าย

418
00:36:17,943 --> 00:36:21,943
เห็นไหม ถ้า  0 ย้อนไปทางซ้าย คือ ตัวเลขมันติดลบน่ะ

419
00:36:25,269 --> 00:36:25,286
ตัวเลขมันติดลบ ทำไมมันไม่ลบให้ครู 0 ย้อนไปทางซ้าย คือ ตัวเลขมันติดลบน่ะ

420
00:36:25,286 --> 00:36:29,286

421
00:36:35,639 --> 00:36:39,639
เอาใหม่นะคะ ตัวเลขติดลบนะ ถ้ามีตัวเลขติดลบอย่างนี้นะ

422
00:36:40,825 --> 00:36:44,825
ให้ยกมือขวา เอาใหม่นะ สมมิตครูบอกว่าเลข

423
00:36:49,545 --> 00:36:51,704
-1 ถ้า -1 จะยกมือขวาหรือมือซ้าย

424
00:36:51,704 --> 00:36:55,704
-1

425
00:36:55,706 --> 00:36:59,585
จะยกขวาหรือซ้าย

426
00:36:59,585 --> 00:37:03,444
ขวา

427
00:37:03,444 --> 00:37:05,537
-1 ขวาใช่ไหม

428
00:37:05,537 --> 00:37:09,537

429
00:37:09,662 --> 00:37:13,526

430
00:37:13,526 --> 00:37:17,526
เอาใหม่

431
00:37:17,530 --> 00:37:21,530
ถ้าครูเปลี่ยนเลขตัวนี้เป็น 9

432
00:37:27,843 --> 00:37:29,011
มันเกินนะ 15

433
00:37:29,011 --> 00:37:32,880
15 ยกซ้ายหรือขวา

434
00:37:32,880 --> 00:37:34,790
15 15

435
00:37:34,790 --> 00:37:38,790

436
00:37:47,721 --> 00:37:51,721

437
00:37:51,724 --> 00:37:55,724

438
00:37:59,737 --> 00:38:03,737

439
00:38:03,744 --> 00:38:07,742

440
00:38:07,742 --> 00:38:11,742

441
00:38:11,745 --> 00:38:15,745

442
00:38:15,751 --> 00:38:19,751

443
00:38:19,757 --> 00:38:23,757

444
00:38:23,759 --> 00:38:27,759

445
00:38:27,760 --> 00:38:28,629

446
00:38:28,629 --> 00:38:32,629

447
00:38:35,767 --> 00:38:39,767
อันนี้โอเคขึ้นนะ เอาใหม่ครูเปลี่ยนใหม่ ถ้าเป็นแบบนี้

448
00:38:41,528 --> 00:38:41,630
ติดลบ คือ ซ้าย เป็นบวกมากกว่า 0

449
00:38:41,630 --> 00:38:45,630
ก็คือขวาใช่ไหมคะ คราวนี้จะได้ไม่งงนะ

450
00:38:47,811 --> 00:38:50,135
19 ยกมือไหน

451
00:38:50,135 --> 00:38:54,135
คนอื่นล่ะ ใช่ ๆ

452
00:38:54,850 --> 00:38:58,850

453
00:39:07,789 --> 00:39:11,553
ขวา เปลี่ยนแล้ว

454
00:39:11,553 --> 00:39:15,553
ครูผิดพลาดแล้ว ดูสิจำนวน

455
00:39:17,727 --> 00:39:20,456
ได้ไหม โอเคเอาใหม่นะอีกครั้งหนึ่ง

456
00:39:20,456 --> 00:39:23,789
-5

457
00:39:23,789 --> 00:39:25,928

458
00:39:25,928 --> 00:39:29,928
ซ้ายหรือขวา ใช่ คือ

459
00:39:31,938 --> 00:39:35,676
ซ้ายใช่ไหมคะ เรารู้ได้อย่างไร

460
00:39:35,676 --> 00:39:39,676
เราเอาตัวเลขนั้นมาเทียบ ถูกไหมคะ

461
00:39:44,430 --> 00:39:44,485
ตัดสินใจอยู่ตอนนี้ จะยกซ้ายหรือยกขวาใช่ไหม

462
00:39:44,485 --> 00:39:48,485
นี่คือการจตัดสินใจใช่ไหมคะ จะยกมือไหนดี

463
00:39:54,614 --> 00:39:58,614
อย่างที่ครูบอกว่าถ้ามากกว่าเท่ากับ 0 เราจะยกมือขวา เพราะฉะนั้นเมื่อ

464
00:40:03,813 --> 00:40:04,798
ไร ที่ครูบอกตัวเลขคุณไป เราต้องมานั่งคิดตัดสินใจ เอ๊ะ

465
00:40:04,798 --> 00:40:05,310
มันมากกว่า 0 หรือเปล่า ใช่ไหม ถ้ามันมากกว่า 0

466
00:40:05,310 --> 00:40:09,310
เราต้องยกมือซ้ายแต่ถ้าไม่ใช่

467
00:40:13,740 --> 00:40:17,213
มันน้อยกว่า 0 พูดผิด มากกว่า 0

468
00:40:17,213 --> 00:40:21,213
ยกมือขวา น้อยกว่า 0 เราต้องยกมือซ้ายนะคะ อันนี้คือการตัดสินใจนะคะ ตัดสินใจ

469
00:40:23,309 --> 00:40:27,309
จะยกซ้ายหรือยกมือขวาดี เทียบกับอะไร ก็ต้องมีเงื่อนไข

470
00:40:30,927 --> 00:40:31,456
ก็ต้องมีเงื่อนไขใช่ไหม ต้องมีเงื่อนไขของการตัดสินใจ

471
00:40:31,456 --> 00:40:35,456
นะคะ จะยกมือซ้ายเมื่อไร จะยกมือขวาเมื่อไหร่

472
00:40:38,481 --> 00:40:40,229
เวลา

473
00:40:40,229 --> 00:40:44,229
เราเอาไปเขียนโปรแกรม เราจะใช้

474
00:40:47,758 --> 00:40:51,758
จะใช้คำสั่ง if ตัวนี้ล่ะนะคะ แล้วข้างในวงเล็บ ก็คือเงื่อนไข

475
00:40:52,350 --> 00:40:56,350
ที่เรากำหนดขึ้นนะ เป็นเงื่อนไขที่

476
00:41:00,889 --> 00:41:02,764
ืี่เรากำหนดขึ้นนะคะ เสร็จแล้ว

477
00:41:02,764 --> 00:41:05,551
ถ้ามันจริงให้เราทำอะไร ถ้าไม่จริงให้ทำอะไรนะคะ

478
00:41:05,551 --> 00:41:09,551

479
00:41:12,756 --> 00:41:16,375
โอเค ถัดมา

480
00:41:16,375 --> 00:41:16,945

481
00:41:16,945 --> 00:41:20,945
จะเห็นว่า

482
00:41:22,731 --> 00:41:26,731
การตัดสินใจตรงนี้ เราจะทำงานแค่ 1 ครั้งเท่านั้น

483
00:41:29,307 --> 00:41:33,307
นะคะ ตรวจสอบเงื่อนไข

484
00:41:37,653 --> 00:41:40,194
ถูกไหม แล้วก็ยกมือถูกไหมคะ ตามโจทย์นี่ตรวจสอบเงื่อนไข 1 ครั้ง

485
00:41:40,194 --> 00:41:44,194
แล้วมันเป็นจริงหรือเปล่า ถ้าจริงก็

486
00:41:45,913 --> 00:41:49,913
มายกมือในบรรทัดนี้ถูกไหมคะ

487
00:41:52,205 --> 00:41:53,421
หรือตรวจสอบเงื่อนไขตัวนี้

488
00:41:53,421 --> 00:41:57,421
แล้วไม่จริง ก็มายกมือในบรรทัดยกมือ

489
00:42:01,830 --> 00:42:05,830

490
00:42:06,484 --> 00:42:07,243
ซ้าย เพราะฉะนั้น เวลาเรานับการทำงานนะคะ เราก็จะนับเฉพาะบรรทัด

491
00:42:07,243 --> 00:42:11,243
ที่เราทำงานเท่านั้น ทำงาน

492
00:42:11,802 --> 00:42:15,802
เพียง 1 ครั้งเท่านั้นนะคะ ทำงานเพียง

493
00:42:18,678 --> 00:42:22,678
1 ครั้งเท่านั้น เพราะฉะนั้น

494
00:42:24,563 --> 00:42:27,738
เช่น เราเปรียบเทียบที่เงื่อนไขทำงาน 1 ครั้ง

495
00:42:27,738 --> 00:42:31,738
นะคะ ถ้ามันเป็นจริงจะมาทำบรรทัดที่ 3

496
00:42:31,830 --> 00:42:35,830
แล้วก็จบการทำงาน ข้างล่างนี้จะไม่ทำต่อ

497
00:42:39,685 --> 00:42:40,084
นะคะ จะไม่ทำต่อ เพราะเราตัดสินใจแล้วนะคะ

498
00:42:40,084 --> 00:42:44,084
เพราะเราตัดสินใจแล้ว ตัดสินใจให้แสดงข้อความนี้

499
00:42:49,791 --> 00:42:53,545
เสร็จแล้วก็จบ เพราะฉะนั้น

500
00:42:53,545 --> 00:42:57,545
มันก็จะทำงานบรรทัดที่ 1 ทำงาน 1 ครั้ง

501
00:42:58,768 --> 00:43:01,810
ทำงานบรรทัดที่ 3 ทำงานอีก 1 ครั้งนะคะ ก็จบการทำงาน เพราะฉะนั้น ถ้า Big-O ที่ได้

502
00:43:01,810 --> 00:43:05,315
เราก็เอา 1 นะคะ

503
00:43:05,315 --> 00:43:08,443
+1 เป็น 2

504
00:43:08,443 --> 00:43:12,443
เวลาเราเขียนค่า Big-O จะแทนด้วย 1 เพราะมันไม่มีค่า

505
00:43:14,260 --> 00:43:18,260
สัมประสิทธิ์อะไรเลย มันเป็นตัวเลขนะ เราก็แทนมันเป็น 1

506
00:43:18,774 --> 00:43:21,019
นะคะ

507
00:43:21,019 --> 00:43:25,019

508
00:43:34,419 --> 00:43:38,419

509
00:43:39,943 --> 00:43:43,943
คราวนี้

510
00:43:51,954 --> 00:43:55,954

511
00:43:55,955 --> 00:43:59,955

512
00:43:59,956 --> 00:44:03,956

513
00:44:03,965 --> 00:44:07,965

514
00:44:07,975 --> 00:44:11,968

515
00:44:11,968 --> 00:44:15,968

516
00:44:15,970 --> 00:44:19,970

517
00:44:23,976 --> 00:44:27,974

518
00:44:27,974 --> 00:44:31,974

519
00:44:31,979 --> 00:44:35,979

520
00:44:35,982 --> 00:44:39,982

521
00:44:39,987 --> 00:44:43,987

522
00:44:43,994 --> 00:44:47,994

523
00:44:47,996 --> 00:44:51,996

524
00:44:52,000 --> 00:44:56,000

525
00:44:56,004 --> 00:45:00,004

526
00:45:00,004 --> 00:45:04,004

527
00:45:04,011 --> 00:45:08,009

528
00:45:08,009 --> 00:45:12,009

529
00:45:12,016 --> 00:45:16,013

530
00:45:16,013 --> 00:45:20,013

531
00:45:20,018 --> 00:45:24,018

532
00:45:24,019 --> 00:45:28,019

533
00:45:28,023 --> 00:45:32,020

534
00:45:32,020 --> 00:45:36,020

535
00:45:36,033 --> 00:45:40,029

536
00:45:40,029 --> 00:45:44,028

537
00:45:44,028 --> 00:45:48,028

538
00:45:48,046 --> 00:45:52,043

539
00:45:52,043 --> 00:45:56,043

540
00:45:56,044 --> 00:46:00,044

541
00:46:04,054 --> 00:46:08,051

542
00:46:08,051 --> 00:46:12,051

543
00:46:12,062 --> 00:46:16,062

544
00:46:20,062 --> 00:46:24,062

545
00:46:24,065 --> 00:46:28,065

546
00:46:28,067 --> 00:46:30,365
ไม่ได้ใช่ไหม

547
00:46:30,365 --> 00:46:34,365
ไม่เป็นไรค่ะ

548
00:46:44,081 --> 00:46:48,081
ทำอย่างไรจะขึ้นมาอีกทีหนึ่ง

549
00:46:52,079 --> 00:46:56,079

550
00:46:56,079 --> 00:47:00,079

551
00:47:00,084 --> 00:47:01,095
คือ เสียงเข้าเฉย ๆ ใช่ไหม

552
00:47:01,095 --> 00:47:05,095
คราวนี้ดูต่อนะคะ

553
00:47:07,398 --> 00:47:11,398

554
00:47:14,231 --> 00:47:14,535

555
00:47:14,535 --> 00:47:18,535

556
00:47:19,596 --> 00:47:23,596

557
00:47:32,096 --> 00:47:36,096

558
00:47:40,099 --> 00:47:44,099

559
00:47:44,101 --> 00:47:48,101

560
00:47:48,104 --> 00:47:52,104
คราวนี้ เมื่อกี้ คือ เงื่อนไข

561
00:47:55,931 --> 00:47:59,278
ใช่ไหมคะ คือ เงื่อนไข เงื่อนไขคือการตัดสินใจ

562
00:47:59,278 --> 00:47:59,967
ถัดมา เมื่อกี้ครูครูบอกแล้วว่าถ้าเรามีคำสั่งซ้ำ ๆ นะคะ

563
00:47:59,967 --> 00:48:03,967
เราจะไม่เขียนคำสั่งเดิม ๆ หลาย ๆ ครั้ง เรา

564
00:48:05,931 --> 00:48:09,931
ก็จะใช้การวนซ้ำนะคะ

565
00:48:13,015 --> 00:48:14,177
หรือการใช้ loops แทน

566
00:48:14,177 --> 00:48:15,422
การเขียนแบบเดิม ๆ เหมือน ๆ กัน

567
00:48:15,422 --> 00:48:19,422
แล้วการใช้ loop นะคะ เราจะพูดถึง loop for

568
00:48:24,684 --> 00:48:28,674
นะ ที่ง่ายที่สุดนะคะ การใช้ loop

569
00:48:28,674 --> 00:48:32,674
For ก็คือเรามีจำนวนรอบที่แน่นอน

570
00:48:34,751 --> 00:48:38,751
เรานับจำนวนรอบได้ว่าทำงานกี่ครั้งนะคะ จากโจทย์ที่ครูกำหนดให้

571
00:48:42,177 --> 00:48:46,177
เราใช้ for แสดงว่าเราทำงาน

572
00:48:49,786 --> 00:48:53,242
มากกว่า 1 ครั้ง อาจจะเป็น 2 ครั้ง 3 ครั้ง 4 ครั้ง ตาม

573
00:48:53,242 --> 00:48:55,092
ที่เรากำหนด และเราอยากรู้ว่า จำนวน

574
00:48:55,092 --> 00:48:56,349
รอบของการทำงานน่ะ เมื่อเราวัดประสิทธิภาพ

575
00:48:56,349 --> 00:49:00,349
เวลาที่ใช้นะคะ

576
00:49:05,373 --> 00:49:09,373
เราจะวัดอย่างไร มันจะได้ค่าอะไรออกมา ในการทำงานนะ เรากำหนดให้เป็น n ใด ๆ

577
00:49:11,344 --> 00:49:13,682
เป็นตัว  n นะ เป็น n ใด ๆ นั่นหมายความว่า

578
00:49:13,682 --> 00:49:17,682
เมื่อแทน n ด้วยตัวเลขอะไรก็ตามจะมีประสิทธิภาพ

579
00:49:24,148 --> 00:49:28,148
ในเรื่องของความเร็ว มีค่า Big-O เท่ากัน

580
00:49:30,950 --> 00:49:34,950
นะคะ เช่น ครูมีคำสั่งอยู่ทั้งหมด 3 บรรทัด

581
00:49:39,000 --> 00:49:43,000
เห็นหน้าจอ ครูมีอยู่ 3 บรรทัดนะคะ บรรทัดแรกไม่ได้อยู่ใน loop for บรรทัดแรกเป็นการกำหน

582
00:49:48,173 --> 00:49:52,173
ดค่าเริ่มต้นให้กับตัวแปรที่ชื่อว่า total เมื่อเรา run

583
00:49:55,337 --> 00:49:59,337
เมื่อเรา run หรือทำงานผ่านบรรทัดที่ 1 ไป

584
00:50:00,398 --> 00:50:04,015
total จะมีค่าเป็น 0 เป็นตัวเลขนะ

585
00:50:04,015 --> 00:50:08,015
เป็นตัวเลข integer เป็นตัวเลขจำนว

586
00:50:11,176 --> 00:50:15,176
นถัดมาเจอคำสั่งบรรทัดที่ 2 มีการใช้ loop for แล้ว เราก็คาดเดาได้เลย

587
00:50:16,220 --> 00:50:20,220
ว่ามันน่าจะต้องทำงานมากกว่า 1 ครั้งนะคะ แล้วมันทำงานกี่ครั้งล่ะ

588
00:50:25,121 --> 00:50:28,015
เขากำหนดให้ for i

589
00:50:28,015 --> 00:50:28,228
in range ()

590
00:50:28,228 --> 00:50:32,193
นะคะ หมายความว่าตัว i

591
00:50:32,193 --> 00:50:36,193
ตัวนี้ ตัวแปร i

592
00:50:44,196 --> 00:50:44,759
มันสามารถเป็นค่าอะไรได้บ้าง เมื่อเราแทนค่าตัวเลขที่

593
00:50:44,759 --> 00:50:48,759
แทน n ตัวนี้

594
00:50:49,635 --> 00:50:51,893

595
00:50:51,893 --> 00:50:55,274
ถ้ามันอยู่ภายใต้จำนวนรอบที่เรากำหนด

596
00:50:55,274 --> 00:50:59,274
เมื่อเรากำหนดค่า n แล้ว

597
00:51:02,671 --> 00:51:05,736
มันจะมาทำงานคำสั่งบรรทัดที่ 3 นะคะ

598
00:51:05,736 --> 00:51:09,736
จะวนรอบตามจำนววนที่กำหนด

599
00:51:13,370 --> 00:51:16,627
ที่กำหนดจนครบแล้วก็หลุดออกจากวนซ้ำนะคะ

600
00:51:16,627 --> 00:51:20,627
มันก็จะหลุดออกจากการวนซ้ำนะคะ

601
00:51:23,955 --> 00:51:27,955
คราวนี้ สมมติครูกำหนดให้ n= 3

602
00:51:31,116 --> 00:51:34,405
ครูกำหนดให้ n = 3  n = 3 นะคะ 1 2 3 n = 3

603
00:51:34,405 --> 00:51:37,449
แล้ว i

604
00:51:37,449 --> 00:51:41,449
มีค่าเป็นอะไรได้บ้าง

605
00:51:41,993 --> 00:51:45,993
ตัวนี้ครูใช้ Python ถูกไหมคะ คำสั่งตัวนี้

606
00:51:47,768 --> 00:51:51,768
เป็นภาษา Pythin for i in

607
00:51:54,524 --> 00:51:56,574
range 3 ครูแทนตัวนี้ด้วย 3 แล้ว

608
00:51:56,574 --> 00:52:00,574
ครูเปลี่ยนละ ตอนนี้ n ครูไม่

609
00:52:04,250 --> 00:52:06,481
ใช้ 3 แทน ครูถามว่าค่า i ควรจะเป็นตัวเลขอะไรได้บ้าง

610
00:52:06,481 --> 00:52:10,481
ใน Python นะคะ ใน Index

611
00:52:14,826 --> 00:52:18,760
หรือตัวเลขแรกนี่ของ range

612
00:52:18,760 --> 00:52:22,760
ตรง range ตรงนี้ จะเริ่มต้นที่ 0 เสมอนะคะ range 3 จะเริ่มต้นที่ 0

613
00:52:23,383 --> 00:52:27,383

614
00:52:31,490 --> 00:52:31,895
1 แล้วก็ 2 คือมี 3 ตัวถูกไหมคะ 0, 1, 2 หรือจำแบบเร็ว ๆ

615
00:52:31,895 --> 00:52:35,895
เริ่มต้นที่ 0

616
00:52:36,842 --> 00:52:40,188
ใช่ไหมคะ ตัวเลขตัวนี้มัน 3

617
00:52:40,188 --> 00:52:44,188
คือลดลงมา 1 จำเร็ว ๆ คือลดลงมา 1

618
00:52:48,849 --> 00:52:52,020
เพราะฉะนั้น range 3 คือ 0, 1, 2

619
00:52:52,020 --> 00:52:53,170
คราวนี้ครูถาม เพิ่มใหม่

620
00:52:53,170 --> 00:52:57,170

621
00:53:02,593 --> 00:53:06,593
range 2 ควรมีค่าเป็นอะไรได้บ้าง

622
00:53:07,776 --> 00:53:11,776
ตรงนี้ควรมีค่าเป็นอะไรได้บ้าง ดูตัวนี้เป็นตัวอย่า

623
00:53:16,316 --> 00:53:17,208
ง ครูบอกว่าตัวแรกต้องขึ้นต้นว่าอะไร 0

624
00:53:17,208 --> 00:53:19,623
, เลขอะไรคะ

625
00:53:19,623 --> 00:53:19,748
1 ไปต่อไหม ปิดได้หรือยัง

626
00:53:19,748 --> 00:53:23,748
ต้องมี 2 ไหม ดู เทียบกับตัวนี้

627
00:53:26,611 --> 00:53:30,375
มีแค่ 0 กับ 1 แล้วก็

628
00:53:30,375 --> 00:53:33,453
ปิด

629
00:53:33,453 --> 00:53:37,453
ทุกคนมีกระดาษที่ครู

630
00:53:45,050 --> 00:53:45,428
ให้แล้วใช่ไหมพลิกไปหน้าหลัง

631
00:53:45,428 --> 00:53:49,428
พลิกหน้าหลัง หน้าหลังมันจะเป็นหน้ากระดาษเปล่า ๆ พลิกกระดาษ

632
00:53:56,320 --> 00:54:00,320
ที่ครูแจกให้ ทุกคนพลิก ๆ เป็นกระดาษที่ครูแจกให้

633
00:54:00,701 --> 00:54:04,701

634
00:54:12,326 --> 00:54:13,614

635
00:54:13,614 --> 00:54:17,614

636
00:54:20,326 --> 00:54:24,326

637
00:54:24,332 --> 00:54:28,332

638
00:54:28,338 --> 00:54:32,338

639
00:54:36,338 --> 00:54:40,338

640
00:54:40,343 --> 00:54:44,343

641
00:54:44,343 --> 00:54:46,969

642
00:54:46,969 --> 00:54:50,969

643
00:54:52,347 --> 00:54:55,729
คราวนี้ครูมีตัวอย่าง

644
00:54:55,729 --> 00:54:59,729
ให้ 2 อันนะที่เราทำเมื่อกี้ใช่ไหมคะ range 3 กับ range 2

645
00:55:00,701 --> 00:55:03,119
ทำที่เหลืออีก 3 ข้อให้ครูหน่อยสิ ว่า

646
00:55:03,119 --> 00:55:07,119
range 5 มันต้องประกอบไปด้วยตัวเลขที่อยู่

647
00:55:09,567 --> 00:55:13,567
ใน List มีค่าอะไรบ้าง

648
00:55:13,600 --> 00:55:14,338
range 1 range 10 มันควรจะมี

649
00:55:14,338 --> 00:55:18,338
ค่าตัวเลขอะไรเอ่ย เป็น list ใช่ไหมคะ

650
00:55:18,491 --> 00:55:19,999

651
00:55:19,999 --> 00:55:23,999
มันควรจะเป็นตัวเลขอะไรได้บ้าง

652
00:55:30,712 --> 00:55:32,488
ต้องอยู่ใน List นะ มันต้องเป็น List นะ

653
00:55:32,488 --> 00:55:36,488

654
00:55:40,373 --> 00:55:44,373

655
00:55:44,375 --> 00:55:48,375

656
00:55:48,379 --> 00:55:52,322
ถ้าเรารู้จำนวนเลขนะคะ ว่าที่อยู่ใน list

657
00:55:52,322 --> 00:55:56,322
ตัวนี้มันมีกี่ตัว เราก็จะรู้จำนวนรอบของการทำงาน

658
00:56:03,138 --> 00:56:07,138

659
00:56:12,389 --> 00:56:16,389

660
00:56:16,392 --> 00:56:20,391

661
00:56:20,391 --> 00:56:24,391

662
00:56:28,399 --> 00:56:32,399

663
00:56:32,399 --> 00:56:36,399

664
00:56:36,400 --> 00:56:40,400

665
00:56:40,408 --> 00:56:44,408

666
00:56:44,413 --> 00:56:48,413

667
00:56:48,424 --> 00:56:52,424

668
00:56:56,426 --> 00:57:00,426

669
00:57:00,427 --> 00:57:04,427

670
00:57:04,429 --> 00:57:08,429

671
00:57:08,437 --> 00:57:12,434

672
00:57:12,434 --> 00:57:16,434

673
00:57:16,440 --> 00:57:20,440

674
00:57:20,441 --> 00:57:24,441

675
00:57:24,446 --> 00:57:28,446

676
00:57:28,447 --> 00:57:32,447

677
00:57:32,454 --> 00:57:36,454

678
00:57:36,457 --> 00:57:40,455

679
00:57:40,455 --> 00:57:44,455

680
00:57:48,457 --> 00:57:52,457

681
00:57:52,462 --> 00:57:56,462

682
00:57:56,465 --> 00:58:00,465

683
00:58:04,474 --> 00:58:08,474

684
00:58:08,484 --> 00:58:12,484

685
00:58:12,495 --> 00:58:16,495

686
00:58:16,496 --> 00:58:20,496

687
00:58:20,497 --> 00:58:24,497

688
00:58:24,500 --> 00:58:28,500

689
00:58:28,502 --> 00:58:32,502

690
00:58:36,504 --> 00:58:40,504

691
00:58:40,522 --> 00:58:44,511

692
00:58:44,511 --> 00:58:48,511

693
00:58:52,522 --> 00:58:56,514

694
00:58:56,514 --> 00:59:00,514

695
00:59:00,516 --> 00:59:04,516

696
00:59:08,520 --> 00:59:12,520

697
00:59:16,530 --> 00:59:20,530

698
00:59:24,535 --> 00:59:28,535

699
00:59:28,537 --> 00:59:32,537

700
00:59:32,540 --> 00:59:36,540

701
00:59:36,541 --> 00:59:40,541

702
00:59:40,557 --> 00:59:44,557

703
00:59:44,559 --> 00:59:48,559

704
00:59:48,559 --> 00:59:52,559

705
00:59:52,564 --> 00:59:56,564

706
00:59:56,568 --> 01:00:00,568

707
01:00:00,570 --> 01:00:04,570

708
01:00:04,572 --> 01:00:08,572
คราวนี้ เมื่อกี้ครูเดิน

709
01:00:10,775 --> 01:00:11,076
ดูแล้วทุกคนได้นะ ตัวนี้รู้ว่า

710
01:00:11,076 --> 01:00:15,076
range 5

711
01:00:19,692 --> 01:00:20,067
มีค่าเป็นอะไรได้บ้างนะคะ ก็คือ 0, 1, 2, 3, 4

712
01:00:20,067 --> 01:00:24,067
นะคะ range(1) ก็คือมี 2 ตัว 0 กับ 1

713
01:00:26,758 --> 01:00:30,758
range (10 ก็คือ 0, 1, 2, 3,

714
01:00:31,443 --> 01:00:35,443
4, 5, 6, 7

715
01:00:35,870 --> 01:00:36,338
ีมี 10 ตัว เริ่มจาก 0 นะคะ นับไปให้ได้ 10 ตัว

716
01:00:36,338 --> 01:00:37,379
ให้ได้ 0 ตัว ก็ 0 ถึง 9 คราวนี้

717
01:00:37,379 --> 01:00:41,379
range ตัวนี้นะ ครูไม่มีจุดเริ่มต้น

718
01:00:47,313 --> 01:00:51,313
ครูไม่ได้บอกว่ามันเริ่มต้นด้วยตัวอะไร

719
01:00:52,598 --> 01:00:56,598
เราจะเริ่มต้นด้วย Index เป็น 0 เสมอ แต่ถ้าครูอยากจะระบุ

720
01:00:56,631 --> 01:00:57,174
ตัวเลขเริ่มต้นว่าควรเริ่มต้นด้วย

721
01:00:57,174 --> 01:01:01,174
ตัวเลขอะไรนะคะ ควรเริ่มต้นที่

722
01:01:08,614 --> 01:01:12,614
ตัวเลขอะไรที่ไม่ใช่ 0 เราจะไม่เริ่มต้นจากตัวแรกที่เป็น 0 นะคะ เราอยากจะเริ่มต้นจากตัวเลขตัวอื่นบ้าง

723
01:01:15,491 --> 01:01:17,435
เราจะกำหนด range ตรงนี้อย่างไร เช่น

724
01:01:17,435 --> 01:01:21,435
range คือ ช่วงถูกไหมคะ

725
01:01:23,485 --> 01:01:27,485
range (1, 4)

726
01:01:28,859 --> 01:01:32,859
ตัวแรกที่เราจะเขียน ก็คือ 1 นะคะ เป็น 1 ตามที่เรากำหนดตัวแรก

727
01:01:36,876 --> 01:01:37,410
เสร็จแล้วนี่ข้างหลังมาถึง 4

728
01:01:37,410 --> 01:01:40,000
ใช่ไหม ลดลงไป 1 นะคะ

729
01:01:40,000 --> 01:01:44,000
เป็น 1, 2, 3

730
01:01:45,069 --> 01:01:49,069
ตัวเลขข้างหลังคือ 3 มันน้อยกว่า

731
01:01:54,229 --> 01:01:58,229
ตัวเลข 4 1 ตัวนะคะ ให้จำแบบนี้ ถัดมา range (1,3) เรา

732
01:02:00,123 --> 01:02:04,123
เริ่มต้นที่เลข 1 นะคะ

733
01:02:06,017 --> 01:02:09,130
,2 เห็นไหมมันน้อยกว่า

734
01:02:09,130 --> 01:02:13,130
น้อยกว่าเลข 3 1 ตัว ถัดมา ตัวนี้มาดูด้วยกัน 3

735
01:02:14,050 --> 01:02:18,050
กับ 7 เราควรใช้อะไร เริ่มต้นตัวแรกเป็นอะไรคะ

736
01:02:19,730 --> 01:02:22,741
3 แล้วเลขอะไรอีก

737
01:02:22,741 --> 01:02:26,741
เลขอะไรอีก 4, 5,

738
01:02:29,398 --> 01:02:33,398
6 มี 7 ไหม ไม่มี ใช่ไหมคะ 3, 4,

739
01:02:34,211 --> 01:02:38,211
5, 6

740
01:02:44,664 --> 01:02:46,538
ตอบให้ครูหน่อยเร็ว range 1, 2

741
01:02:46,538 --> 01:02:50,538
ต้องมีตัวเลขอะไรบ้าง range (2,6)

742
01:02:52,020 --> 01:02:55,542
อะไรบ้าง คะ ต้องอยู่ใน list ใช่ไหม อยู่

743
01:02:55,542 --> 01:02:59,542
ใน list นะ ทุกอันต้องอยู่ใน

744
01:03:00,220 --> 01:03:04,220
มีตัวเลขอะไรบ้าง

745
01:03:12,681 --> 01:03:16,681

746
01:03:16,683 --> 01:03:20,232

747
01:03:20,232 --> 01:03:24,232

748
01:03:24,687 --> 01:03:28,684

749
01:03:28,684 --> 01:03:32,684

750
01:03:32,687 --> 01:03:36,687

751
01:03:40,697 --> 01:03:44,697

752
01:03:44,697 --> 01:03:48,697

753
01:03:48,703 --> 01:03:52,703

754
01:03:56,709 --> 01:04:00,709

755
01:04:00,709 --> 01:04:04,709

756
01:04:04,718 --> 01:04:08,718

757
01:04:08,720 --> 01:04:12,720

758
01:04:12,723 --> 01:04:16,721

759
01:04:16,721 --> 01:04:20,721

760
01:04:20,727 --> 01:04:24,726

761
01:04:24,726 --> 01:04:28,726

762
01:04:28,729 --> 01:04:32,729

763
01:04:32,730 --> 01:04:34,974
คราวนี้ดูเมื่อกี้ครูเดินดูแล้ว

764
01:04:34,974 --> 01:04:38,974
ตอบถูกนะ range(1,2) ได้เลขอะไรคะ

765
01:04:44,468 --> 01:04:48,468
เลข 1 ใช่ไหม ทุกคนได้เลข 1 นะ 2,6

766
01:04:48,784 --> 01:04:52,325
ก็คือ 2, 3, 4 แล้วก็ 5 ใช่ไหมคะ

767
01:04:52,325 --> 01:04:54,018
ถามต่อ

768
01:04:54,018 --> 01:04:58,018

769
01:05:08,751 --> 01:05:12,751
บรรทัดนี้สมมติ for i in range (3,7)

770
01:05:15,238 --> 01:05:16,413
ทำงานกี่รอบ ลองดูสิคะ ข้อนี้ทำงานกี่รอบ

771
01:05:16,413 --> 01:05:20,413
มันได้ 3 ได้ตัวเลข 3, 4,

772
01:05:24,757 --> 01:05:27,494
5, 6 ทำงานทั้งหมดกี่รอบ มีกี่ตัว 4 ตัว ถูกหรือเปล่า มีอยู่

773
01:05:27,494 --> 01:05:28,815
4 ตัว เพราะฉะนั้น ทำงานกี่รอบ

774
01:05:28,815 --> 01:05:32,815
4 รอบ เขียนให้ครูหน่อย

775
01:05:36,113 --> 01:05:39,452
ทุกอันเลยนี้ทำงานกี่รอบ เขียนเพิ่มให้ครูหน่อยที่

776
01:05:39,452 --> 01:05:43,452
ทำไปแล้วน่ะ เขียนเพิ่มว่าทำงานกี่รอบ

777
01:05:44,692 --> 01:05:46,541
= ... รอบ

778
01:05:46,541 --> 01:05:49,880
นับจากไหน

779
01:05:49,880 --> 01:05:53,172
นับว่ามันมีกี่ตัว List เรานี่

780
01:05:53,172 --> 01:05:56,314
มีกี่ตัว ก็คือทำงานเท่านั้นรอบ

781
01:05:56,314 --> 01:06:00,314

782
01:06:08,781 --> 01:06:12,781

783
01:06:12,782 --> 01:06:16,782

784
01:06:16,789 --> 01:06:20,789

785
01:06:20,817 --> 01:06:24,817

786
01:06:24,818 --> 01:06:28,817

787
01:06:28,817 --> 01:06:32,817

788
01:06:32,824 --> 01:06:36,824

789
01:06:36,827 --> 01:06:40,827

790
01:06:40,833 --> 01:06:44,833

791
01:06:44,836 --> 01:06:48,836

792
01:06:52,831 --> 01:06:56,831

793
01:06:56,842 --> 01:07:00,835

794
01:07:00,835 --> 01:07:04,835

795
01:07:04,838 --> 01:07:08,838

796
01:07:08,850 --> 01:07:12,845

797
01:07:12,845 --> 01:07:16,845

798
01:07:16,847 --> 01:07:20,847

799
01:07:20,847 --> 01:07:24,847

800
01:07:24,851 --> 01:07:28,851

801
01:07:28,854 --> 01:07:32,854

802
01:07:32,856 --> 01:07:36,856

803
01:07:36,856 --> 01:07:40,856

804
01:07:40,863 --> 01:07:44,861

805
01:07:44,861 --> 01:07:48,861

806
01:07:48,862 --> 01:07:52,862

807
01:07:56,863 --> 01:08:00,863

808
01:08:00,866 --> 01:08:04,866
จากโค้ดโปรแกรมตัวนี้นะคะ เดี๋ยวเราจะเอาไปรวมใน loop for นะคะ

809
01:08:06,031 --> 01:08:09,563
เราแยกส่วนมาเฉย ๆ นะ เพื่อให้รู้ว่า

810
01:08:09,563 --> 01:08:13,563
ถ้าขอบเขตของค่าที่เรากำหนด

811
01:08:14,682 --> 01:08:18,682
มันสามารถเป็นตัวเลขอะไรได้บ้างนะคะ ก็

812
01:08:19,986 --> 01:08:23,986
อย่างที่เราเขียน และมันทำงานกี่รอบ

813
01:08:25,144 --> 01:08:26,838
ก็คือนับว่ามันมีกี่ตัวนะคะ คือ จำนวน

814
01:08:26,838 --> 01:08:30,838
รอบ

815
01:08:32,067 --> 01:08:36,067

816
01:08:44,897 --> 01:08:48,897

817
01:08:48,898 --> 01:08:52,898

818
01:08:52,900 --> 01:08:56,900

819
01:09:00,912 --> 01:09:04,909

820
01:09:04,909 --> 01:09:08,909

821
01:09:08,910 --> 01:09:10,995
ย้อนกลับมาดู

822
01:09:10,995 --> 01:09:13,503
ตัวโปรแกรมตัวนี้นะคะ

823
01:09:13,503 --> 01:09:17,503

824
01:09:18,217 --> 01:09:21,778
ครูมีโค้ดอยู่ 3 บรรทัดนะอย่างที่บอก

825
01:09:21,778 --> 01:09:25,778
บรรทัดแรก กำหนดค่าเริ่มต้น

826
01:09:28,403 --> 01:09:28,889
นะคะ กำหนดค่าเริ่มต้นให้กับ total

827
01:09:28,889 --> 01:09:32,889
เหมือนแม่ให้เงินเรา 100 บาทสำหรับวันนี้

828
01:09:40,932 --> 01:09:41,775
นะคะ เราก็จะวันนี้ทั้งวันนี่มีเงินอยู่ในกระเป๋านะคะ

829
01:09:41,775 --> 01:09:43,512
เริ่มต้นอยู่ที่ 100 บาท แล้วทั้งวัน

830
01:09:43,512 --> 01:09:45,843
เราจะใช้กี่บาทน่ะนะคะ

831
01:09:45,843 --> 01:09:49,843
ก็แล้วแต่ แต่ละคน แต่เริ่มต้นวันนี้เราเริ่มต้น

832
01:09:56,576 --> 01:09:57,489
ตอนนี้ครูกำหนดค่าเริ่มต้นให้กับ Total นี่มีค่าเป็น 0 นะคะ เริ่มต้นมีค่าเป็น 0

833
01:09:57,489 --> 01:10:01,489
ทำงานไปเรื่อย ๆ Total จะเปลี่ยนเป็นอะไรก้แล้วแต่

834
01:10:07,663 --> 01:10:11,663
เราสั่งให้มันมีค่าเป็นอะไร บรรทัดที่ 2 ที่เราเจอนี่ เราเจอ loop for

835
01:10:12,454 --> 01:10:16,454
แล้ว มันทำงานวนซ้ำ มันทำงานหลายรอบ

836
01:10:16,611 --> 01:10:17,785
เหมือนอย่างที่ครูถามทำงานกี่รอบนะคะ

837
01:10:17,785 --> 01:10:21,785
เราต้องหาคำตอบให้ได้ว่าแล้วทำงานกี่รอบ

838
01:10:26,444 --> 01:10:30,444
for i in range (n

839
01:10:31,152 --> 01:10:34,701
เห็นไหม เจอ i in range ที่เราเพิ่งเจอกันไปเมื่อกี้เอง ไอ้ตัว range นะคะ

840
01:10:34,701 --> 01:10:38,701
วงเล็บเปิดแล้วก็ตัว n

841
01:10:40,532 --> 01:10:44,532
n ตัวนี้อาจจะเป็นตัวเลขอะไรก็ได้ใช่ไหมคะ เหมือนที่เราทำ

842
01:10:45,600 --> 01:10:49,600
เมื่อกี้ เห็นไหม ครูยังเปลี่ยนไปตั้งเยอะเลย (3, 2, 5, 1)

843
01:10:52,618 --> 01:10:56,618
เพราะฉะนั้น แล้วนี่ n ตัวนี้ เป็น n อะไรก็ได้ที่ครูกำหนดให้

844
01:11:00,127 --> 01:11:04,127
นะคะ ถ้ามันอยู่ในขอบเขตของข้อมูล ลิสต์ตัวเลขที่เรากำหนด

845
01:11:05,108 --> 01:11:09,108
มันก็จะทำงานบรรทัดที่ 3 ต่อ คือ

846
01:11:09,689 --> 01:11:13,689
การบวกค่า total ไปเรื่อย ๆ

847
01:11:15,944 --> 01:11:18,213
เมื่อกี้เราเพิ่งทำไป ครูแทน n ตัวนี้ด้วย

848
01:11:18,213 --> 01:11:22,213
3 เราต้องทำงาน

849
01:11:23,948 --> 01:11:27,948
กี่รอบ range  3 ทำงานกี่รอบคะ

850
01:11:42,850 --> 01:11:43,355
ดูในกระดาษสิ

851
01:11:31,886 --> 01:11:35,886
ทำงานกี่รอบคะ ดูในกระดาษสิ ในกระดาษมีไหม range 3 เมื่อกี้ เราต้องทำงานกี่รอบคะ

852
01:11:39,523 --> 01:11:43,523
3 ถูกไหม หาเจอไหม เจอ ที่เราเขียนไปเมื่อกี้

853
01:11:48,989 --> 01:11:50,416
ถ้าเรายังจำได้ นี่ไง range 3 เราทำงานกี่รอบคะ 3 รอบ เพราะฉะนั้น

854
01:11:50,416 --> 01:11:52,543
ตอบครูได้แล้วว่าคำสั่งนี้

855
01:11:52,543 --> 01:11:56,543
จะต้องทำงานกี่รอบ 3 รอบ

856
01:11:59,802 --> 01:12:02,995
ใช่ไหม ดูจากไหน นี่ไงคะ ดูจาก range ที่เรา

857
01:12:02,995 --> 01:12:06,995
กำหนดให้นี่ range เรามีค่าเป็นอะไรได้บ้าง

858
01:12:07,626 --> 01:12:11,307
0, 1, 2 เพราะฉะนั้น ทำงานกี่รอบคะ

859
01:12:11,307 --> 01:12:15,307
3 รอบนะ

860
01:12:16,633 --> 01:12:20,633
3 รอบ เพราะฉะนั้น i มีค่าเป็นอะไรได้บ้าง

861
01:12:22,002 --> 01:12:25,106
i ตัวนี้มีค่าเป็นอะไรได้บ้างคะ

862
01:12:25,106 --> 01:12:27,635
มีค่า 0,

863
01:12:27,635 --> 01:12:31,635
1, 2 ใช่ไหมคะ

864
01:12:32,370 --> 01:12:36,370
i ตัวนี้ สามารถมีค่าเป็น 0,

865
01:12:39,997 --> 01:12:40,731
1, 2 นั่นหมายความว่า

866
01:12:40,731 --> 01:12:44,731
ทำงานรอบที่ 1 เราบอกว่า

867
01:12:49,333 --> 01:12:51,602
เราทำงาน 3 รอบใช่ไหมคะ ทำงานรอบที่ 1 i มีค่าเป็นอะไร

868
01:12:51,602 --> 01:12:55,255
เป็น 0 รู้ได้อย่างไร นี่ไง เราเป็น

869
01:12:55,255 --> 01:12:57,096
คน list ค่าไว้อยู่แล้ว ทำงาน

870
01:12:57,096 --> 01:13:01,096
รอบที่ 2 i มีค่าเป็นอะไรคะ

871
01:13:06,529 --> 01:13:10,529
เป็น 1 ทำงานรอบที่ 3 i มีค่าเป็น 2 ใช่ไหมคะ ตามนี้

872
01:13:11,601 --> 01:13:15,601
นะ ตามที่เราขยายบอกว่า range 3

873
01:13:16,770 --> 01:13:20,770
มีค่าเป็นอะไรได้บ้าง 0, 1, 2

874
01:13:25,043 --> 01:13:29,043
เห็นไหมคะ i มีค่าเป็นอะไรได้บ้าง 0, 1, 2

875
01:13:37,044 --> 01:13:37,567
แสดงว่า i นี่มีค่า

876
01:13:37,567 --> 01:13:41,567
เป็น 0, 1, 2 นะ แสดงว่ามันต้องทำงานทั้ง 2 บรรทัดนี้ใช่ไหมคะ มันต้อง

877
01:13:44,321 --> 01:13:48,321
ทำงานทั้งบรรทัดที่ 2 และบรรทัดที่ 3

878
01:13:49,264 --> 01:13:53,084
ทำงานอย่างละ 3 ครั้ง หรือ 3 รอบ

879
01:13:53,084 --> 01:13:54,097
บรรทัดที่ 2 ก็คือ

880
01:13:54,097 --> 01:13:58,097
ตรวจสอบเงื่อนไข i นี่ ต้องทำ 3 ครั้ง

881
01:14:07,269 --> 01:14:12,758
อันนี้คือบรรทัด

882
01:14:01,418 --> 01:14:03,343
ที่ 3 เห็นไหมคะ อันนี้คือบรรทัดที่ 2

883
01:14:03,343 --> 01:14:07,343

884
01:14:08,081 --> 01:14:10,083
อันนี้คือบรรทัด 3

885
01:14:10,083 --> 01:14:14,083
มันก็ทำงาน 3 ครั้งเหมือนกัน

886
01:14:19,628 --> 01:14:19,772
ใช่ไหมคะ

887
01:14:19,772 --> 01:14:23,772
ถ้าครูเปลี่ยน ดูนะคะ

888
01:14:26,738 --> 01:14:29,623
ถ้าครูเปลี่ยนจาก range ตัวนี้

889
01:14:29,623 --> 01:14:31,749

890
01:14:31,749 --> 01:14:35,749

891
01:14:36,493 --> 01:14:40,493
ถ้าครูเปลี่ยน range ตัวนี้นี่

892
01:14:43,331 --> 01:14:47,331
ค่า n n เป็น 2

893
01:14:47,727 --> 01:14:49,790
ครูต้องทำงานกี่รอบ

894
01:14:49,790 --> 01:14:53,790
ครุเปลี่ยนให้ n ตัวนี้เป็น 2

895
01:14:58,248 --> 01:15:02,203
ครูต้องทำงานกี่รอบคะ n เป็น 2 ทำงานกี่รอบ เราทำงานกี่รอบนี่ range 2

896
01:15:02,203 --> 01:15:03,931
กี่รอบคะ

897
01:15:03,931 --> 01:15:07,931
กี่รอบเอ่ย 2 รอบ

898
01:15:09,932 --> 01:15:13,932
ถูกไหมคะ นี่ไง range 2 i

899
01:15:14,531 --> 01:15:17,773
มีค่าเป็น 0 กับ 1 เพราะฉะนั้น เราทำงานกี่รอบคะ

900
01:15:17,773 --> 01:15:21,773
2 รอบ n เป็น 2

901
01:15:22,528 --> 01:15:26,528
เราทำงาน 2 รอบ n เป็น 3 เราทำงานกี่รอบคะ

902
01:15:31,982 --> 01:15:35,982
3 รอบ ถ้า n เป็น 5 เราทำงานกี่รอบ n เป็น 5 เราทำงานกี่รอบ

903
01:15:36,967 --> 01:15:40,967
คะ 5 รอบ ใช่ไหม

904
01:15:52,859 --> 01:15:55,273
n เป็น 1 เราทำงานกี่รอบคะ

905
01:15:42,247 --> 01:15:46,247

906
01:15:47,019 --> 01:15:47,868
1 รอบ ก็คือ i เป็น 0 ถูกไหม หรือทำงานแค่ 1 รอบ

907
01:15:47,868 --> 01:15:51,403
i เป็น พูดผิด n เป็น 10

908
01:15:51,403 --> 01:15:54,185
เราต้องทำงานกี่รอบ

909
01:15:54,185 --> 01:15:58,185
กี่รอบคะ 10 รอบ ตามที่เราเขียนเลยนี่

910
01:16:02,420 --> 01:16:05,611
n สมมติแทนตัวนี้ n = 10

911
01:16:05,611 --> 01:16:06,204
เพราะฉะนั้น ต้องทำงานทั้งหมด 10 รอบ เรา

912
01:16:06,204 --> 01:16:10,204
สามารถบอกได้ไหมคะ ว่าเมื่อ n

913
01:16:11,496 --> 01:16:15,496
ใด ๆ จะทำงาน n ครั้ง

914
01:16:18,254 --> 01:16:20,182
ได้ใช่ไหม เพราะเมื่อกี้ที่เราทำกันนี่ n เป็น 3

915
01:16:20,182 --> 01:16:24,182
ก็ 3 รอบ

916
01:16:24,751 --> 01:16:28,751
ก็ทำงาน 10 รอบ

917
01:16:36,091 --> 01:16:40,091
เพราะฉะนั้น ถ้า n เป็น 999 ต้องทำงานกี่รอบ

918
01:16:42,009 --> 01:16:46,009
ถ้า n เป็น 999 ต้องทำงาน

919
01:16:47,171 --> 01:16:48,471
กี่รอบคะ ทำงานกี่รอบเอ่ย

920
01:16:48,471 --> 01:16:50,335
999 รอบ ใช่ไหม

921
01:16:50,335 --> 01:16:54,335

922
01:16:59,785 --> 01:17:03,614
n เป็น 1 ก็ทำงาน 1 รอบนะคะ

923
01:17:03,614 --> 01:17:03,721
เพราะฉะนั้น เราจึงบอกได้ว่า

924
01:17:03,721 --> 01:17:07,721
การทำงาน n ครั้งนี่ หมายความว่า ไม่ว่าจะแทนด้วย

925
01:17:12,468 --> 01:17:13,351
n เป็นตัวเลขอะไรก็ตาม

926
01:17:13,351 --> 01:17:17,351
ก็จะทำงาน n ครั้ง เราจึง

927
01:17:19,732 --> 01:17:23,732
เราจึงสามารถสรุปได้นะคะ ว่าในบรรทัดที่ 2 นี่ เราจะ

928
01:17:26,010 --> 01:17:28,750
ทำงาน n ครั้ง

929
01:17:28,750 --> 01:17:32,750
บรรทัดที่ 3

930
01:17:34,777 --> 01:17:38,777
ก็ทำงาน n ครั้งนะคะ แต่ในบรรทัดที่ 1 นี่ มันอยู่นอก

931
01:17:45,673 --> 01:17:49,673
loop ถูกไหมคะ มันไม่ได้อยู่ข้างใน loop

932
01:17:49,891 --> 01:17:53,891
total อยู่ข้างใน loop มันกด Tab เข้ามา

933
01:17:55,844 --> 01:17:57,648
แต่การกำหนดค่าตัวแปรข้างบน Total = 0 นี่

934
01:17:57,648 --> 01:18:01,648
มันอยู่ข้างนอก loop แสดงว่ามันทำงานกี่ครั้ง 1

935
01:18:02,056 --> 01:18:02,202
ครั้ง เราจึง

936
01:18:02,202 --> 01:18:06,202
สามารถเขียนนะคะ ข้างหลังได้ว่า

937
01:18:06,710 --> 01:18:10,710
บรรทัดที่ 1 ทำงาน 1 ครั้ง บรรทัดที่ 2 ทำงาน

938
01:18:11,658 --> 01:18:14,686
n ครั้ง บรรทัดที่ 3 ก็ทำงาน n

939
01:18:14,686 --> 01:18:18,686
ครั้งนะคะ เราจะหาค่า

940
01:18:22,202 --> 01:18:24,192
Big-O ทำอย่างไร เอาสิ่ง

941
01:18:24,192 --> 01:18:24,808
ที่เราเขียนด้านหลังของคำสั่งเอามาบวกกัน

942
01:18:24,808 --> 01:18:28,808
ตัวแรกเป็น 1 ตัวที่ 2 เป็นอะไรคะ

943
01:18:30,823 --> 01:18:34,823
เป็น n ตัวที่ 3

944
01:18:39,992 --> 01:18:40,718
เป็น n บวกกันได้เท่าไร n + n

945
01:18:40,718 --> 01:18:44,718
ข้างหน้า n ตัวนี้ ดูนะ ข้างหน้า n

946
01:18:50,951 --> 01:18:53,595
ตัวนี้มันคือเลข 1 นะ ข้างหน้า n คือเลข 1 เพราะฉะนั้น

947
01:18:53,595 --> 01:18:57,595

948
01:19:01,286 --> 01:19:04,170
บวกกันแล้วได้กี่ n 1n +1n ได้เป็น 2n อันนี้มัน 1 เฉย ๆ ไหม ใช่ไหม

949
01:19:04,170 --> 01:19:04,751
ไม่ได้มีตัวอื่นเลยนะคะ คือ 1

950
01:19:04,751 --> 01:19:08,751
มันไม่มีตัวไหนบวกเลย ก็บวก 1 นะ

951
01:19:12,745 --> 01:19:16,228
อันนี้มันบวกด้วยกันได้

952
01:19:16,228 --> 01:19:19,600
มันเลยกลายเป็น 2 n อันนี้บวกกันไม่ได้นะ

953
01:19:19,600 --> 01:19:23,129
เพราะมันไม่มี n อะไรเลย มันรวมไม่ได้

954
01:19:23,129 --> 01:19:25,518
เราจึงสรุปได้ว่าค่า Big-O

955
01:19:25,518 --> 01:19:28,945
เราสนใจเฉพาะเทอมของ n

956
01:19:28,945 --> 01:19:32,945
โดยตัดสัมประสิทธิ์ออก เพราะฉะนั้น ก็เหลือแค่ n

957
01:19:35,303 --> 01:19:36,359
นะคะ เพราะฉะนั้น Big-O  ก

958
01:19:36,359 --> 01:19:40,359
โปรแกรมนี้

959
01:19:41,040 --> 01:19:45,040
จะ Run ในเวลา O()

960
01:19:49,311 --> 01:19:51,009

961
01:19:51,009 --> 01:19:55,009

962
01:19:57,857 --> 01:20:01,857
เดี๋ยวครูให้

963
01:20:03,214 --> 01:20:04,638
เบรกก่อนนะ เบรก 5 นาทีนะคะ

964
01:20:04,638 --> 01:20:08,638
เดี๋ยวเราจะมาหัดทำด้วยกันนะ มีโจทย์ 1 โจทย์

965
01:20:11,020 --> 01:20:13,604
ตัวนี้ หลังจากเบรกแล้วนะ

966
01:20:13,604 --> 01:20:16,682
เราจะมาทำโจทย์นี้ด้วยกัน

967
01:20:16,682 --> 01:20:18,420
นะคะ

968
01:20:18,420 --> 01:20:22,420

969
01:20:29,339 --> 01:20:33,338

970
01:20:33,338 --> 01:20:37,338

971
01:20:37,347 --> 01:20:41,347

972
01:20:41,347 --> 01:20:45,347

973
01:20:45,347 --> 01:20:49,347

974
01:20:49,349 --> 01:20:53,349

975
01:20:53,349 --> 01:20:57,349

976
01:20:57,354 --> 01:21:01,354

977
01:21:01,359 --> 01:21:05,359

978
01:21:05,369 --> 01:21:09,369

979
01:21:09,373 --> 01:21:13,373

980
01:21:13,380 --> 01:21:17,376

981
01:21:17,376 --> 01:21:21,376

982
01:21:21,381 --> 01:21:25,381

983
01:21:25,384 --> 01:21:29,384

984
01:21:29,406 --> 01:21:33,402

985
01:21:33,402 --> 01:21:37,387

986
01:21:37,387 --> 01:21:41,387

987
01:21:41,393 --> 01:21:45,393

988
01:21:45,393 --> 01:21:49,393

989
01:21:49,399 --> 01:21:53,398

990
01:21:53,398 --> 01:21:57,398

991
01:21:57,412 --> 01:22:01,412

992
01:22:01,421 --> 01:22:05,419

993
01:22:05,419 --> 01:22:09,419

994
01:22:09,423 --> 01:22:13,423

995
01:22:13,431 --> 01:22:17,430

996
01:22:17,430 --> 01:22:21,430

997
01:22:25,431 --> 01:22:29,431

998
01:22:29,433 --> 01:22:33,433

999
01:22:33,435 --> 01:22:37,435

1000
01:22:37,438 --> 01:22:41,438

1001
01:22:41,440 --> 01:22:45,440

1002
01:22:45,448 --> 01:22:49,448

1003
01:22:49,452 --> 01:22:53,452

1004
01:22:53,454 --> 01:22:57,454

1005
01:22:57,456 --> 01:23:01,456

1006
01:23:01,459 --> 01:23:05,459

1007
01:23:05,465 --> 01:23:09,463

1008
01:23:09,463 --> 01:23:13,463

1009
01:23:13,484 --> 01:23:17,474

1010
01:23:17,474 --> 01:23:21,474

1011
01:23:21,478 --> 01:23:25,478

1012
01:23:25,480 --> 01:23:29,480

1013
01:23:29,481 --> 01:23:33,481

1014
01:23:33,486 --> 01:23:37,486

1015
01:23:37,487 --> 01:23:41,487

1016
01:23:41,490 --> 01:23:45,490

1017
01:23:45,491 --> 01:23:49,491

1018
01:23:49,494 --> 01:23:53,494

1019
01:23:53,499 --> 01:23:57,498

1020
01:23:57,498 --> 01:24:01,498

1021
01:24:01,520 --> 01:24:05,520

1022
01:24:05,546 --> 01:24:09,543

1023
01:24:09,543 --> 01:24:13,538

1024
01:24:13,538 --> 01:24:17,535

1025
01:24:17,535 --> 01:24:21,535

1026
01:24:21,540 --> 01:24:25,540

1027
01:24:29,543 --> 01:24:33,543

1028
01:24:33,545 --> 01:24:37,545

1029
01:24:37,554 --> 01:24:41,554

1030
01:24:41,558 --> 01:24:45,558

1031
01:24:45,560 --> 01:24:49,560

1032
01:24:49,569 --> 01:24:53,567

1033
01:24:53,567 --> 01:24:57,567

1034
01:25:01,570 --> 01:25:05,570

1035
01:25:05,571 --> 01:25:09,571

1036
01:25:09,571 --> 01:25:13,571

1037
01:25:13,575 --> 01:25:17,575

1038
01:25:17,583 --> 01:25:21,578

1039
01:25:21,578 --> 01:25:25,578

1040
01:25:25,583 --> 01:25:29,583

1041
01:25:29,586 --> 01:25:33,586

1042
01:25:33,587 --> 01:25:37,587

1043
01:25:37,592 --> 01:25:41,591

1044
01:25:41,591 --> 01:25:45,591

1045
01:25:49,608 --> 01:25:53,608

1046
01:25:53,608 --> 01:25:57,608

1047
01:25:57,619 --> 01:26:01,615

1048
01:26:01,615 --> 01:26:05,615

1049
01:26:05,620 --> 01:26:09,620

1050
01:26:09,627 --> 01:26:13,622

1051
01:26:13,622 --> 01:26:17,622

1052
01:26:17,628 --> 01:26:21,628

1053
01:26:21,631 --> 01:26:25,630

1054
01:26:25,630 --> 01:26:29,630

1055
01:26:29,636 --> 01:26:30,355

1056
01:26:30,355 --> 01:26:34,355

1057
01:26:37,642 --> 01:26:41,642

1058
01:26:41,648 --> 01:26:45,648

1059
01:26:45,651 --> 01:26:49,651

1060
01:26:49,653 --> 01:26:53,653

1061
01:26:53,657 --> 01:26:57,657

1062
01:26:57,660 --> 01:27:01,660

1063
01:27:01,662 --> 01:27:05,662

1064
01:27:05,664 --> 01:27:09,664

1065
01:27:09,666 --> 01:27:13,666

1066
01:27:13,666 --> 01:27:17,666

1067
01:27:17,675 --> 01:27:21,671

1068
01:27:21,671 --> 01:27:25,671

1069
01:27:25,676 --> 01:27:29,674

1070
01:27:29,674 --> 01:27:33,674

1071
01:27:33,676 --> 01:27:37,676

1072
01:27:37,679 --> 01:27:41,679

1073
01:27:41,680 --> 01:27:45,680

1074
01:27:45,685 --> 01:27:49,685

1075
01:27:49,693 --> 01:27:53,693

1076
01:27:53,699 --> 01:27:57,699

1077
01:27:57,701 --> 01:28:01,701

1078
01:28:01,707 --> 01:28:05,707

1079
01:28:05,708 --> 01:28:09,708

1080
01:28:09,709 --> 01:28:13,709

1081
01:28:13,713 --> 01:28:17,713

1082
01:28:17,726 --> 01:28:21,724

1083
01:28:21,724 --> 01:28:25,724

1084
01:28:25,727 --> 01:28:29,727

1085
01:28:29,730 --> 01:28:33,730

1086
01:28:33,735 --> 01:28:37,731

1087
01:28:37,731 --> 01:28:41,731

1088
01:28:41,733 --> 01:28:45,733

1089
01:28:45,735 --> 01:28:49,735

1090
01:28:49,736 --> 01:28:53,736

1091
01:28:53,749 --> 01:28:57,743

1092
01:28:57,743 --> 01:29:01,743

1093
01:29:01,743 --> 01:29:05,743

1094
01:29:05,754 --> 01:29:09,746

1095
01:29:09,746 --> 01:29:13,746

1096
01:29:13,748 --> 01:29:17,748

1097
01:29:17,752 --> 01:29:21,752

1098
01:29:21,753 --> 01:29:25,753

1099
01:29:25,757 --> 01:29:29,757

1100
01:29:33,761 --> 01:29:37,761

1101
01:29:37,770 --> 01:29:41,769

1102
01:29:41,769 --> 01:29:45,769

1103
01:29:49,775 --> 01:29:53,775

1104
01:29:53,779 --> 01:29:57,779

1105
01:29:57,781 --> 01:30:01,781

1106
01:30:05,796 --> 01:30:09,796

1107
01:30:09,798 --> 01:30:13,797

1108
01:30:13,797 --> 01:30:17,797

1109
01:30:17,802 --> 01:30:21,802

1110
01:30:21,803 --> 01:30:25,803

1111
01:30:25,803 --> 01:30:29,803

1112
01:30:29,805 --> 01:30:33,805

1113
01:30:33,808 --> 01:30:37,808

1114
01:30:37,810 --> 01:30:41,810

1115
01:30:41,812 --> 01:30:45,812

1116
01:30:45,818 --> 01:30:49,814

1117
01:30:49,814 --> 01:30:53,814

1118
01:30:53,816 --> 01:30:57,816

1119
01:30:57,823 --> 01:31:01,820

1120
01:31:01,820 --> 01:31:05,820

1121
01:31:09,824 --> 01:31:13,824

1122
01:31:13,830 --> 01:31:17,827

1123
01:31:17,827 --> 01:31:21,827

1124
01:31:25,864 --> 01:31:29,864

1125
01:31:29,865 --> 01:31:33,865

1126
01:31:33,868 --> 01:31:37,868

1127
01:31:41,875 --> 01:31:45,875

1128
01:31:45,882 --> 01:31:49,882

1129
01:31:49,883 --> 01:31:53,881

1130
01:31:53,881 --> 01:31:57,881

1131
01:31:57,886 --> 01:32:01,886

1132
01:32:01,891 --> 01:32:05,891

1133
01:32:05,897 --> 01:32:09,897

1134
01:32:09,900 --> 01:32:13,898

1135
01:32:13,898 --> 01:32:17,898

1136
01:32:17,905 --> 01:32:21,905

1137
01:32:21,908 --> 01:32:22,723

1138
01:32:22,723 --> 01:32:26,723

1139
01:32:29,911 --> 01:32:33,911

1140
01:32:33,926 --> 01:32:37,916

1141
01:32:37,916 --> 01:32:41,916

1142
01:32:41,920 --> 01:32:45,918

1143
01:32:45,918 --> 01:32:49,918

1144
01:32:49,924 --> 01:32:53,924

1145
01:32:53,926 --> 01:32:55,795

1146
01:32:55,795 --> 01:32:59,795

1147
01:33:01,933 --> 01:33:02,825

1148
01:33:02,825 --> 01:33:03,019
คราวนี้มาดูต่อ

1149
01:33:03,019 --> 01:33:07,019
โจทย์ตัวนี้

1150
01:33:09,591 --> 01:33:13,591
นะคะ เหมือนถ้าเราดูนะ

1151
01:33:16,573 --> 01:33:20,573
ตัวโปรแกรม บรรทัดที่ 1 บรรทัดที่ 2 บรรทัดที่ 3

1152
01:33:25,474 --> 01:33:29,474
เหมือนกับโจทย์ข้อนี้เลยใช่ไหมคะ เหมือนกันเลย แต่สิ่งที่ต่างกันคืออะไร คือ จำนวน

1153
01:33:30,559 --> 01:33:34,559
ตัวแปร ค่าของตัวแปร n นะคะ จากข้อนี้ครูบอกว่า

1154
01:33:35,629 --> 01:33:39,240
ครูให้ n = 2

1155
01:33:39,240 --> 01:33:41,446
ครูแทน n ตัวนี้ด้วย 2

1156
01:33:41,446 --> 01:33:45,446
นะ

1157
01:33:48,711 --> 01:33:52,711
ขออภัย แปบหนึ่ง ต้องเขียนเลข 2

1158
01:34:02,706 --> 01:34:01,392

1159
01:33:57,116 --> 01:33:58,047
ครูแทน n ด้วย 2

1160
01:33:58,047 --> 01:34:01,957
นะคะ เพราะฉะนั้น

1161
01:34:01,957 --> 01:34:03,478
ครูถามว่า

1162
01:34:03,478 --> 01:34:07,478
บรรทัดนี้ทำงานกี่รอบ

1163
01:34:10,717 --> 01:34:14,717
จำนวนกี่รอบ เมื่อเราแทน n ด้วย 2

1164
01:34:17,443 --> 01:34:21,280
เมื่อแทน n ตัวนี้ด้วย 2 range 2

1165
01:34:21,280 --> 01:34:25,280
ตัวนี้ทำงานกี่รอบ

1166
01:34:26,569 --> 01:34:27,609
ทำงานกี่รอบคะ

1167
01:34:27,609 --> 01:34:31,609
คนอื่นทำงานกี่รอบเอ่ย  range(2)

1168
01:34:36,298 --> 01:34:36,495
มีค่าเป็นอะไรได้บ้าง ลองดู

1169
01:34:36,495 --> 01:34:40,495
ที่เราเขียนเมื่อกี้ range(2)

1170
01:34:44,352 --> 01:34:48,352
มีค่าเป็น 0 แล้วก็ 1 เพราะฉะนั้น เราทำงานกันกี่รอบ เราทำงานกัน

1171
01:34:53,205 --> 01:34:54,514
2 รอบใช่ไหมคะ

1172
01:34:54,514 --> 01:34:58,514
เราทำงานกัน 2 รอบ เพราะฉะนั้น i

1173
01:35:01,997 --> 01:35:05,997
มีค่าเป็นอะไรได้บ้าง i ตัวนี้มีค่าเป็นอะไรได้บ้าง ที่เราเขียนไว้นี่ i มีค่า

1174
01:35:07,549 --> 01:35:08,643
เป็น 0 แล้วก็

1175
01:35:08,643 --> 01:35:09,609
1 ใช่ไหม ตามนี้เลย

1176
01:35:09,609 --> 01:35:13,609
เห็นไหมคะ อันนี้ทุกคนแยกได้อยู่แล้วว่า range 2

1177
01:35:15,839 --> 01:35:17,579
คืออะไร เพราะฉะนั้น ค่า i มันก็ต้อง

1178
01:35:17,579 --> 01:35:21,579
มีค่าตามที่เราเขียนไว้ข้างบนถูกไหมคะ

1179
01:35:22,444 --> 01:35:26,444
เป็น 0 กับ 1 แค่นั้นนะ

1180
01:35:27,308 --> 01:35:28,575
เป็น 0 กับ 1 เพราะฉะนั้น

1181
01:35:28,575 --> 01:35:32,575
มันทำเงื่อนไขตรงนี้ด้วยใช่ไหมคะ เราก็

1182
01:35:35,424 --> 01:35:39,424
ติ๊กถูกเลย จำนวน

1183
01:35:41,132 --> 01:35:45,132
ครั้งที่ทำตรงนี้ทำกี่รอบคะ

1184
01:35:46,244 --> 01:35:46,287
2 รอบ แล้วก็ใส่ 2 รอบ

1185
01:35:46,287 --> 01:35:50,287
ดูนะคะ นี่ครูจะมีกระดาษให้ทำต่างหาก

1186
01:35:51,812 --> 01:35:55,061
เป็น 2 รอบ

1187
01:35:55,061 --> 01:35:57,460
นะ เราทำ 2 รอบ

1188
01:35:57,460 --> 01:36:00,343
เพราะฉะนั้น เรามองด้านบนสิ

1189
01:36:00,343 --> 01:36:04,343
เมื่อครูแทน n=2 2 ตัวนี้เท่ากับ

1190
01:36:11,314 --> 01:36:15,314
ค่า n เลยนะ เพราะฉะนั้น ครูก็เลยเขียนตรงนี้ได้เป็นเลข n ได้เลย เพราะฉะนั้น

1191
01:36:22,028 --> 01:36:22,802
2 นี่เห็นไหม n = 2 เพราะฉะนั้น 2 นี่แทนด้วย n ได้

1192
01:36:22,802 --> 01:36:24,285
สามารถแทนด้วย n ได้ ครูก็ขึ้นมาดู

1193
01:36:24,285 --> 01:36:27,147
ข้างบนนะคะ แล้วการทำงานแต่ละครั้งทำ

1194
01:36:27,147 --> 01:36:31,147
กี่รอบบรรทัดที่ 1 ทำ 1 รอบ

1195
01:36:34,276 --> 01:36:38,276
ทำงาน 1 รอบใช่ไหม มันไม่ได้อยู่ใน loop น่ะ เพราะฉะนั้น ต้องทำงานแค่ 1 ครั้งเท่านั้น

1196
01:36:43,919 --> 01:36:45,009
เท่าไรคะ ทำงาน 2 รอบ แต่เมื่อ

1197
01:36:45,009 --> 01:36:49,009
แทนด้วย n ใด ๆ มันก็คือทำงาน n ครั้ง

1198
01:36:52,678 --> 01:36:54,630
นะคะ บรรทัดที่ 3 n ครั้งเหมือนกัน หาค่า Fn ทำอย่างไร เอาตัวนี้

1199
01:36:54,630 --> 01:36:56,931
3 ตัวนี้มาบวกกัน

1200
01:36:56,931 --> 01:37:00,931
เป็น 1 + n

1201
01:37:10,054 --> 01:37:14,054
แล้วก็บวก n ได้เท่าไรคะตรงนี้ ได้กี่ n 1n 2n ได้ 2n แล้วก็ +

1202
01:37:16,262 --> 01:37:20,262
1 ถูกไหมคะ

1203
01:37:20,367 --> 01:37:20,657
มันมี 1 อีกตัวหนึ่ง ตรงนี้นะคะ

1204
01:37:20,657 --> 01:37:24,657
เพราะฉะนั้น Big-O คืออะไร ตัดสัมประสิทธิ์ออก

1205
01:37:30,224 --> 01:37:34,224
เห็นไหมคะ เอาค่าสัมปสิทธิ์

1206
01:37:37,169 --> 01:37:40,650
กลายเป็น o

1207
01:37:40,650 --> 01:37:44,650
O(n) นะคะ ก็จะเป็น O(n)

1208
01:37:45,044 --> 01:37:49,044

1209
01:37:50,079 --> 01:37:54,079

1210
01:37:54,079 --> 01:37:58,079

1211
01:37:58,081 --> 01:38:02,081
อันนี้ เราลองเริ่ม ถ้า range อย่างที่เราเขียนไปนะ

1212
01:38:03,601 --> 01:38:04,049
อย่างที่เราเขียนไปนะ range ตัวนี้ที่เราทำไป

1213
01:38:04,049 --> 01:38:08,049
เริ่มจาก 0 ถ้าเราไม่

1214
01:38:08,056 --> 01:38:12,056
เริ่มจาก 0 นี่เราต้องกำหนดค่าเริ่มต้นใน range ให้ ถูกไหมคะ

1215
01:38:14,305 --> 01:38:18,305
แล้วเราจะทำงานกี่ครั้งนะ เราดู

1216
01:38:18,691 --> 01:38:21,076
นะ อันนี้ range 1-4 ทำงาน 3 ครั้ง

1217
01:38:21,076 --> 01:38:24,779
ถูกไหมคะ range

1218
01:38:24,779 --> 01:38:27,154
3, 7 ทำงาน 4 ครั้งหรือ 4 รอบ

1219
01:38:27,154 --> 01:38:29,345
คราวนี้มาดูโจทย์นี้บ้าง

1220
01:38:29,345 --> 01:38:32,792
ตรงนี้นะคะ

1221
01:38:32,792 --> 01:38:36,792
ครูมีตัวอย่างให้ดูข้างบนนี่ด้วยนะ ตรงมุมขวา

1222
01:38:46,112 --> 01:38:50,112
คำสั่งแรกนี่ range(1,4) ทำงานกี่ครั้งคะ

1223
01:38:52,429 --> 01:38:55,871
ทำงานกี่ครั้ง ทำงานกี่รอบ ทำงานกี่รอบ

1224
01:38:55,871 --> 01:38:59,871
range 1 ถึง 4 ข้างบนเห็นไหมคะ ทำงานกี่รอบ

1225
01:39:01,016 --> 01:39:04,133
3 รอบ เพราะมีตัวเลขกี่ตัว 3 ตัว

1226
01:39:04,133 --> 01:39:06,988
บรรทัดที่ 2 ทำงานกี่รอบ

1227
01:39:06,988 --> 01:39:10,988
2 รอบนะคะ อันนี้คือ 2 รอบ อันนี้คือ 3 รอบ

1228
01:39:15,681 --> 01:39:16,144
นะ ร. เรือ รอบนะคะ

1229
01:39:16,144 --> 01:39:18,252
ในโจทย์

1230
01:39:18,252 --> 01:39:22,252
คำสั่งให้ใช้เดิมเลย

1231
01:39:24,140 --> 01:39:28,140
สิ่งที่ต่างกันคืออะไร

1232
01:39:29,903 --> 01:39:32,773
for i in range (

1233
01:39:32,773 --> 01:39:36,773
,n) เห็นไหมคะ เริ่มเห็นความต่าง

1234
01:39:37,590 --> 01:39:37,979
แล้ว ถ้า i เรานี่ไม่ได้เริ่มต้นจาก

1235
01:39:37,979 --> 01:39:41,979
0 และ เราเริ่มต้นที่เลขอะไรคะ

1236
01:39:46,807 --> 01:39:47,130
เลข 1 ถูกไหม เริ่มต้นจากเลข 1 นะคะ เพราะฉะนั้น

1237
01:39:47,130 --> 01:39:51,130
ถ้าครูกำหนดให้ n

1238
01:39:55,495 --> 01:39:59,495
= 3 ครูเปลี่ยนตรงนี้เป็น 3

1239
01:40:03,564 --> 01:40:07,564
บรรทัดที่ 2 ทำงานกี่รอบ

1240
01:40:09,611 --> 01:40:13,611
ครูเปลี่ยนค่า n เห็นไหมคะ

1241
01:40:17,376 --> 01:40:21,376
for i in range (1, n)

1242
01:40:22,277 --> 01:40:24,472
ครูแทน n ด้วยเลข 3 เห็นไหมคะ

1243
01:40:24,472 --> 01:40:28,374
range (1,3)

1244
01:40:28,374 --> 01:40:32,374
บรรทัดที่ 2 นี่

1245
01:40:34,006 --> 01:40:38,006
ค่า i มีค่าเป็นอะไรได้บ้าง และทำงานกี่รอบ

1246
01:40:39,754 --> 01:40:43,754
เห็นไหม นี่ไงที่เราเขียนข้างบนไง ทำงาน

1247
01:40:45,412 --> 01:40:48,225
ข้างบนไงทำงานกี่รอบคะ 2 รอบ

1248
01:40:48,225 --> 01:40:48,765
2 รอบ นี่ไง 1, 3 เหมือนกันเลย

1249
01:40:48,765 --> 01:40:52,765
ค่า i ที่เป็นไปได้ คือ เลขอะไรคะ

1250
01:40:55,954 --> 01:40:57,422
เลข 2 มันทำงานกี่รอบ

1251
01:40:57,422 --> 01:41:01,422
2 รอบ ก็มันมีเลข 2 2 ตัว

1252
01:41:06,415 --> 01:41:10,415
มันก็ทำงาน 2 รอบใช่ไหมคะ เพราะฉะนั้น มันทำงาน 2 รอบ หรือ 2 ครั้งนะคะ

1253
01:41:13,553 --> 01:41:13,693
ค่า i ที่เป็นไปได้ คือ

1254
01:41:13,693 --> 01:41:17,005
1 แล้วก็ 2

1255
01:41:17,005 --> 01:41:21,005
2 ใช่ไหมคะ แล้วมันก็ทำงาน

1256
01:41:21,428 --> 01:41:25,428
ติ๊กถูกได้เลย ทำงาน 2 บรรทัดนี้ ก็คือทำงาน 2 ครั้ง

1257
01:41:31,637 --> 01:41:35,637
ครูจะแปลงนะคะ

1258
01:41:41,178 --> 01:41:41,684
เมื่อเป็น n ใด ๆ นะ เมื่อเป็น n ใด ๆ สังเกตนะคะ ตัวนี้ คือ เลข

1259
01:41:41,684 --> 01:41:45,567
4 นะ มันคือค่า n

1260
01:41:45,567 --> 01:41:49,567
ถ้าครูแทน n เป็น 4

1261
01:41:50,879 --> 01:41:54,879
ทำงานกี่รอบ

1262
01:41:54,902 --> 01:41:58,902
ตรงนี้ทำงานกี่รอบคะ 3 รอบ

1263
01:41:59,383 --> 01:42:00,675
ทุกคน

1264
01:42:00,675 --> 01:42:04,675
1,5

1265
01:42:14,219 --> 01:42:18,219
ทำงานกี่รอบคะ มีค่าที่เป็นไปได้ คือ 1,

1266
01:42:19,827 --> 01:42:22,239
2, 3 แล้วก็ 4 ถูกไหมคะ

1267
01:42:22,239 --> 01:42:24,119
ใช่ 4 รอบ

1268
01:42:24,119 --> 01:42:25,355
n เป็น 4 ทำงาน

1269
01:42:25,355 --> 01:42:29,355
3 รอบ n เป็น 5 ทำงาน 4

1270
01:42:31,508 --> 01:42:34,334
รอบ เห็นไหมคะ ว่าจำนวนรอบมันลดลง

1271
01:42:34,334 --> 01:42:38,334
1 เมื่อเทียบกับ n

1272
01:42:38,678 --> 01:42:40,948

1273
01:42:40,948 --> 01:42:44,948
เพราะฉะนั้น เมื่อเราเขียนแทนสมการ

1274
01:42:48,219 --> 01:42:52,077
มันเป็น 2

1275
01:42:52,077 --> 01:42:56,077
ถูกไหม ทำอย่างไรถึงจะได้เลข 2

1276
01:42:58,510 --> 01:42:59,676
n - 1 n - 1 ถูกไหม

1277
01:42:59,676 --> 01:43:03,458
n เราคืออะไร n ที่ครูกำหนดให้ คือ 3

1278
01:43:03,458 --> 01:43:07,003
เป็น 2 ได้ตัวเลขตรงกันไหม

1279
01:43:07,003 --> 01:43:11,003
ตรงกัน เพราะฉะนั้น เมื่อแทน n ด้วย  2

1280
01:43:17,126 --> 01:43:19,511
เมื่อแทน n ด้วย 2 ก็ทำงาน 1 ครั้ง หรือแทน n ด้วย 3

1281
01:43:19,511 --> 01:43:23,511
ก็คือทำงาน 2 ครั้ง ดังนั้น เมื่อแทน n ใด ๆ จะทำงาน n

1282
01:43:26,931 --> 01:43:27,774
- 1 ครั้ง

1283
01:43:27,774 --> 01:43:31,110
เมื่อโค้ดตัวนี้นะคะ เมื่อโปรแกรมตัวนี้

1284
01:43:31,110 --> 01:43:33,393
ครูแทน n ด้วย

1285
01:43:33,393 --> 01:43:36,652
10 ครูแทน n ด้วย 10

1286
01:43:36,652 --> 01:43:40,652
จะทำงานกี่รอบ

1287
01:43:41,437 --> 01:43:45,437
9 รอบ คือ 10 - 1

1288
01:43:47,030 --> 01:43:47,310
ใช่ไหมคะ

1289
01:43:47,310 --> 01:43:51,310
คือ 9 รอบ

1290
01:43:52,482 --> 01:43:56,482
เพราะฉะนั้น

1291
01:44:09,373 --> 01:44:07,461

1292
01:44:00,198 --> 01:44:01,125
เราจึงแทนจำนวนรอบของการทำงาน

1293
01:44:01,125 --> 01:44:05,125
บรรทัดที่ 1 คือ ทำงาน 1 ครั้ง 1 รอบ

1294
01:44:07,491 --> 01:44:11,491
เพราะมันไม่ได้อยู่ในลูป มันจึงทำงาน 1 ครั้ง

1295
01:44:11,856 --> 01:44:15,856
บรรทัดที่ 2 มันทำงาน n - 1 ครั้ง

1296
01:44:22,306 --> 01:44:23,352
n - 1 ครั้ง เมื่อ n ใด ๆ มันทำ n - 1 ครั้งนะคะ

1297
01:44:23,352 --> 01:44:27,352
บรรทัดที่ 3 ก็เหมือนกันคือ n - 1

1298
01:44:31,908 --> 01:44:35,908
เท่ากันนะ อันนี้ให้ดูนะ 2 ตัวนี้จะต้อง

1299
01:44:38,313 --> 01:44:38,590
เขียนเหมือนกันนะคะ มาหาค่าฟังก์ชัน

1300
01:44:38,590 --> 01:44:42,590
ก็เอาตัวข้างหลังมาบวกกัน 1 + (n-1)

1301
01:44:46,998 --> 01:44:50,998

1302
01:44:54,319 --> 01:44:55,444
นะคะ คำตอบที่ได้ ครูกระจายตัวนี้นะคะ จะได้เป็น

1303
01:44:55,444 --> 01:44:59,444
1 + n

1304
01:45:02,276 --> 01:45:06,276
- 1 + n - 1

1305
01:45:06,700 --> 01:45:07,706
1n + 1n

1306
01:45:07,706 --> 01:45:11,398
ได้เป็น 2n 1

1307
01:45:11,398 --> 01:45:15,398
- 1 - 1 1 กับ - 1

1308
01:45:18,351 --> 01:45:22,351
หมดไหมเป็น 0 เหลือ -1 มันก็เลยเป็น 2n - 1

1309
01:45:22,646 --> 01:45:26,646
เพราะฉะนั้น Big-O ก็คือเอา n ที่มากที่สุด ก็คือ

1310
01:45:30,926 --> 01:45:32,630
n ตัวนี้แล้วตัดสัมประสิทธิ์ออก

1311
01:45:32,630 --> 01:45:36,630
ก็จะได้เป็น O(n)

1312
01:45:52,165 --> 01:46:04,792

1313
01:45:42,341 --> 01:45:46,340

1314
01:45:46,340 --> 01:45:50,340

1315
01:45:50,342 --> 01:45:54,342

1316
01:45:54,345 --> 01:45:58,345

1317
01:45:58,351 --> 01:46:02,351

1318
01:46:06,355 --> 01:46:10,355

1319
01:46:10,357 --> 01:46:14,357

1320
01:46:14,360 --> 01:46:18,360

1321
01:46:22,371 --> 01:46:22,785

1322
01:46:22,785 --> 01:46:26,785
ค่อย ๆ ดูนะ

1323
01:46:40,140 --> 01:46:37,095

1324
01:46:24,314 --> 01:46:28,314

1325
01:46:38,379 --> 01:46:42,379
เอาแค่ว่าเริ่มต้น เรารู้ว่าทำงานกี่รอบ

1326
01:46:42,709 --> 01:46:43,657
ขอให้นับให้ได้ว่า

1327
01:46:43,657 --> 01:46:47,657
i นี่ มีค่าเป็นอะไรได้บ้าง

1328
01:46:48,856 --> 01:46:49,686
แล้วมันทำงานทั้งหมด

1329
01:46:49,686 --> 01:46:52,621
กี่รอบ โอเค

1330
01:46:52,621 --> 01:46:56,621
เข้าใจตัวเบสิกตัวนี้ก่อน

1331
01:47:00,769 --> 01:47:04,769
ก็ได้นะคะ

1332
01:47:14,399 --> 01:47:18,399
อย่างนี้ดีกว่า ก่อนที่ครูจะ

1333
01:47:21,905 --> 01:47:23,361
ไป ไป range สัญลักษณ์ตัวอื่น

1334
01:47:23,361 --> 01:47:27,361
นะ เป็น n + 1  n - 1

1335
01:47:32,789 --> 01:47:35,264
เดี๋ยวครูมีแบบฝึกหัดให้ทำก่อนนะในกระดาษ เดี๋ยวลองทำตัวนี้ดูก่อน คราวนี้

1336
01:47:35,264 --> 01:47:39,264
ครูมี Sheet แจกให้ในห้อง

1337
01:47:42,029 --> 01:47:46,029
คำอธิบายสั่งที่สอนวันนี้แแหละ

1338
01:47:48,582 --> 01:47:52,582
นะคะ โจทย์ตัวเป็น range n กับ 1,n นะ ที่เราเรียนผ่านไป

1339
01:47:57,974 --> 01:48:00,131
นะคะ ครูจะเขียนอธิบายให้สามารถนั่งดูตัวนี้ได้นะ

1340
01:48:00,131 --> 01:48:04,131
เดี๋ยวครูให้ทำแบบฝึกหัดตัวนี้ก่อนเลย จะได้รู้ว่าเราทำได้หรือไม่

1341
01:48:07,478 --> 01:48:08,591
นะคะ คนละ 1 แผ่น เขียนลงไปในนี้เลย

1342
01:48:08,591 --> 01:48:12,591
นะคะ

1343
01:48:22,433 --> 01:48:26,433
ลองทำในแบบฝึกหัดที่ครูแจกให้นะคะ แล้วลองดูกระดาษ

1344
01:48:27,604 --> 01:48:31,604
เพิ่มหรือในสไลด์ที่เราเรียนกันเมื่อกี้ โจทย์น่าจะเป็นตัวนี้ โอเค

1345
01:48:33,728 --> 01:48:35,677

1346
01:48:35,677 --> 01:48:39,677

1347
01:48:50,440 --> 01:48:54,440
โจทย์จะคล้าย ๆ กับตัวนี้เลยนะคะ

1348
01:48:57,163 --> 01:49:01,163
โจทย์จะคล้าย ๆ กับสิ่งที่ครูโชว์บนกระดานนี้ โชว์บนสไลด์

1349
01:49:25,152 --> 01:49:22,114

1350
01:49:06,192 --> 01:49:06,963
ค่อย ๆ ดูนะคะ

1351
01:49:06,963 --> 01:49:10,710
ลองดู แล้วก็ดูชีตประกอบ แล้วลองทำนะคะ ลองทำอย่างไร

1352
01:49:10,710 --> 01:49:14,710
รูให้โจทย์ตัวนี้มา ตัว Code ข้างบน

1353
01:49:19,297 --> 01:49:23,297
แบบกันเลย แต่ครูเปลี่ยนค่า n เฉย ๆ

1354
01:49:25,200 --> 01:49:29,074
ครูกำหนดให้ n = 4 อันนี้ครูเปลี่ยนให้ n = 4

1355
01:49:29,074 --> 01:49:31,010
เพราะฉะนั้น ค่า i นี่ มันเป็นค่าอะไรได้บ้าง

1356
01:49:31,010 --> 01:49:35,010
เขียนให้ครบ รู้ได้อย่างไร

1357
01:49:36,392 --> 01:49:39,666
ถ้าเรายังจำไม่ได้เราก็มาเขียนตรงนี้ก่อนก็ได้

1358
01:49:39,666 --> 01:49:43,666
นะคะ range(4) มันมีค่าเป็นอะไรได้บ้าง

1359
01:49:49,642 --> 01:49:53,642
พอเราเขียน list ตรงนี้แล้ว เราก็เอามาเขียนในคอลัมป์ที่ 1

1360
01:49:55,436 --> 01:49:59,436
มีค่าเป็นอะไรได้บ้าง แล้วก็ติ๊กถูกเลย คำว่า "ติ๊กเครื่องหมายถูก" คือ มันทำที่คำสั่งนั้น

1361
01:50:05,280 --> 01:50:06,061
แล้วนับมันทำงานกี่ครั้ง

1362
01:50:06,061 --> 01:50:10,061
แล้วก็นับมันมีเครื่องหมายถูกกี่ครั้ง ทำงานกี่ครั้ง

1363
01:50:14,504 --> 01:50:16,993
แล้วเทียบว่าไอ้ตัวนับตัวนี้ที่เรานับได้นี่ เมื่อเทียบกับ n แล้วนี่

1364
01:50:16,993 --> 01:50:20,993
มันควรแทนด้วย n อะไร n+1 n-1

1365
01:50:22,765 --> 01:50:26,765
หรือ n เฉย ๆ จากนั้นเอากลับขึ้นมาเขียนด้านบน

1366
01:50:27,153 --> 01:50:31,153
เพื่อบอกว่าแต่ละบรรทัดทำงาน

1367
01:50:34,851 --> 01:50:37,887
กี่ครั้งหรือกี่รอบ

1368
01:50:37,887 --> 01:50:41,786
ได้แล้วมาหาค่าฟังก์ชัน

1369
01:50:41,786 --> 01:50:45,786
เอาแต่ละตัวมาบวกกัน แล้วก็หาค่า Big-O

1370
01:50:49,498 --> 01:50:49,729
เป็นตัวสุดท้าย

1371
01:50:49,729 --> 01:50:53,463

1372
01:50:53,463 --> 01:50:57,463

1373
01:50:57,880 --> 01:51:01,880
ลองทำดูสิคะ ไม่ได้เดี๋ยวบอกนะ เดี๋ยวครูเดิน

1374
01:51:05,731 --> 01:51:05,908

1375
01:51:05,908 --> 01:51:09,908

1376
01:51:18,529 --> 01:51:22,529

1377
01:51:26,548 --> 01:51:30,548

1378
01:51:30,550 --> 01:51:34,550

1379
01:51:34,562 --> 01:51:38,562

1380
01:51:42,557 --> 01:51:46,557

1381
01:51:46,557 --> 01:51:50,557

1382
01:51:50,559 --> 01:51:54,559

1383
01:51:58,565 --> 01:52:02,565

1384
01:52:02,568 --> 01:52:06,567

1385
01:52:06,567 --> 01:52:10,567

1386
01:52:14,574 --> 01:52:18,574

1387
01:52:18,586 --> 01:52:22,583

1388
01:52:22,583 --> 01:52:26,583

1389
01:52:30,588 --> 01:52:34,588

1390
01:52:34,589 --> 01:52:38,589

1391
01:52:38,594 --> 01:52:42,594

1392
01:52:46,595 --> 01:52:50,595

1393
01:52:50,597 --> 01:52:54,597

1394
01:52:54,604 --> 01:52:58,600

1395
01:52:58,600 --> 01:53:02,600

1396
01:53:02,610 --> 01:53:06,608

1397
01:53:06,608 --> 01:53:10,608

1398
01:53:10,609 --> 01:53:14,609

1399
01:53:14,612 --> 01:53:18,612

1400
01:53:18,614 --> 01:53:22,614

1401
01:53:22,615 --> 01:53:26,615

1402
01:53:26,618 --> 01:53:30,618

1403
01:53:34,620 --> 01:53:38,620

1404
01:53:38,623 --> 01:53:42,623

1405
01:53:42,625 --> 01:53:46,625

1406
01:53:46,629 --> 01:53:50,629

1407
01:53:50,630 --> 01:53:54,630

1408
01:53:54,632 --> 01:53:58,632

1409
01:53:58,640 --> 01:54:02,640

1410
01:54:06,643 --> 01:54:10,643

1411
01:54:10,644 --> 01:54:14,644

1412
01:54:14,644 --> 01:54:18,644

1413
01:54:18,653 --> 01:54:22,652

1414
01:54:22,652 --> 01:54:26,652

1415
01:54:26,656 --> 01:54:30,656

1416
01:54:30,658 --> 01:54:34,658

1417
01:54:34,660 --> 01:54:38,660

1418
01:54:38,661 --> 01:54:42,661

1419
01:54:42,672 --> 01:54:46,672

1420
01:54:46,676 --> 01:54:50,676

1421
01:54:50,677 --> 01:54:54,677

1422
01:54:54,684 --> 01:54:58,684

1423
01:54:58,684 --> 01:55:02,684

1424
01:55:02,689 --> 01:55:06,689

1425
01:55:06,691 --> 01:55:10,691

1426
01:55:10,694 --> 01:55:14,691

1427
01:55:14,691 --> 01:55:18,691

1428
01:55:18,697 --> 01:55:22,696

1429
01:55:22,696 --> 01:55:26,696

1430
01:55:26,702 --> 01:55:30,699

1431
01:55:30,699 --> 01:55:34,699

1432
01:55:34,700 --> 01:55:38,700

1433
01:55:38,709 --> 01:55:42,707

1434
01:55:42,707 --> 01:55:46,707

1435
01:55:46,712 --> 01:55:50,712

1436
01:55:50,715 --> 01:55:54,715

1437
01:55:54,725 --> 01:55:58,725

1438
01:55:58,726 --> 01:56:02,724

1439
01:56:02,724 --> 01:56:06,724

1440
01:56:06,728 --> 01:56:10,727

1441
01:56:10,727 --> 01:56:14,725

1442
01:56:14,725 --> 01:56:18,725

1443
01:56:18,739 --> 01:56:22,735

1444
01:56:22,735 --> 01:56:26,735

1445
01:56:30,770 --> 01:56:34,770

1446
01:56:34,774 --> 01:56:38,774

1447
01:56:38,775 --> 01:56:42,775

1448
01:56:42,779 --> 01:56:46,779

1449
01:56:46,785 --> 01:56:50,785

1450
01:56:50,788 --> 01:56:54,788

1451
01:56:54,792 --> 01:56:58,792

1452
01:56:58,794 --> 01:57:02,793

1453
01:57:02,793 --> 01:57:06,793

1454
01:57:06,800 --> 01:57:10,799

1455
01:57:10,799 --> 01:57:14,798

1456
01:57:14,798 --> 01:57:18,798

1457
01:57:18,803 --> 01:57:22,802

1458
01:57:22,802 --> 01:57:26,802

1459
01:57:26,808 --> 01:57:30,807

1460
01:57:30,807 --> 01:57:34,807

1461
01:57:34,808 --> 01:57:38,808

1462
01:57:38,813 --> 01:57:42,813

1463
01:57:42,816 --> 01:57:46,814

1464
01:57:46,814 --> 01:57:50,814

1465
01:57:50,821 --> 01:57:54,820

1466
01:57:54,820 --> 01:57:58,820

1467
01:57:58,821 --> 01:58:02,821

1468
01:58:02,827 --> 01:58:06,827

1469
01:58:06,829 --> 01:58:10,829

1470
01:58:10,830 --> 01:58:14,830

1471
01:58:14,835 --> 01:58:18,833

1472
01:58:18,833 --> 01:58:22,833

1473
01:58:22,837 --> 01:58:26,837

1474
01:58:26,840 --> 01:58:30,840

1475
01:58:30,840 --> 01:58:34,840

1476
01:58:34,844 --> 01:58:38,844

1477
01:58:38,845 --> 01:58:42,844

1478
01:58:42,844 --> 01:58:46,844

1479
01:58:46,848 --> 01:58:50,848

1480
01:58:50,852 --> 01:58:54,851

1481
01:58:54,851 --> 01:58:58,851

1482
01:58:58,855 --> 01:59:02,855

1483
01:59:02,858 --> 01:59:06,855

1484
01:59:06,855 --> 01:59:10,855

1485
01:59:10,860 --> 01:59:14,860

1486
01:59:14,861 --> 01:59:18,861

1487
01:59:18,870 --> 01:59:22,869

1488
01:59:22,869 --> 01:59:26,869

1489
01:59:26,873 --> 01:59:30,873

1490
01:59:30,877 --> 01:59:34,877

1491
01:59:34,879 --> 01:59:38,879

1492
01:59:38,885 --> 01:59:42,885

1493
01:59:42,892 --> 01:59:46,892

1494
01:59:46,894 --> 01:59:50,894

1495
01:59:50,899 --> 01:59:54,899

1496
01:59:54,903 --> 01:59:58,901

1497
01:59:58,901 --> 02:00:02,901

1498
02:00:02,908 --> 02:00:06,908

1499
02:00:06,908 --> 02:00:10,908

1500
02:00:10,908 --> 02:00:14,908

1501
02:00:14,914 --> 02:00:18,914

1502
02:00:18,916 --> 02:00:22,916

1503
02:00:22,920 --> 02:00:26,920

1504
02:00:26,922 --> 02:00:30,922

1505
02:00:30,922 --> 02:00:34,922

1506
02:00:34,922 --> 02:00:38,922

1507
02:00:38,929 --> 02:00:42,928

1508
02:00:42,928 --> 02:00:46,928

1509
02:00:46,933 --> 02:00:50,933

1510
02:00:50,934 --> 02:00:54,934

1511
02:00:54,935 --> 02:00:58,935

1512
02:01:02,945 --> 02:01:06,940

1513
02:01:06,940 --> 02:01:10,940

1514
02:01:10,947 --> 02:01:14,946

1515
02:01:14,946 --> 02:01:18,946

1516
02:01:18,950 --> 02:01:22,950

1517
02:01:22,952 --> 02:01:26,952

1518
02:01:26,954 --> 02:01:30,953

1519
02:01:30,953 --> 02:01:34,953

1520
02:01:34,957 --> 02:01:38,957

1521
02:01:38,959 --> 02:01:42,959

1522
02:01:42,966 --> 02:01:46,966

1523
02:01:46,967 --> 02:01:50,967

1524
02:01:50,968 --> 02:01:54,968

1525
02:01:54,977 --> 02:01:58,973

1526
02:01:58,973 --> 02:02:02,973

1527
02:02:02,974 --> 02:02:06,974

1528
02:02:06,977 --> 02:02:10,977

1529
02:02:10,977 --> 02:02:14,977

1530
02:02:14,982 --> 02:02:18,982

1531
02:02:18,984 --> 02:02:22,984

1532
02:02:22,986 --> 02:02:26,986

1533
02:02:26,990 --> 02:02:30,990

1534
02:02:30,992 --> 02:02:34,992

1535
02:02:34,992 --> 02:02:38,992

1536
02:02:38,995 --> 02:02:42,995

1537
02:02:42,995 --> 02:02:46,995

1538
02:02:46,995 --> 02:02:50,995

1539
02:02:51,001 --> 02:02:55,000

1540
02:02:55,000 --> 02:02:59,000

1541
02:02:59,000 --> 02:03:03,000

1542
02:03:03,004 --> 02:03:07,004

1543
02:03:07,006 --> 02:03:11,006

1544
02:03:11,008 --> 02:03:15,008

1545
02:03:15,011 --> 02:03:19,011

1546
02:03:19,012 --> 02:03:23,012

1547
02:03:23,015 --> 02:03:27,015

1548
02:03:27,016 --> 02:03:31,016

1549
02:03:31,017 --> 02:03:35,017

1550
02:03:35,022 --> 02:03:39,021

1551
02:03:39,021 --> 02:03:43,021

1552
02:03:43,022 --> 02:03:47,022

1553
02:03:47,025 --> 02:03:51,025

1554
02:03:51,027 --> 02:03:55,027

1555
02:03:55,027 --> 02:03:59,027

1556
02:03:59,031 --> 02:04:03,031

1557
02:04:03,034 --> 02:04:07,034

1558
02:04:07,034 --> 02:04:10,235

1559
02:04:10,235 --> 02:04:14,235

1560
02:04:15,039 --> 02:04:19,039
เดี๋ยวครูฝาก

1561
02:04:23,043 --> 02:04:27,043
อย่างนี้นะ เอกสารที่ครูให้ไปมีอยู่ 3 แผ่น มีอยู่ 3 ตัวอย่าง

1562
02:04:30,171 --> 02:04:34,171
3 แผ่น มีอยู่ 3 ตัวอย่าง มีอยู่ 3 แผ่น ครูฝากไป

1563
02:04:34,932 --> 02:04:37,574

1564
02:04:37,574 --> 02:04:38,600
อ่านนะ

1565
02:04:38,600 --> 02:04:42,600
ครูฝากไปอ่าน แล้วก็ทำความเข้าใจอีกครั้งหนึ่งนะคะ

1566
02:04:45,465 --> 02:04:46,543
ด้วยกันนะคะ

1567
02:04:46,543 --> 02:04:50,543

1568
02:04:50,933 --> 02:04:54,933
เดี๋ยวเรามาดูด้วยกันอีก 1 ข้อ เมื่อกี้

1569
02:04:59,159 --> 02:05:03,159
คือเราสามารถนับจำนวนรอบได้นะ

1570
02:05:06,839 --> 02:05:10,839
เราสามารถรู้ว่าค่า i นี่ มีค่าเป็นอะไรได้บ้าง

1571
02:05:11,063 --> 02:05:15,063
และรู้ว่า loop for จะทำงานกี่รอบ อันนี้ทุกคนทำได้นะคะ แต่จะสับสน

1572
02:05:17,765 --> 02:05:21,358
กับการแปลงให้เป็นค่า n นะ

1573
02:05:21,358 --> 02:05:24,260
เดี๋ยวค่อย ๆ ดูนะคะ อาจจะสับสน

1574
02:05:24,260 --> 02:05:26,132
เรื่องของการแปลงให้เป็นค่า n

1575
02:05:26,132 --> 02:05:30,132
พอเราแปลงให้เป็นค่า n เสร็จแล้ว เราย้อนกลับ

1576
02:05:36,245 --> 02:05:40,245
ขึ้นไปดูตัวโค้ดอีกครั้งหนึ่งและ

1577
02:05:42,777 --> 02:05:42,832
เขียนนะคะ บอกว่าบรรทัด

1578
02:05:42,832 --> 02:05:46,832
แรกทำงานกี่ครั้ง

1579
02:05:47,968 --> 02:05:51,968
บรรทัดที่ 2 ทำงานกี่ครั้ง และบรรทัดที่ 3

1580
02:05:57,471 --> 02:06:01,471
ทำงานกี่ครั้ง แล้วจึงเอาจำนวนครั้งเหล่านั้นมาบวกกันตรงข้ามฟังก์ชันตรงนี้นะคะ ตัวเลขตรงนี้

1581
02:06:06,346 --> 02:06:10,346
มาจากไหน มาจาก

1582
02:06:10,785 --> 02:06:11,817
จำนวนครั้งของการทำงานในแต่ละคำสั่ง เห็นไหม

1583
02:06:11,817 --> 02:06:15,817
บรรทัดแรกทำงาน 1 ครั้ง บรรทัดที่ 2

1584
02:06:18,422 --> 02:06:19,947
เราดูจากตรงนี้ก็ได้เห็นไหมคะ เงื่อนไข i

1585
02:06:19,947 --> 02:06:23,947
เหมือนกัน ทำงาน n ครั้ง แล้วตรง

1586
02:06:27,350 --> 02:06:28,366
total ก็ n ครั้ง ก็เลยเอาทั้ง 3 บรรทัดมาบวกกัน

1587
02:06:28,366 --> 02:06:32,366
โอเค

1588
02:06:33,110 --> 02:06:37,110

1589
02:06:47,109 --> 02:06:48,995
คราวนี้มาดูโจทย์นี้พร้อมกัน บนกระดาน

1590
02:06:48,995 --> 02:06:51,653
ครูมี

1591
02:06:51,653 --> 02:06:55,653
3 บรรทัดเหมือนกัน ครูมี 3 บรรทัด

1592
02:07:01,055 --> 02:07:03,729
ก็คือโค้ดน่ะมีอยู่ 3 บรรทัดนะคะ คล้าย ๆ ของเดิมเลยนะ แต่สังเกต

1593
02:07:03,729 --> 02:07:07,729
เห็นไหมคะ ว่าตรง range ครูเปลี่ยนไป

1594
02:07:13,831 --> 02:07:17,831
ครูใช้ range (n + 1)

1595
02:07:19,131 --> 02:07:19,401
นะคะ (n + 1) เช่น ครูกำหนดให้

1596
02:07:19,401 --> 02:07:23,401
n = 3 เพราะฉะนั้น range

1597
02:07:25,123 --> 02:07:29,123
ตรงนี้มันคือ 3 + 1

1598
02:07:29,878 --> 02:07:33,878
เป็น range 4 ใช่ไหมคะ range ()

1599
02:07:39,147 --> 02:07:42,714
ค่าที่เป็นไปได้มี

1600
02:07:42,714 --> 02:07:46,714
อันนี้ตามที่เราเข้าใจนะคะ จะรวมต้นจาก 0 (1)

1601
02:07:49,961 --> 02:07:53,961
0, 1, 2, 3 เป็นลิสต์ข้อมูลนะคะ มีอยู่ทั้งหมด 4 ตัว เราต้อง

1602
02:07:59,154 --> 02:08:03,154
ทำงานกี่รอบ 4 รอบ ใช่ไหมคะ เขามีข้อมูล

1603
02:08:07,152 --> 02:08:11,152
อยู่ 4 ตัว จะต้องทำงานทั้งหมด 4 รอบ i

1604
02:08:14,167 --> 02:08:15,534
เป็น 0 เห็นไหมคะ ตามที่เราเขียนด้านบนนี้เลย

1605
02:08:15,534 --> 02:08:18,844
0 , 1,

1606
02:08:18,844 --> 02:08:20,299
2, 3 i

1607
02:08:20,299 --> 02:08:24,299
จะมีค่าที่เป็นไปได้อยู่ 4 ค่าด้วยกัน คือ 0, 1

1608
02:08:31,174 --> 02:08:35,174
2, 3 จากนั้นเราหาจำนวนรอบใช่ไหมคะ

1609
02:08:35,236 --> 02:08:39,236
อันนี้คือค่าที่เป็นไปได้ ตรงนี้เราก็ติ๊กถูกหมดเลย

1610
02:08:44,203 --> 02:08:45,235
เพราะฉะนั้น จำนวนที่ทำคือ 4 ครั้ง

1611
02:08:45,235 --> 02:08:49,235
บรรทัด Total

1612
02:08:55,179 --> 02:08:59,179
คำสั่ง Total นี่จะทำงาน 4 ครั้ง คำสั่ง for i in range ก็ทำอยู่ 4 ครั้ง

1613
02:09:00,687 --> 02:09:04,687
แล้วเมื่อแทนด้วย n ใด ๆ เห็นไหมคะ

1614
02:09:05,785 --> 02:09:06,246
n ใด ๆ

1615
02:09:06,246 --> 02:09:10,022
n เดิมเราเป็น 3 ทำอย่างไรจะเป็น 4 ได้ ก็ต้องบวกอะไรคะ

1616
02:09:10,022 --> 02:09:14,022
+ 1 ใช่หรือเปล่า 3 + 1

1617
02:09:17,078 --> 02:09:21,078
เท่ากับข้างบนเลย ตรงนี้นะคะ ก็คือ 3 + 1

1618
02:09:23,461 --> 02:09:27,461
มันเลยเท่ากับ 4

1619
02:09:27,718 --> 02:09:31,718
เพราะฉะนั้น ตรงนี้กลายเป็น n + 1 นะคะ

1620
02:09:33,228 --> 02:09:37,228
เพราะเมื่อแทน n ด้วย 3  3 + 1

1621
02:09:41,717 --> 02:09:42,541
เท่ากับ 4 มันเท่ากับตัวข้างบนเลย เพราะฉะนั้น

1622
02:09:42,541 --> 02:09:46,541
เราจึงบอกได้นะคะ

1623
02:09:48,197 --> 02:09:52,197
ว่าคำสั่งแต่ละคำสั่งในโค้ด 3 บรรทัดนี้่ จะทำงานกี่รอบ

1624
02:09:59,215 --> 02:10:01,676
แต่ละคำสั่งในโค้ด 3 บรรทัดนี่จะทำงานกี่รอบ บรรทัดที่ 1 ทำงาน 1 รอบ

1625
02:10:01,676 --> 02:10:05,676
เขียนไว้ก่อน มันอยู่นอกลูป

1626
02:10:09,590 --> 02:10:12,573
ทำงาน 1 รอบแน่นอน บรรทัดที่ 2

1627
02:10:12,573 --> 02:10:16,573
นี่มันทำงาน n + 1 ครั้ง เราก็เขียนไว้ข้างหลังก่อน ถูกไหมคะ บรรทัดที่ 3 ทำงานกี่ครั้ง

1628
02:10:22,662 --> 02:10:24,859
นี่ไง n + 1 ครั้ง

1629
02:10:24,859 --> 02:10:28,859
เมื่อเราหาค่า n ตรงนี้ได้แล้ว ย้อนกลับขึ้น

1630
02:10:36,295 --> 02:10:40,295
ไปเขียนตรงหลังคำสั่งแต่ละคำสั่งด้วย ว่าอันนี้คือทำงาน n + 1 ครั้ง

1631
02:10:46,989 --> 02:10:50,989
อันนี้คือทำงาน n + 1 ครั้ง เราลองแทนค่า

1632
02:10:52,274 --> 02:10:52,960
n ด้วย 3 เห็นหรือเปล่า ตรงนี้ก็

1633
02:10:52,960 --> 02:10:56,960
ทำงาน 4 ครั้ง ตรงกันเลย

1634
02:11:00,428 --> 02:11:04,428
มันก็จะตรงกับข้อนี้ คือ ทำงาน 4 ครั้ง

1635
02:11:07,456 --> 02:11:09,659

1636
02:11:09,659 --> 02:11:13,659
เสร็จแล้วครูจะหาค่า f(n)

1637
02:11:19,256 --> 02:11:19,638
ก็เอาแต่ละบรรทัดมาเขียนไหม 1 +

1638
02:11:19,638 --> 02:11:23,638
n + 1 นะคะ ครูก็กระจายค่าออกมา 1 + n + 1

1639
02:11:30,742 --> 02:11:34,571
+ n +1 + n

1640
02:11:34,571 --> 02:11:37,202
จะได้เท่ากับ 1n + 1n ก็กลายเป็น 2n นะคะ 1 + 1 +1

1641
02:11:37,202 --> 02:11:39,859
ก็กลายเป็น 3

1642
02:11:39,859 --> 02:11:43,859
หาค่า Big-O เลือก n

1643
02:11:48,884 --> 02:11:52,278
n ที่มากที่สุด ก็คือตัวนี้ ก็ได้เป็น O(n)

1644
02:11:52,278 --> 02:11:56,278
นะคะ เราเลือกค่า n ที่มากที่สุด ก็คือ ฯ

1645
02:12:02,118 --> 02:12:06,118

1646
02:12:11,287 --> 02:12:15,286

1647
02:12:15,286 --> 02:12:16,300
ตัวสุดท้าย

1648
02:12:16,300 --> 02:12:18,889

1649
02:12:18,889 --> 02:12:22,889
ก่อนเลิกนะ เดี๋ยวช่วยครูทำหน่อย ก่อนเลิก ครูมีโจทย์นะ

1650
02:12:30,610 --> 02:12:34,610
ครูมีโจทย์นะ range

1651
02:12:38,694 --> 02:12:42,694
ให้ n = 3 ช่วยครูหน่อยคะ หาว่าค่า i ที่เป็นไปได้ จะมีค่าอะไรที่

1652
02:12:43,675 --> 02:12:44,417
เป็นอะไรได้บ้าง 3 - 1 เป็นอะไรได้บ้างคะ

1653
02:12:44,417 --> 02:12:48,417
2 เพราะค่าที่เป็นไปได้คือค่าอะไรได้บ้างคะ

1654
02:12:52,604 --> 02:12:56,604
เริ่มต้นที่ 0 เพราะว่าไม่มีอะไรนี่ ครูไม่ได้บอกว่าเริ่มต้นที่เท่าไรถูกหรือเปล่า

1655
02:12:59,379 --> 02:13:03,379
ถ้าครูไม่ได้กำหนดก็ต้องเริ่มต้นที่ 0 แล้วก็

1656
02:13:04,613 --> 02:13:08,613
1 มี 2 ไหมไม่มีใช่ไหมคะ

1657
02:13:09,738 --> 02:13:13,738
range(2)

1658
02:13:15,794 --> 02:13:16,228
ค่าเป็น 0 กับ 1 ทำงานกี่รอบ

1659
02:13:16,228 --> 02:13:20,228
2 รอบถูกหรือเปล่า

1660
02:13:22,411 --> 02:13:25,476
ทำงาน 2 รอบ ตอนนี้ทุกคนทำงาน 2 รอบ ทุกคน

1661
02:13:25,476 --> 02:13:29,476
รู้ว่าทำงาน 2 รอบ ติ๊กถูกไปก่อน

1662
02:13:29,757 --> 02:13:33,757
ใช่ไหมคะ ค่าที่ได้คือ 0 กับ 1 ค่า i ที่เป็นไปได้ คือ

1663
02:13:34,017 --> 02:13:35,589
0 กับ 1 ทำงาน 2 รอบ

1664
02:13:35,589 --> 02:13:38,105
n

1665
02:13:38,105 --> 02:13:42,105
ต้องลบเท่าไรคะ ถึงจะเป็น 2

1666
02:13:42,449 --> 02:13:46,449
ตอนนี้ n เป็น 3 3 ลบอะไรจึงจะ

1667
02:13:50,971 --> 02:13:54,162
เป็น 2  3 - 1 = 2

1668
02:13:54,162 --> 02:13:57,361
เพราะฉะนั้น แทน 3 ก็คือ n ถูกหรือเปล่า ก็เลย

1669
02:13:57,361 --> 02:13:57,392
กลายเป็น n - 1

1670
02:13:57,392 --> 02:14:00,876
โอเค

1671
02:14:00,876 --> 02:14:04,876
n - 1

1672
02:14:15,345 --> 02:14:17,168
มาจากไหน เดิม n=3 ถูกหรือเปล่า

1673
02:14:17,168 --> 02:14:19,375

1674
02:14:19,375 --> 02:14:23,375
ทำอย่างไรให้ n=2

1675
02:14:27,678 --> 02:14:31,678
n - 1 มันก็เลยจะเป็นเท่ากับ 2 เพราะฉะนั้น บรรทัดที่ 1 ทำงาน 1 ครั้ง บรรทัดที่ 2 ทำงาน

1676
02:14:39,176 --> 02:14:43,176
n-1 ครั้ง บรรทัดที่ 3 ก็ n - 1

1677
02:14:44,898 --> 02:14:46,714
เอาตัวเลขมาบวกกัน 1 +

1678
02:14:46,714 --> 02:14:48,760
n-1 + n-1

1679
02:14:48,760 --> 02:14:50,376
เท่ากับเท่าไร ครูกระจายก่อน

1680
02:14:50,376 --> 02:14:54,376
1 + n -1

1681
02:15:03,371 --> 02:15:06,308
+ n - 1 = 2(n)

1682
02:15:06,308 --> 02:15:10,308
ตัวนี้ตัดได้ถูกไหม 1

1683
02:15:14,412 --> 02:15:18,179
-1 เพราะฉะนั้น Big-O คืออะไรคะ

1684
02:15:18,179 --> 02:15:22,179
O(n)

1685
02:15:27,387 --> 02:15:31,387

1686
02:15:35,392 --> 02:15:39,392

1687
02:15:43,398 --> 02:15:47,398
มีใครงงไหม เริ่มงงตรงไหนไหมคะ

1688
02:15:48,551 --> 02:15:52,551

1689
02:15:59,410 --> 02:16:03,410

1690
02:16:03,417 --> 02:16:07,414

1691
02:16:07,414 --> 02:16:11,414

1692
02:16:11,418 --> 02:16:15,418

1693
02:16:15,422 --> 02:16:19,422

1694
02:16:19,426 --> 02:16:23,426

1695
02:16:23,434 --> 02:16:27,434

1696
02:16:27,441 --> 02:16:31,437

1697
02:16:31,437 --> 02:16:35,437

1698
02:16:35,444 --> 02:16:39,441

1699
02:16:39,441 --> 02:16:43,441

1700
02:16:43,444 --> 02:16:47,444

1701
02:16:47,445 --> 02:16:51,445

1702
02:16:51,445 --> 02:16:55,445

1703
02:16:55,455 --> 02:16:59,455

1704
02:17:03,461 --> 02:17:07,461
อย่างนี้นะ เดี๋ยว

1705
02:17:11,019 --> 02:17:15,019
กลับไปทวนอีกครั้งหนึ่งนะคะ เดี๋ยวพรุ่งนี้ครูจะฝากแบบฝึกหัด ครูจะพรินต์แบบนี้มาให้

1706
02:17:18,130 --> 02:17:21,411
ให้ลองทำอีกนะ สัก 2 ข้อนะคะ คนละ 1 แผ่นหน้าหลัง

1707
02:17:21,411 --> 02:17:25,368
เดี๋ยวครูจะไปฝากไว้ที่ DSS นะคะ

1708
02:17:25,368 --> 02:17:29,220
พรุ่งนี้เช้า เสร็จแล้ว

1709
02:17:29,220 --> 02:17:33,220

1710
02:17:37,289 --> 02:17:41,289
เสร็จแล้วฝากไปอ่าน

1711
02:17:49,901 --> 02:17:59,331

1712
02:17:39,630 --> 02:17:43,630
Sheet นี้ดีกว่า คืนนี้ไปนั่ง

1713
02:17:45,376 --> 02:17:49,376
อ่านชีทที่ครูให้หน่อยนะ

1714
02:17:49,911 --> 02:17:53,911
ไม่เข้าใจถามพี่เขานะคะ

1715
02:17:57,355 --> 02:18:01,355
พรุ่งนี้หลังจากที่อ่านมาแล้วนี่ ไม่เข้าใจประเด็นตรงไหน ไม่เข้าใจบรรทัดไหน ให้วงนะ ให้วงมาเลย เดี๋ยวให้พี่

1716
02:18:06,707 --> 02:18:07,840
อุ๋ยเขาอธิบายให้นะคะ ให้วงตรงที่เราไม่เข้าใจนะคะ

1717
02:18:07,840 --> 02:18:09,342
เสร็จแล้วนี่

1718
02:18:09,342 --> 02:18:13,342
เราทำแบบฝึกหัดนะคะ เดี๋ยวครูให้โจทย์

1719
02:18:18,409 --> 02:18:21,380
2 โจทย์เดี๋ยวครูทำกระดาษแบบฝึกหัดแบบนี้มาให้

1720
02:18:21,380 --> 02:18:25,209
แล้วก็ลองทำดูนะคะ ว่า

1721
02:18:25,209 --> 02:18:26,886
ถ้าครูกำหนดค่า n มาให้แบบนี้

1722
02:18:26,886 --> 02:18:30,886
จะทำงาน มีค่า i ที่เป็นไปได้ มีค่า

1723
02:18:34,201 --> 02:18:36,469
อะไรบ้าง แล้วทำงานกี่รอบ

1724
02:18:36,469 --> 02:18:40,469
เอาเริ่มต้นทำงานกี่รอบให้ได้ก่อนแล้วกัน

1725
02:18:46,889 --> 02:18:48,735
ให้ได้ก่อนแล้วกันนะคะ ครูว่าน่าจะได้แล้วล่ะ เพียงแต่ว่าอาจจะมาลงตาราง อาจจะสับสนนิดหน่อยนะ

1726
02:18:48,735 --> 02:18:52,735

1727
02:19:08,434 --> 02:19:12,224
ต้องลงทำแบบฝึกหัดนะคะ

1728
02:18:49,296 --> 02:18:53,296

1729
02:18:59,800 --> 02:19:03,800
มันน่าจะเข้าใจมากขึ้น

1730
02:19:11,529 --> 02:19:15,529

1731
02:19:15,529 --> 02:19:19,528

1732
02:19:19,528 --> 02:19:23,528

1733
02:19:27,540 --> 02:19:29,916
เดี๋ยวครูเช็กชื่อหน่อยอุ๋ย โอเค ศิริลักษณ์

1734
02:19:29,916 --> 02:19:31,550
อ๋อ อดิศร

1735
02:19:31,550 --> 02:19:35,257
มาค่ะ นพกิต

1736
02:19:35,257 --> 02:19:39,257
พงพร

1737
02:19:40,136 --> 02:19:40,599
จันทการ

1738
02:19:40,599 --> 02:19:44,590
ไหน

1739
02:19:44,590 --> 02:19:48,590
กัญญาณัฐ

1740
02:19:56,285 --> 02:20:00,285
ติดโควิด ธัญลักษณ์

1741
02:20:00,408 --> 02:20:01,954
ค่ะ วริษา

1742
02:20:01,954 --> 02:20:04,967
ภัทรลดา

1743
02:20:04,967 --> 02:20:08,967
อ๋อ เทพอักษรค่ะ

1744
02:20:13,575 --> 02:20:17,575

1745
02:20:17,815 --> 02:20:19,813

1746
02:20:19,813 --> 02:20:20,879
ภากรณ์

1747
02:20:20,879 --> 02:20:24,879
เป็นเสี่ยงค่ะ โอเค

1748
02:20:26,984 --> 02:20:28,591
โอเค

1749
02:20:28,591 --> 02:20:32,591
ค่ะ เดี๋ยวเจอกันสัปดาห์หน้านะ

1750
02:20:34,934 --> 02:20:38,008
ค่ะ

1751
02:20:38,008 --> 02:20:41,921
ค่ะ สวัสดีค่ะ

1752
02:20:41,921 --> 02:20:45,921

1753
02:20:48,695 --> 02:20:51,438
เรียบร้อยแล้วค่ะ ขอบคุณค่ะ ล่าม [สิ้นสุดการถอดความ]

1754
02:20:51,438 --> 02:20:52,668

1755
02:20:52,668 --> 02:20:56,668

1756
02:21:07,580 --> 02:21:11,580


