در این آموزش تصویری با الگوریتم و ساختمان داده در Java آشنا می شوید. در این دوره نحوه کار با ساختارهای داده ای مانند آرایه ، لیست پیوندی ، پشته ، صف ، درخت جستجوی دودویی را می آموزید. در ادامه نحوه استفاده از زبان برنامه نویسی جاوا ، کار با الگوریتم های مختلف ، مرتب سازی داده ها و عملیات روی درخت جستجوی دودویی را نیز خواهید آموخت.
این دوره آموزشی محصول موسسه Udemy است.

سرفصل های دوره:

  • کار با الگوریتم ها
  • کار با الگوریتم Euclid’s
  • نحوه مرتب سازی حبابی
  • نحوه آنالیزکردن الگوریتم
  • محاسبه پیچیدگی زمانی
  • کار با RAM
  • نحوه نشانه گذاری O
  • نحوه مقایسه زمان
  • کار با الگوریتم های جستجو
  • نحوه مرتب سازی انتخابی
  • نحوه مرتب‌سازی درجی
  • جستجو عناصر در یک آرایه مرتب
  • جستجو عناصر در یک آرایه نامرتب
  • حذف آیتم ها در آرایه
  • لیست پیوندی چیست؟
  • پیاده سازی لیست پیوندی در جاوا
  • محاسبه طول یک لیست پیوندی
  • نحوه حذف گره در لیست پیوندی
  • نحوه افزودن گره در لیست پیوندی
  • کار با پشته و صف
  • پیاده سازی پشته با استفاده از آرایه
  • پیاده سازی صف با استفاده از آرایه
  • کار با انواع داده ها
  • نحوه مرتب‌سازی ادغامی
  • کار با درخت جستجوی دودویی
  • پیدا کردن یک آیتم در درخت جستجوی دودویی
  • پیدا کردن کوچکترین و بزرگترین ارزش داده
  • پیچیدگی عملیات در درخت جستجوی دودویی
  • کار با الگوریتم های مرتب سازی
  • نحوه حذف ریشه
  • کار با صف اولویت
  • مرتب سازی پشته
  • و…

عنوان دوره: Udemy Introduction to Data Structures And Algorithms in Java
مدت زمان: 5 ساعت
نویسنده: Raghavendra Dixit


توضیحات:

Udemy Introduction to Data Structures And Algorithms in Java

Raghavendra Dixit
5 Hours
All Levels

Designed to help understand the fundamentals of DS & Algorithms really well. A must have for programming interviews.
This course introduces some basic data structures (arrays, linked lists, stacks, queues, trees and heaps) and algorithms (various sorting algorithms, and algorithms for operations on binary search trees and heaps). We will also cover recursion in this course. Use of graphics and animations makes the lectures very easy to understand and digest. After taking this course, you will loose your fear for data structures and algorithms.
What are the requirements?
Although any programming language may be used by the student, we use the java programming language to implement algorithms.
What am I going to get from this course?
Be able to know and implement various data structures and algorithms
Be able to write your own algorithms and understand if their running time is good or bad
What is the target audience?
Anyone who wants to learn data structures and algorithms (introductory)
Anyone appearing for interviews, can be used to understand from grounds up, or as a quick revision

Section 1: Introduction to Algorithms
Lecture 1
Introduction
01:08
Lecture 2
Euclid's algorithm
04:49
Lecture 3
Bubble Sort algorithm
02:52
Lecture 4
Why study data structures & algorithms
03:10
Lecture 5
Correctness of an algorithm
01:35
Quiz 1
Chapter Quiz
2 questions
Section 2: Analysis of Algorithms
Lecture 6
Introduction
03:20
Lecture 7
How to calculate the time complexity
02:52
Lecture 8
The RAM model of computation
02:07
Lecture 9
Time complexity of Bubble sort algorithm
03:25
Lecture 10
Pseudo code : Bubble sort algorithm
03:02
Lecture 11
The Big O notation
03:26
Lecture 12
Using Big O notation : Examples
04:41
Lecture 13
Comparison of running times
04:02
Quiz 2
Chapter Quiz
7 questions
Section 3: Basic Sorting and Search Algorithms
Lecture 14
Selection Sort
02:48
Lecture 15
Selection Sort : Pseudocode
02:34
Lecture 16
Introduction to Insertion Sort
01:56
Lecture 17
Applying Insertion Sort algorithm to cue balls
02:08
Lecture 18
Insertion Sort: Pseudocode
02:38
Lecture 19
O(n') sorting algorithms - Comparison
02:00
Lecture 20
In place sorting

Lecture 21
Stable Vs Unstable Sorts
03:46
Lecture 22
Searching elements in an un ordered array
03:16
Lecture 23
Searching elements in an ORDERED array
02:33
Lecture 24
Searching elements in an ORDERED array - contd.
05:48
Lecture 25
Inserting and Deleting items in an ORDERED array
02:08
Lecture 26
Sorting any type of object
01:33
Try to write generic sort methods, like shown in the InsertionSortWithGenerics.java, for Bubble sort and Selection sort algorithms as an exercise. But if you don't want to get into generics at this point, you may choose to skip this section.
Quiz 3
Chapter Quiz
6 questions
Lecture 27
Assignment
Section 4: Linked Lists
Lecture 28
What is a Linked List?
03:21
Lecture 29
Implementing a Linked List in Java
00:56
Lecture 30
Inserting a new Node
05:25
Lecture 31
Length of a Linked List
02:11
Lecture 32
Deleting the head node
02:11
Lecture 33
Searching for an Item
03:11
Lecture 34
Using java generics to parameterize the LinkedList
Lecture 35
Doubly Ended Lists
03:05
Lecture 36
Inserting data in a sorted Linked List
04:38
Lecture 37
Doubly Linked List
06:28
Lecture 38
Insertion Sort revisited
10:32
Quiz 4
Chapter Quiz
4 questions
Lecture 39
Assignment
Section 5: Stacks and Queues
Lecture 40
Stacks
02:41
Lecture 41
Abstract Data Types
00:37
Lecture 42
Implementing Stacks using Arrays
03:21
Lecture 43
Queues
02:32
Lecture 44
Queues using Arrays
05:29
Lecture 45
Double Ended Queues
01:58
Lecture 46
Double Ended Queues using Arrays
04:20
Quiz 5
Chapter Quiz
7 questions
Lecture 47
Assignment
Section 6: Recursion
Lecture 48
Introduction
04:33
Lecture 49
Understanding Recursion
03:04
Lecture 50
Tail recursion
02:48
Lecture 51
Tower of Hanoi
08:25
Lecture 52
Tower of Hanoi - Implementation
02:58
Lecture 53
Merge Sort
04:09
Lecture 54
Merge Sort - Pseudocode
04:24
Lecture 55
Merge Step - Pseudocode
04:32
Lecture 56
Time Complexity of Merge Sort
02:52
Quiz 6
Chapter Quiz
6 questions
Lecture 57
Assignment
Section 7: Binary Search Trees
Lecture 58
The Tree Data structure
03:41
Lecture 59
Binary Trees
03:34
Lecture 60
Binary Search Trees
02:01
Lecture 61
Finding an item in a Binary Search Tree
02:24
Lecture 62
Implementing the find method
03:02
Lecture 63
Inserting an item in a Binary Search Tree
03:34
Lecture 64
Deleting an Item : Case 1
06:06
Lecture 65
Deleting an Item - Case 2
02:58
Lecture 66
Deleting an Item - Case 3
03:44
Lecture 67
Deleting an Item - Soft Delete
01:40
Lecture 68
Finding smallest & largest values
02:33
Lecture 69
Tree Traversal : In Order
03:19
Lecture 70
Tree Traversal : Pre Order
01:58
Lecture 71
Tree Traversal : Post Order
00:56
Lecture 72
Unbalanced Trees Vs Balanced Trees
02:16
Lecture 73
Height of a Binary Tree
01:34
Lecture 74
Time Complexity of Operations on Binary Search Trees
02:16
Quiz 7
Chapter Quiz
5 questions
Lecture 75
Assignment
Section 8: More Sorting Algorithms
Lecture 76
Introduction
01:27
Lecture 77
QuickSort
04:54
Lecture 78
QuickSort: The partition step
02:21
Lecture 79
Shell Sort
05:27
Lecture 80
Shell Sort: Example
03:28
Lecture 81
Counting Sort
04:50
Lecture 82
Radix Sort
02:27
Lecture 83
Bucket Sort
03:12
Quiz 8
Chapter Quiz
3 questions
Lecture 84
Assignment
Section 9: Heaps
Lecture 85
Introduction
04:06
Lecture 86
Deleting the root
01:54
Lecture 87
Inserting an item in a heap
01:59
Lecture 88
Heaps as Priority Queues
02:30
Lecture 89
Representing heaps using Arrays
01:55
Lecture 90
Heap Sort
02:30
Lecture 91
Building a heap
04:07
Quiz 9
Chapter Quiz
5 questions