前置知识

对你最常使用的编程语言足够熟悉,算法不挑语言,但是你需要至少熟悉一门语言

所有代码

https://git.mashibing.com/msb_14613/algorithm-class.git

https://github.com/algorithmzuo/algorithm-primary

课程资料领取

同学们可以在”课程资料“中下载课程中所需要的软件、课件以及代码 或者访问如下资料: 算法课资料、规划、代码: 1,打开链接:https://cloud.fynote.com/share/s/7615 2,链接是所有课程介绍,内容好好阅读一下。尤其是路线部分。 3,课上所有代码:https://github.com/algorithmzuo 4,课上所有ppt文字合集、算法知识脉络及其脑图:https://github.com/algorithmzuo/class-notes 5,如果你不能翻墙,无法打开github,如下是马士兵代码平台算法课所有代码:https://git.mashibing.com/msb_14613/algorithm-class 6,每周算法直播课链接:https://www.mashibing.com/live/1240 7,学员模范笔记:https://shimo.im/docs/QxX9xy3VtTGPWpht/read

如何学习本课程

看课的时候,对每一块儿内容,看懂课上解析+自己能写出来即可。先把新手班、体系学习班看完,再看大厂刷题班,同时来跟直播课。过程中你看懂一个题,就自己写总结笔记,可以只写你自己能看懂的话,但是要求笔记能帮你回忆起算法大概的流程,能帮你在脑海中勾勒code怎么组织。这样的笔记对你复习很重要,复习就不需要看视频了,想不起来再翻视频。 不需要自己找题刷!我就推荐看课!只需要刷课上的题!因为课上覆盖了大厂需要的几乎所有题。题目总数800多个,其中包含500多的leetcode题目。几乎没有简单题,都是leetcode上最值得练的题,以及大厂真实面试题,已经为你选好了。当你想试试自己的学习状态,你可以每周三晚8点来参加算法直播课,都是大厂最近考的、不重复的算法题。 总之,跟课+练课上题+记笔记总结,这样进步最快。仔细阅读上面的材料,然后开始看课,练题。看课过程中任何困惑求解答、debug不出错误、见到新的算法面试题目不会做,都可以官网提问或者找到班主任联系我。

如何提问

1)在观看视频时如果有疑问可以点击课程上方老师的头像进行提问 2)也可以在马士兵学习平台首页 ”问答“->”答疑问诊“板块进行提问 3)找到班主任,对于算法全阶段学员可以1V1拉群答疑

课程介绍

算法和数据结构新手班的唯一意义就是让你能够听懂算法后续的课程。

新手班是一个学前准备,带学员见识一下常见的数据结构、算法以及coding细节。

很多同学没有算法基础,后面的课程听起来吃力,就需要一个解释非常全面的学前阶段,

新手班就是为这样的同学准备的。

如果听起来简单,可以跳过新手班,直接进入体系学习班进行学习。

针对人群

刚开始接触算法的IT从业者

刚开始接触算法的大学生

课程宗旨

网络上对于互联网名企算法面试的视频有不少,但是大部分课程启发程度有限,讲解也不够直白、易懂。课程致力于面向所有算法学习新手学员,用8节课(16小时)和浅显易懂的算法题目,帮助学员进入到算法学习,做到先熟悉、再深入。

课程设计和学习效果是一致的,解决学习痛苦问题,解决工作痛苦问题,解决时间成本问题,生活那么忙,总要抽出一点时间学习提升自己,那么我们就攥起拳头直打痛点,每天稳健成长一小步。

课程特点

1,只涉及简单的算法和数据结构

2,讲述直白,听懂门槛不高

3,大部分内容在后续课程都有进一步的推演、变化、深入

4,设计的题目都是面试常考题

5,逐行讲解code

算法和数据结构新手班ppt文字版合集

算法和数据结构新手班课程内容(1~8节)

01 位运算、算法是什么、介绍位运算和简单排序
内容:
讲解二进制、位运算
介绍什么是算法
讲解冒泡、选择、插入排序
题目:
实现打印一个整数的二进制
给定一个参数N,返回1!+2!+3!+4!+…+N!的结果
实现冒泡排序
实现选择排序
实现插入排序


02 数据结构的大分类、介绍前缀和与对数器
内容:
什么是数据结构、组成各种数据结构最基本的元件
前缀和数组
随机函数
对数器的使用
题目:
实现前缀和数组
如何用1~5的随机函数加工出1~7的随机函数
如何用a~b的随机函数加工出c~d的随机函数
展示对数器的使用
如何把不等概率随机函数变成等概率随机函数


03 介绍二分法,介绍时间复杂度、动态数组、哈希表和有序表
内容:
二分法
使用二分法解决不同的题目
时间复杂度
动态数组
按值传递、按引用传递
哈希表
有序表
题目:
有序数组中找到num
有序数组中找到>=num最左的位置
有序数组中找到<=num最右的位置
局部最小值问题
哈希表使用的code讲解
有序表使用的code讲解


04 链表相关的简单面试题
内容:
单双链表的定义
栈、队列
双端队列
题目:
反转单链表
反转双链表
用单链表实现队列
用单链表实现栈
用双链表实现双端队列
K个节点的组内逆序调整问题:
给定一个单链表的头节点head,和一个正数k
实现k个节点的小组内部逆序,如果最后一组不够k个就不调整
例子: 
调整前:1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8,k = 3
调整后:3 -> 2 -> 1 -> 6 -> 5 -> 4 -> 7 -> 8
两个链表相加问题
给定两个链表的头节点head1和head2,
认为从左到右是某个数字从低位到高位,返回相加之后的链表
例子     4 -> 3 -> 6        2 -> 5 -> 3
返回     6 -> 8 -> 9
解释     634 + 352 = 986
两个有序链表的合并
给定两个有序链表的头节点head1和head2,
返回合并之后的大链表,要求依然有序
例子     1 -> 3 -> 3 -> 5 -> 7   2 -> 2 -> 3 -> 3-> 7
返回     1 -> 2 -> 2 -> 3 -> 3 -> 3 -> 3 -> 5 -> 7


05 位图、位运算实现加减乘除
内容:
位图
位运算使用的进一步学习:实现加减乘除
题目:
现场写位图的code、讲解
位运算的加减乘除


06 比较器、优先级队列、二叉树
内容:
比较器
优先级队列
二叉树的基本遍历
二叉树的递归套路
题目:
补充了一个链表的题目
合并多个有序链表
Leetcode原题,https://leetcode.com/problems/merge-k-sorted-lists
判断两颗树是否结构相同
Leetcode原题,https://leetcode.com/problems/same-tree
判断一棵树是否是镜面树
Leetcode原题,https://leetcode.com/problems/symmetric-tree
返回一棵树的最大深度
Leetcode原题,https://leetcode.com/problems/maximum-depth-of-binary-tree
用先序数组和中序数组重建一棵树
Leetcode原题,https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversalcode展示比较器的使用
二叉树先序、中序、后序遍历的代码实现、介绍递归序


07 继续二叉树的很多题目
内容:
进一步讲解二叉树题目,来熟悉二叉树
题目:
二叉树按层遍历并收集节点
Leetcode原题,https://leetcode.com/problems/binary-tree-level-order-traversal-ii
判断是否是平衡搜索二叉树
Leetcode原题,https://leetcode.com/problems/balanced-binary-tree
在二叉树上能否组成路径和
Leetcode原题,https://leetcode.com/problems/path-sum
在二叉树上收集所有达标的路径和
Leetcode原题,https://leetcode.com/problems/path-sum-ii
判断二叉树是否是搜索二叉树


08 介绍归并排序和快速排序
内容:
讲解一个位运算的题目
归并排序
快速排序
题目:
不要用任何比较判断,返回两个数中较大的数
归并排序的递归实现和非递归实现
快速排序的递归实现和非递归实现


如果需要使用翻墙软件或梯子的,可以从天佑云购买,价格低、服务好!

直达链接:https://www.168698.xyz

 

推荐使用国产WPS办公软件,最适合国人使用习惯的办公套件!点击这里的红字!!!!免费账号分享


易优资源 » 算法和数据结构新手班 左神算法课 【马士兵教育】
© 2023 Theme by - 易优资源 & All rights reserved