数据结构和算法确实是几乎所有技术面试中的必修课。无论是谷歌、微软、亚马逊,还是任何其他大型科技公司——他们在招聘过程中都会根据数据结构和算法提出各种问题。
并且您不需要仅仅因为解决了几个编码问题就必须具备数据结构和算法的体面知识,但除了您的编程或技术技能之外,它还可以让面试官评估您解决问题的能力以及您的最佳和有效解决方案可以提供一个特定的问题。
然而,有些人经常像对待其他计算机科学学科一样对待 DS 和算法,甚至倾向于忽略它们。虽然这背后可能有很多原因,例如——缺乏指导和指导,没有优质的学习资源等。
但是 GeeksforGeeks 已经解决了所有人的这个主要问题,因为我们为您提供了DSA Live Classes for Working Professionals课程,您将在其中学习所有数据结构和算法概念,以破解您梦想中的公司的面试!顾名思义,该课程将对工作专业人士非常有益,因为课程将安排在周末 – 周六和周日。
课程详情
这将是一个以面试为中心的广泛在线(现场)计划,以建立和提高您的 DSA 技能。本课程旨在通过增强您对数据结构和算法的理解来帮助您提高解决问题和编码技能。本课程的主要目标是帮助您准备亚马逊、微软、优步等公司的编码面试。
由于它将是在线直播课程 – 您可以从任何地理位置参加该课程,并且可以向讲师提出您的疑问或疑问,类似于离线课堂课程。虽然该课程对所有想要学习数据结构和算法的人开放,但主要推荐给准备实习驱动的预科生/最后一年的学生和正在寻找工作变动的员工。
本课程的一些突出特点如下:
- 疑难解答 (TA)
- 批次实力有限 – 30 名候选人
- 课程结业证书
- 6 个月访问本课程的录制现场讲座
- 除此之外,您还可以免费访问价值 5999 印度卢比的 DSA 课程的课程内容——具有一些显着的特点:
- Sandeep Jain 先生的优质讲座视频
- 专门的主题内容
- 每周评估测试和练习曲目
- 7天主动解疑门户
此 Geeks Classes – Live Session Course 以10,999 印度卢比/- 的折扣价提供给您。您可以按照以下步骤轻松注册此直播课程:
- 步骤 1:首先,访问DSA Live Classes for Working Professionals的官方页面
- 第 2 步:在这里,您需要单击“立即注册”按钮并在表单中提供所需的详细信息。
- 第 3 步:然后,您需要支付费用。
- 第 4 步:然后您将成功注册课程,并可以按照时间表参加现场课程。
课程内容
第 1 周:
- 算法分析——通过程序及其功能进行背景分析
- 渐近符号–通过程序的最佳、平均和最坏情况解释
- 数组–介绍和优点,数组类型(固定大小数组,动态大小数组),数组操作(搜索、插入、删除、数组与其他 DS、反转 – 复杂性解释)
- 问题–数组左转 1,数组左转 D 个位置,数组中的领导者,最大差问题,股票买卖问题,捕获雨水问题,最大子数组和,最长奇偶子数组,最大圆sum 子数组、Majority Element、滑动窗口技术、Prefix sum 技术等。
- 基本递归
第 2 周:
- 基本位操作
- C++ 中的按位运算符– AND、OR、XOR运算符、左移、右移和按位非运算
- Java的位运算符– AND、OR 运算、按位非运算、左移、右移运算和无符号右移
- 问题–检查第 K 位是否设置(方法 1:使用左移,方法 2:使用右移)
- 问题–计数设置位(方法 1:简单方法,方法 2:Brian 和 Kerningham 算法,方法 3:使用查找表)
- 问题–检查一个数是否为 2 的幂,数组中出现奇数,数组中出现奇数的两个数,使用按位运算运算符生成幂集
- 散列–介绍和时间复杂度分析,散列的应用,直接地址表的讨论,各种散列函数的工作和示例,冲突处理的介绍和各种技术,链接及其实现,开放寻址及其实现,链接 V/S Open寻址、双哈希、C++(无序集、无序映射)、 Java (HashSet、HashMap)
- 问题–计算不同元素、计算数组元素的频率、两个数组的交集、两个未排序数组的并集、未排序数组中给定和的配对、零和的子数组、给定和的子数组、最长的子数组给定的总和,具有相同数量 0 和 1 的最长子数组,二进制数组中具有相同总和的最长公共跨度,最长连续子序列,每个窗口中的不同元素计数
第 3 周:
- 字符串–字符串 DS 的讨论,问题(给定一个字符串:检查它们是否是彼此的字谜,找到最左边重复的字符,找到最左边不重复的字符,在 O(n) 中找到它的字典顺序时间,前面讨论的字典排序问题的实现,给定一个文本字符串和一个模式字符串,查找文本中是否存在模式的排列,给定两个字符串,检查它们是否相互旋转,各种模式搜索算法)
- 链表–介绍、CPP 实现、 Java实现、与数组 DS 的比较、双向链表、循环链表、循环问题(检测循环、使用 Floyd 循环检测检测循环)
第 4 周:
- 链表问题——链表中间、链表末尾第N个节点、不访问链表头指针删除节点、反转链表的迭代方法、反转链表的递归方法、奇偶分离链表的节点,两个链表的交集,链表的成对交换节点,使用随机指针克隆一个链表,LRU缓存设计
- 栈——理解栈数据结构,栈的应用,栈在数组和链表中的实现(C++, Java)
- 问题–平衡括号、数组中的两个堆栈、数组中的 K 个堆栈、带有变化的库存跨度问题、前一个大元素、下一个大元素、直方图中的最大矩形区域
- 队列–介绍和应用,使用数组和 LinkedList 实现队列(在 C++ STL 中,在Java,使用队列的堆栈)
- 问题–反转队列,生成具有给定数字的数字,所有大小为 k 的子数组的最大值
第 5 周:
- 二叉树——介绍、树、应用、二叉树、树遍历
- 实现– 中序遍历、前序遍历、后序遍历、层序遍历(逐行)、螺旋形式的树遍历
- 问题– 二叉树的大小、二叉树的最大值、二叉树的高度、K 距离打印节点、打印二叉树的左视图、子树的总和属性、检查平衡二叉树、二叉树的最大宽度、将二叉树转换为双向链表,从中序和前序构造二叉树,二叉树的直径,LCA 问题的有效解决方案
- 二叉搜索树——背景、介绍和应用、BST中搜索的实现(In CPP、In Java)、BST中的插入(In CPP、In Java)、BST中的删除(In CPP、In Java)、BST中的Floor(In CPP,在Java)
- 自平衡 BST 、 AVL 树、红黑树、C++ STL 设置、C++ STL 映射、 Java的TreeSet、 Java中的 TreeMap
- 问题– BST 中键的上限,数组左侧的上限,在 BST 中找到第 K 个最小的,检查 BST,用交换的两个节点修复 BST,与给定的 BST 对和,二叉树中的垂直和,垂直二叉树的遍历,二叉树的顶视图,二叉树的底视图
第 6 周:
- 堆——介绍和实现
- 二叉堆——插入、堆化和提取、减少键、删除和构建堆
- 堆排序
- C++中的优先队列
- Java的优先队列
- 问题– 排序 K 排序数组、购买具有给定总和的最大项、K 个最大元素、合并 K 个排序数组、流的中值
- 图算法– 图简介、图表示(邻接矩阵、CPP 和Java的邻接列表、邻接矩阵 VS 列表)、广度优先搜索(应用程序)、深度优先搜索(应用程序)
第 7 周:
- 图算法
- 问题——未加权图中的最短路径、岛屿数、蛇梯、检测循环(在无向图中、在有向图中)、拓扑排序(Kahn 的基于 BFS 的算法、基于 DFS 的算法)
- 有向无环图中的最短路径
- 贪心算法——介绍,活动选择问题,分数背包,工作排序问题
第 8 周:
- 动态规划– 介绍,动态规划(记忆化,制表)
- 问题– 最长公共子序列、硬币变化计数组合、编辑距离问题(朴素方法、DP 方法)、最长增加子序列问题(朴素方法、有效方法)、最大削减、产生价值的最小硬币、达到的最小跳跃end, 0-1 背包问题(Naive Approach, Efficient Approach),游戏的最优策略,最长公共子序列的变异,最长递增子序列的变异,落蛋问题
常见问题 (FAQ)
一季度。这是一门特定于语言的课程吗?
答。是的,论坛和疑问帮助仅适用于C++ 和Java 。
Q2。我们有任何安置援助吗?
答。在本课程中,我们实际上是在为您的面试做准备。是的,我们有一个招聘平台,您可以在其中查看当前的职位空缺,完成本课程后,您可以申请其中任何一个。
Q3。谁有资格参加本课程?
答。该课程对所有人开放。虽然强烈建议准备实习计划的预科生/最后一年的学生和正在寻找工作变动的员工。
第 4 季度。完成课程后我会获得任何证书吗?
答。是的,除了获得认证外,您还可以在 6 个月内访问本课程的录制现场讲座,并访问其他在线数据结构和算法课程。
此DSA 实时课程面向工作专业人士 课程 肯定会帮助您方便地精通数据结构和算法技能,以进入您梦寐以求的工作——您所需要的只是一个有效的互联网连接和一台笔记本电脑或个人电脑。现在,你还在等什么..??一定要尽快注册!!