Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranรฎ)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
1 1
Welcome to the data structures 2
2
and algorithms for Java course. 3
3
Congratulations on making a great decision 4
4
to take this course. 5
5
As a software developer, it's important that you understand 6
6
the options available to you in terms of the data structures 7
7
you can use in your applications, 8
8
and the algorithms you can use to sort and search data. 9
9
So we're gonna start the course 10
10
by going over a few definitions. 11
11
We're going to discuss what is a data structure, 12
12
and what is an algorithm, 13
13
and then we're going to also cover Big O notation. 14
14
Big O notation is a way of comparing 15
15
how different algorithms perform in an objective manner 16
16
that doesn't rely on hardware. 17
17
We're gonna cover a bunch of data structures 18
18
in this course, and some of those are abstract data types, 19
19
and you'll learn what those are in the course. 20
20
So we're gonna cover arrays, lists, stacks, queues, 21
21
hashtables, trees, and we're gonna focus 22
22
mainly on binary search trees in the tree section, 23
23
heaps and a very brief look at sets. 24
24
For algorithms we're going to cover search algorithms 25
25
there are only two that we're gonna cover, 26
26
linear search and binary search. 27
27
We're gonna look at a whole bunch of sort algorithms 28
28
I won't list them all, but just to sample a few 29
29
bubble sort, merge sort, quick sort, 30
30
Radix sort, insertion sort, quite a number of others, 31
31
and we're also gonna look at recursion. 32
32
That might be review for you, but many of the algorithms 33
33
use recursion and so we're going to review 34
34
what recursion is and how it works. 35
35
So the way that most sections will go, 36
36
is we'll start with some theory 37
37
for example if we're discussing an algorithm 38
38
we'll go over the steps for the algorithm. 39
39
If we're talking about a data structure, 40
40
we'll discuss what the data structure is, 41
41
and what's it's advantages and disadvantages are, 42
42
and then we'll code when it comes to a data structure 43
43
a simple implementation if it's an algorithm 44
44
we'll code a representative implementation, 45
45
and after that we'll look at what's available in the JDK 46
46
because this is a for Java course 47
47
and in practise you're not going to code the algorithms 48
48
and the data structures, because the Java team 49
49
has already done that for us most of the time. 50
50
There are cases where there isn't much available 51
51
in the JDK, but for the data structures we'll be looking at 52
52
there's good support in the JDK for most of them, 53
53
and when it comes to the sort algorithms the JDK 54
54
does have methods for sorting collections. 55
55
Now it's important that you watch the videos in order 56
56
because later videos assume you know what we've covered 57
57
in earlier videos. 58
58
So later sections build on earlier sections. 59
59
For example, when we get down to a stack 60
60
we'll say well you can implement a stack using a link list. 61
61
Well if you don't understand link list 62
62
because you haven't watched the list section 63
63
you might have trouble following the discussion about stacks 64
64
and so to get the most out of this course, 65
65
it's best that you watch the videos in order. 66
66
Even if you think that some of the videos might be review 67
67
you never know you might pick up something 68
68
that you didn't know. 69
69
I've been a software developer for over 25 years 70
70
and every time I take a tech course 71
71
I always watch the videos from beginning to end 72
72
because usually there's one or two little nuggets 73
73
that I pick up that I didn't already know. 74
74
So to get the best out of the course I recommend 75
75
that you watch the videos in order. 76
76
Okay, so I didn't wanna spend a long time 77
77
introducing the course, 78
78
cause I know you wanna get into the material, 79
79
and so do I so let's get going. 80
80
I'll see you in the next video.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.