آموزش ساختمان داده و الگوریتم در جاوا اسکریپت – خود گام

آموزش ساختار داده ها و الگوریتم ها در جاوا اسکریپت - خود گام

Data Structures & Algorithms in JavaScript – Self Paced

برنامه آموزشی جامع ۸ هفته ای برای یادگیری آسان ساختمان داده و الگوریتم با زبان برنامه نویسی جاوا اسکریپت

در این دوره آموزش ساختمان داده و الگوریتم در جاوا اسکریپت، تمام ساختارهای داده و الگوریتم های ضروری، از جمله آرایه ها ، لیست های پیوندی ، پشته ها، صف ها ، جداول هش ، درختان باینری ، الگوریتم های مرتب سازی ، الگوریتم های گراف ، برنامه نویسی پویا و غیره را پوشش خواهید داد . چه یک مبتدی یا یک توسعه دهنده با تجربه جاوا اسکریپت باشید، این دوره به شما کمک می کند تا درک خود را از ساختارهای داده و الگوریتم ها تقویت کنید و مهارت های برنامه نویسی خود را بهبود بخشید. 

آنچه خواهید در دوره آموزش ساختمان داده و الگوریتم در جاوا اسکریپت آموخت

  • از مبانی الگوریتم‌ها، نمادهای مجانبی، تحلیل پیچیدگی زمان و مکان و موارد دیگر شروع کنید.
  • در حین تمرین مسائل، پایه را از ریاضیات، بیت جادو، بازگشت، آرایه ها و الگوریتم های دیگر بسازید.
  • یادگیری و پیاده سازی الگوریتم های جستجو و مرتب سازی از پایه تا پیشرفت
  • مفاهیم اصلی رشته ها، لیست پیوندی، پشته، صف و ساختارهای داده مرتبط
  • در مفاهیم پیشرفته Hashing، Graph، Tree، BST، Heap و غیره حرفه ای شوید.
  • الگوریتم هایی مانند Kruskals، Tarjans، Kosarajus، Prims، Rabin Karp، KMP و بسیاری دیگر را تمرین کنید.
  • چگونه در جاوا اسکریپت به یک برنامه نویس و برنامه نویس قوی و کارآمد تبدیل شویم

تقسیم مباحث آموزش ساختمان داده در جاوا اسکریپت به دو بخش مقدماتی و پیشرفته

این آموزش ساختمان داده و الگوریتم در جاوا اسکریپت در دو بخش مقدماتی یا پایه و پیشرفته ارائه میشود.

DATA STRUCTURE – BASICS ، در بخش مقدماتیساختمان داده در جاوا اسکریپت با این مسائل روبرو هستیم:

Analysis of Algorithms (Background)

MATHEMATICS

Arrays

Recursion

SEARCHING

SORTING

HASHING

STRING

LINKED LIST

CIRCULAR LINKED LIST

DOUBLY LINKED LIST

STACK

QUEUE

DEQUE

TREE

BINARY SEARCH TREE

HEAP

DATA STRUCTURE – ADVANCED در بخش پیشرفته آموزش ساختمان داده و الگوریتم در جاوا اسکریپت با این مسائل روبرو هستیم:

BIT MAGIC

ARRAY

RECURSION

SEARCHING

SORTING

HASHING

STRING

LINKED LIST

STACK

QUEUE

TREE

BINARY SEARCH TREE

HEAP

GRAPH

GREEDY

BACKTRACKING

DYNAMIC PROGRAMMING

TRIE

SEGMENT AND BINARY INDEXED TREES

DISJOINT SET

همچنین میتوانیم هر مبحث را به دو بخش پایه و پیشرفته تقسیم کنیم:

در ابتدا یک معرفی و پیشینه ای از ساختمان داده و الگوریتمها و ریاضیات و … ارائه میشود، سپس برخی مباحث به صورت مقدماتی و سپس در بخش پیشرفته ارائه میشوند. برخی مباحث فقط در قسمت پیشرفته ارائه میشوند، مانند:

Graph، Greedy، Backtracking، Dynamic Programming، Trie، Segment and Binary Indexed Trees، Disjoint Set

Introduction:

Analysis of Algorithms, Asymptotic Analysis, Order of Growth

Best, Average and Worst Cases, Asymptotic Notations and more

Mathematics
Count Digits, Palindrome Number, Factorial of a number, Trailing Zeros in Factorial, GCD and HCF of two numbers and more.
Important Practice Problems

Bit Magic
Bitwise Operators, Check Kth bit is set or not, Count Set Bits, Power of Two, One Odd Occuring and more.
Important Practice Problems

Arrays
Basic – Introduction, Working of Arrays in JS, Average or Mean of an Array, Separate Even and Odd, Get Smaller Elements and more
Advanced – Left Rotate by d Places, Maximum difference, Stock Buy &Sell, Trapping Rainwater, Maximum Consecutive 1s and more
Important Practice Problems

Recursion
Basic
– Applications of Recursion, Writing Base Cases in Recursion, Tail Recursion, Practice For Recursion and more.
Advanced – Subset of a given string, Printing all Permutations, Tower of Hanoi, Josephus Problem and more.
Important Practice Problems

Searching
Basics – Binary Search, Recursive Binary Search, Analysis of Binary Search, Index of first occurrence in a sorted array and more.
Advanced – Search in Sorted Rotated Array, Median of two sorted arrays, Repeating Elements Part, Allocate Minimum Pages (Naive Method, Binary Search)
Important Practice Problems

Sorting
Basics – Sorting in JS, Stability in Sorting Algorithm, Bubble Sort, Insertion Sort, Merge Sort, Quick Sort and more
Advanced – Tail Call Elimination in Quick Sort, Kth Smallest, Minimum Difference in an Array, Chocolate Distribution Problem and more
Important Practice Problem

Hashing
Basics
– Introduction to Hashing, Hashing Application, Direct Address Table, Hashing Functions, Collision Handling and more.
Advanced – Intersection of two arrays, Union of two unsorted arrays, Pair with given sum in unsorted array, Subarray with 0 sum and more
Importan Practice Problem

Strings
Basics – Escape Sequences and Raw Strings, Formatted String in JS, String Comparison, String Operations and more
Advanced – Overview of Pattern Searching, Pattern Searching in Python, Naive Pattern Searching, Improved Naive Pattern Searching for Distinct and more
Important Practice Problems

Linked List
Basics
– Problems with Array Data Structure, Simple Linked List Implementation, Applications of Linked List, Circular and Doubly Linked List (Advantages & Disadvantages) and more.
Advanced – Reverse a linked list in groups of size k, Detect loop using floyd’s cycle detection algorithm, Detect and remove loop in linked list and more.
Important Practice Problems

Stack
Basics – Stack Data Structure, Array Implementation of Stack, Linked List Implementation of Stack, Stack Applications, Check for Balanced Parenthesis and more.
Advanced – Two stacks in an array, K Stacks in an array, Previous Greater Element, Next Greater Element, Stock span problem and more.
Important Practice Problems

Queue
Basics – Queue in JS, Queue Data Structure, Application of Queue Data structure, Implementation of Queue using Array and more.
Advanced – Queue Implementation using Circular List, Implementing stack using queue, Reversing a Queue and more.
Important Practice Problems

Deque
Basics – Deque Introduction, Deque Applications, Deque in JS, Array Implementation of Deque, Linked List Implementation of Deque and more.
Advanced – Generate numbers with given digits, Design a data structure with min/max operations, Maximums of all subarrays of size k and more.
Important Practice Problems

Tree
Basics – Tree Data Structure, Application of Tree, Binary Tree, Tree Traversal, Inorder, Preorder, Postorder Traversal, and more.
Advanced – Level Order Traversal by Line, Check for Balanced Binary Tree, Maximum Width of Binary Tree, Convert Binary Tree to Doubly Linked List and more.
Important Practice Problem

Binary Search Tree
Basics
– Introduction, Search in BST, BST insert, BST Delete, Floor in BST (Problem and Solution Idea), Self Balancing BST and more
Advanced – Ceiling on the left side in an array, Find Kth Smallest in BST, Check for BST, Fix BST with Two Nodes Swapped and more
Important Practice Problems

Heap
Basics
– Binary Heap Introduction, Heap JS Implementation, Binary Heap Insert, Binary Heap (Extract min and Heapify) and more.
Advanced – Sort K Sorted Array, Purchase Maximum Items, K Largest Elements, K Closest Elements, and more
Important Practice Porblems

Graph
Introduction to Graph, Graph Representation (Adjacency Matrix, Adjacency List), Breadth First Search, BFS for Disconnected Graph, and more.
Important Practice Problems

Greedy
Introduction to Greedy Algorithms, Activity Selection Problem, Fractional Knapsack, Fractional Knapsack in Python, Huffman Coding, and more.
Important Practice Problems

Backtracking
Concept of backtracking, Rat In a Maze, N Queen Problem, Sudoku Problem
Important Practice Problems

Dynamic Programming
Introduction to DP, Dynamic Programming Memoization, Dynamic Programming Tabulation, Longest Common Subsequence, Variation of LCS, Coin Change Count Combinations and more.
Important Practice Problems

Trie
Introduction, Representation, Search, Insert, Delete, Count Distinct Rows in a Binary Matrix
Important Practice Problems

Segment and Binary Indexed Trees
Segment Tree, Constructing Segment Tree, Range and Update Query on Segment Tree, Binary Indexed Tree, Binary Indexed Tree (An Example Problem) and more.
Important Practice Problems

Disjoint Set
Disjoint Set Introduction, Find and Union Operations on Disjoint Sets, Union by Rank, Path Compression, Kruskal’s Algorithm and more.
Important Practice Problems

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *