【大总结1】数据结构与传统算法总结_floyd算法求最短路径

由于时间和水平有限,肯定有错误或者写得不好的地方

欢迎在文章下评论指出。

涉及语言:

py3:注重算法本身的知识

c/c++:实现基础数据结构和算法

java:实现较复杂数据结构


一、概述


c语言知识体系

算法体系参考


课上笔记1(复习c、课程概述)

课上笔记2(基本概念、时空复杂度)

时空复杂度

浅析P/NP/NPC

引入:算法优化


提高篇

基础动态规划

摔手机:借一道水题打开思路


二、线性表

笔记:

课上笔记3(线性表及顺序表示)

课上笔记5(链表概述)

课上笔记6(链表选讲、静态链表)

作业1讲解(最大子数组二维多维)

基础代码实现:

顺序存储实现(静/动)

单链表不带头(标准实现)

单链表不带头(压缩代码)

双链表带头

应用:

约瑟夫环(顺序、链式、数学)

线性表表示集合

线性表表示一元多项式

链表环相关问题

链表coding能力练习:归并排序

LRU介绍和实现


提高篇

链表coding能力练习:相交问题


三、栈和队列

笔记:

课上笔记7(栈、队列基础)

基础代码实现:

数组实现栈

链表实现栈

数组实现队列(易懂实现循环)

链表实现队列

双栈

栈和队列的互相模拟

应用:

栈排序

括号匹配

表达式求值

简单迷宫问题

借汉诺塔理解栈与递归

手动维护栈实现二叉树三种遍历

深搜、广搜与栈、队列

相关算法:

单调栈

单调双端队列


提高篇

双端队列优化的背包问题


四、串

笔记:

课上笔记8(串基础)

基础代码实现:

串的定长表示

串的堆分配

为何py整数不会溢出

c语言文件操作

相关算法:

一文读懂KMP

一文读懂Manacher

KMP题集1

KMP题集2

KMP+DP入门

字符串上的动态规划

前缀树

后缀树/后缀数组概述

AC自动机


五、数组和广义表

注:题目慢慢添加

笔记:

课上笔记9(数组、广义表)

部分题目实现:

二维数组基操四连

数组基本操作三连(1)

数组基本操作三连(2)

数组基本操作三连(3)

数组基本操作三连(4)

数组精选操作(5)

数组精选操作(6)

应用:

2048小游戏实现

吃豆人

贪吃蛇


六、树

笔记:

课上笔记10(树和二叉树概述)

二叉树概述

课上笔记11(满二叉树、完全二叉树)

课上笔记12(二叉树存储与遍历)

课上笔记13(树的存储)

基础代码实现:

理解二叉树遍历

二叉树序列化/反序列化

先序中序后序两两结合重建二叉树

先序中序数组推后序数组

直观打印二叉树

根据数组建立平衡二叉搜索树

平衡二叉树的判断

完全二叉树的判断

搜索二叉树的判断

二叉树最长路径

时间低于O(N)求完全二叉树结点个数

应用:

二叉搜索树

堆应用例题三连

并查集

并查集入门题集

线段树

树状数组

相关算法:

最大搜索子树

morris遍历 空间O(1)


七、图

笔记:

课上笔记14(图基础)

课上笔记15(存储、遍历)

基础:

最小生成树

拓扑排序

最短路

相关算法:

迷宫

棋盘简单深搜广搜

皇后问题(位运算)

旅行商问题(认识状态压缩)


八、动态存储


九、查找

基础代码实现:

二分及拓展

二叉搜索树实现

数组建立二叉搜索树

自平衡二叉搜索树

AVL Tree

相关算法:

HashMap记录的动态规划

跳表介绍和实现


十、排序

基础代码实现:

八种排序

相关算法:

快排-荷兰国旗

快排-前m大元素

归并-求逆序数

桶思想-相邻数最大差值

堆应用例题三连

BFPRT

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值