|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/the-data-structures-algorithms-and-time-complexity-guide/
课程评论:没有评论
Coursera 课程《数据结构、算法与时间复杂度指南》是一个为期不长的面试准备课程,旨在帮助学员掌握最常见、最具挑战性的编码面试问题。课程涵盖了数据结构、算法的核心概念,以及分析算法时间复杂度(Big-O 符号)的方法,并提供了 C# 语言的实践示例。 **课程亮点:** * **面试为导向:** 重点关注 FANG(Facebook, Google, Amazon, Netflix)等顶级科技公司常考的面试题,帮助学员理解面试官的思路。 * **实战编码:** 通过大量的 C# 动手编码示例,训练学员快速解决问题的能力。 * **全面题型覆盖:** * **字符串/数组:** 反转字符串单词、旋转数组、同构字符串、数组中第 k 大的元素。 * **矩阵:** 矩阵置零、螺旋矩阵、岛屿数量。 * **链表:** 用数组实现栈、两数相加(链表表示)、反转链表。 * **树:** 二叉树的各种遍历(中序、前序、后序)、二叉树的最大路径和。 * **图:** 克隆无向图。 * **排序与时间复杂度:** 冒泡排序、选择排序、插入排序、快速排序、归并排序,以及它们的复杂度分析。 * **动态规划:** 零钱兑换、编辑距离、不同的子序列、最大子数组和。 * **位运算:** 位运算符和移位运算符、single number、不用 +/- 求和、1 的数量、反转比特位、范围内的按位与。 * **时间复杂度分析:** 详细讲解 Big-O 符号,从“糟糕”到“优秀”的各种时间复杂度类型,并对各种排序算法的时间复杂度进行分析。 **目标人群:** * 准备 C# 编程面试的初学者。 * 希望巩固数据结构与算法知识,提升面试表现的开发者。 * 想要学习如何清晰地阐述解题思路的学员。 通过本课程的学习,学员将能更自信地应对技术面试,掌握解决常见算法问题的有效方法,并提升代码的效率和可读性。
Data Structures + Algorithms to Crack the Coding InterviewOnly in The Data Structures, Algorithms and Time Complexity Guide, learn the best way to answer an interview question, look at the most commonly asked questions, and analyze time complexity of various algorithms.Interview Question Solutions and Time ComplexityLearn through hands-on coding examples and learn to solve problems quickly.Refresh your C# knowledge and solve new problems with the most common beginner interview questions asked by FANG companies.Algorithms & Data Structures - Ultimate Coding Interview PrepLearn the most commonly asked questions by the likes of Facebook, Google, Amazon and Spotify for beginners.Preparing for the C# interview is hard. You need to understand not only concepts but also be able to articulate your thought process as you plan and execute a solution.COURSE BREAKDOWNSection 0: Introduction to Interview QuestionsCourse OverviewFizzBuzz: Print the numbers from 1 to 100 and for multiples of '3' print "Fizz" instead of the number and for the multiples of '5' print "Buzz".Types of Time Complexity: Learn the types of time complexity in Big-O Notation in order of horrible to good.Section 1: String/Array Interview Questions01 Reverse Words in a String: Given an input string, reverse the string word by word.02 Rotate Array: Rotate an array of n elements to the left by k steps.03 Isomorphic Strings: Given two strings a and b, determine if they are isomorphic. 04 Kth Largest Element in an Array: Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.Section 2: Matrix Interview Questions01 Set Matrix Zeroes: Given a 2D matrix, if an element is 0, set its entire row and column to 0. Do it in place.02 Spiral Matrix: Given a 2D matrix, return all elements of the matrix in spiral order.03 Number of Islands: Given a 2D grid map of 1s (land) and 0s (water), count the number of islands.Section 3: Linked List Interview Questions01 Implement a Stack Using an Array: Implement a stack using an array.02 Add Two Numbers: You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. 03 Reverse a Linked List: Reverse a singly linked list.Section 4: Tree Interview Questions01 Inorder Traversal: Perform inorder traversal on a binary tree.02 Preorder Traversal: Perform inorder traversal on a binary tree.03 Postorder Traversal: Perform inorder traversal on a binary tree.04 Binary Tree Maximum Path Sum: Given a binary tree, find the maximum path sum. Section 5: Graph Interview Questions01 Clone an Undirected Graph: Each node in the graph contains a label and a list of its neighbors.Section 6: Sorting and Time Complexity01 Bubble Sort Algorithm: Sort a list with bubble sort.02 Selection Sort Algorithm: Sort a list with selection sort.03 Insertion Sort Algorithm: Sort a list with insertion sort.04 Quick Sort Algorithm: Sort a list with Quick Sort.05 Merge Sort Algorithm: Sort a list with Merge Sort.06 Time Complexity of Different Sorting AlgorithmsSection 7 Dynamic Programming Interview Questions01 Coin Change: You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. 02 Edit Distance: Find the edit distance between two strings.03 Distinct Subsequences: Given a string S and a string T, count the number of distinct subsequences of T in S.04 Maximum Sum Subarray: Find the sum of contiguous subarray within a one-dimensional array of numbers which has the largest sumSection 8 Bit Manipulation Interview Questions01 Bitwise and Shift Operators: Manipulate bits and shift bits to change values.02 Single Number: Given an array of integers, every element appears twice except for one. Find that single one.03 Sum of Two Integers: Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.04 Number of 1 Bits: Take an unsigned integer and return the number of '1' bits it has (also known as the Hamming weight.)05 Reverse Bits: Reverse the bits of a given 32 bit unsigned integer.06 Bitwise AND of a Range: Given two non-negative long integers, a and b and given a