【大总结1】数据结构与传统算法总结

网友投稿 672 2022-05-29

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

欢迎在文章下评论指出。

涉及语言:

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(树的存储)

基础代码实现:

理解二叉树遍历

二叉树序列化/反序列化

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

先序中序数组推后序数组

直观打印二叉树

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

平衡二叉树的判断

【大总结1】数据结构与传统算法总结

完全二叉树的判断

搜索二叉树的判断

二叉树最长路径

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

应用:

二叉搜索树

堆应用例题三连

并查集

并查集入门题集

线段树

树状数组

相关算法:

最大搜索子树

morris遍历 空间O(1)

七、图

笔记:

课上笔记14(图基础)

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

基础:

最小生成树

拓扑排序

最短路

相关算法:

迷宫

棋盘简单深搜广搜

皇后问题(位运算)

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

八、动态存储

九、查找

基础代码实现:

二分及拓展

二叉搜索树实现

数组建立二叉搜索树

自平衡二叉搜索树

AVL Tree

相关算法:

HashMap记录的动态规划

跳表介绍和实现

十、排序

基础代码实现:

八种排序

相关算法:

快排-荷兰国旗

快排-前m大元素

归并-求逆序数

桶思想-相邻数最大差值

堆应用例题三连

BFPRT

二叉树 数据结构

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Gaussdb T 分布式集群升级示例
下一篇:python基础小白题2
相关文章