Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
1
00:00:05,490 --> 00:00:07,380
Welcome to the data structures
2
2
00:00:07,380 --> 00:00:09,810
and algorithms for Java course.
3
3
00:00:09,810 --> 00:00:12,620
Congratulations on making a great decision
4
4
00:00:12,620 --> 00:00:14,030
to take this course.
5
5
00:00:14,030 --> 00:00:17,431
As a software developer, it's important that you understand
6
6
00:00:17,431 --> 00:00:21,360
the options available to you in terms of the data structures
7
7
00:00:21,360 --> 00:00:23,530
you can use in your applications,
8
8
00:00:23,530 --> 00:00:26,740
and the algorithms you can use to sort and search data.
9
9
00:00:26,740 --> 00:00:28,014
So we're gonna start the course
10
10
00:00:28,014 --> 00:00:30,240
by going over a few definitions.
11
11
00:00:30,240 --> 00:00:33,304
We're going to discuss what is a data structure,
12
12
00:00:33,304 --> 00:00:35,230
and what is an algorithm,
13
13
00:00:35,230 --> 00:00:39,021
and then we're going to also cover Big O notation.
14
14
00:00:39,021 --> 00:00:42,620
Big O notation is a way of comparing
15
15
00:00:42,620 --> 00:00:46,210
how different algorithms perform in an objective manner
16
16
00:00:46,210 --> 00:00:48,460
that doesn't rely on hardware.
17
17
00:00:48,460 --> 00:00:50,770
We're gonna cover a bunch of data structures
18
18
00:00:50,770 --> 00:00:54,120
in this course, and some of those are abstract data types,
19
19
00:00:54,120 --> 00:00:56,860
and you'll learn what those are in the course.
20
20
00:00:56,860 --> 00:01:00,640
So we're gonna cover arrays, lists, stacks, queues,
21
21
00:01:00,640 --> 00:01:02,891
hashtables, trees, and we're gonna focus
22
22
00:01:02,891 --> 00:01:06,536
mainly on binary search trees in the tree section,
23
23
00:01:06,536 --> 00:01:10,510
heaps and a very brief look at sets.
24
24
00:01:10,510 --> 00:01:14,930
For algorithms we're going to cover search algorithms
25
25
00:01:14,930 --> 00:01:16,470
there are only two that we're gonna cover,
26
26
00:01:16,470 --> 00:01:18,920
linear search and binary search.
27
27
00:01:18,920 --> 00:01:21,160
We're gonna look at a whole bunch of sort algorithms
28
28
00:01:21,160 --> 00:01:23,680
I won't list them all, but just to sample a few
29
29
00:01:23,680 --> 00:01:26,106
bubble sort, merge sort, quick sort,
30
30
00:01:26,106 --> 00:01:29,896
Radix sort, insertion sort, quite a number of others,
31
31
00:01:29,896 --> 00:01:32,770
and we're also gonna look at recursion.
32
32
00:01:32,770 --> 00:01:36,251
That might be review for you, but many of the algorithms
33
33
00:01:36,251 --> 00:01:40,040
use recursion and so we're going to review
34
34
00:01:40,040 --> 00:01:42,483
what recursion is and how it works.
35
35
00:01:42,483 --> 00:01:44,990
So the way that most sections will go,
36
36
00:01:44,990 --> 00:01:46,830
is we'll start with some theory
37
37
00:01:46,830 --> 00:01:49,020
for example if we're discussing an algorithm
38
38
00:01:49,020 --> 00:01:51,360
we'll go over the steps for the algorithm.
39
39
00:01:51,360 --> 00:01:53,810
If we're talking about a data structure,
40
40
00:01:53,810 --> 00:01:56,010
we'll discuss what the data structure is,
41
41
00:01:56,010 --> 00:01:58,096
and what's it's advantages and disadvantages are,
42
42
00:01:58,096 --> 00:02:00,976
and then we'll code when it comes to a data structure
43
43
00:02:00,976 --> 00:02:03,647
a simple implementation if it's an algorithm
44
44
00:02:03,647 --> 00:02:06,778
we'll code a representative implementation,
45
45
00:02:06,778 --> 00:02:10,470
and after that we'll look at what's available in the JDK
46
46
00:02:10,470 --> 00:02:13,110
because this is a for Java course
47
47
00:02:13,110 --> 00:02:15,990
and in practise you're not going to code the algorithms
48
48
00:02:15,990 --> 00:02:19,060
and the data structures, because the Java team
49
49
00:02:19,060 --> 00:02:22,130
has already done that for us most of the time.
50
50
00:02:22,130 --> 00:02:24,740
There are cases where there isn't much available
51
51
00:02:24,740 --> 00:02:27,438
in the JDK, but for the data structures we'll be looking at
52
52
00:02:27,438 --> 00:02:30,211
there's good support in the JDK for most of them,
53
53
00:02:30,211 --> 00:02:35,023
and when it comes to the sort algorithms the JDK
54
54
00:02:35,023 --> 00:02:38,160
does have methods for sorting collections.
55
55
00:02:38,160 --> 00:02:41,460
Now it's important that you watch the videos in order
56
56
00:02:41,460 --> 00:02:44,270
because later videos assume you know what we've covered
57
57
00:02:44,270 --> 00:02:45,340
in earlier videos.
58
58
00:02:45,340 --> 00:02:48,359
So later sections build on earlier sections.
59
59
00:02:48,359 --> 00:02:52,680
For example, when we get down to a stack
60
60
00:02:52,680 --> 00:02:55,679
we'll say well you can implement a stack using a link list.
61
61
00:02:55,679 --> 00:02:57,860
Well if you don't understand link list
62
62
00:02:57,860 --> 00:03:00,930
because you haven't watched the list section
63
63
00:03:00,930 --> 00:03:04,810
you might have trouble following the discussion about stacks
64
64
00:03:04,810 --> 00:03:07,440
and so to get the most out of this course,
65
65
00:03:07,440 --> 00:03:09,730
it's best that you watch the videos in order.
66
66
00:03:09,730 --> 00:03:12,266
Even if you think that some of the videos might be review
67
67
00:03:12,266 --> 00:03:14,650
you never know you might pick up something
68
68
00:03:14,650 --> 00:03:15,980
that you didn't know.
69
69
00:03:15,980 --> 00:03:18,730
I've been a software developer for over 25 years
70
70
00:03:18,730 --> 00:03:20,290
and every time I take a tech course
71
71
00:03:20,290 --> 00:03:22,840
I always watch the videos from beginning to end
72
72
00:03:22,840 --> 00:03:25,690
because usually there's one or two little nuggets
73
73
00:03:25,690 --> 00:03:28,170
that I pick up that I didn't already know.
74
74
00:03:28,170 --> 00:03:30,340
So to get the best out of the course I recommend
75
75
00:03:30,340 --> 00:03:32,210
that you watch the videos in order.
76
76
00:03:32,210 --> 00:03:34,567
Okay, so I didn't wanna spend a long time
77
77
00:03:34,567 --> 00:03:36,140
introducing the course,
78
78
00:03:36,140 --> 00:03:38,180
cause I know you wanna get into the material,
79
79
00:03:38,180 --> 00:03:40,480
and so do I so let's get going.
80
80
00:03:40,480 --> 00:03:42,030
I'll see you in the next video.
7207
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.